Decoding the message bit field 0x0700 #123
Replies: 2 comments 9 replies
-
|
hmm, I'm not sure if I understand... you say if so, then it would be 0xeb 0000000000000000000000000000000000000000000000000000000000400000 so at least the "3 bits 'further right'" applies to both values, right? I 'produced' the 64-digits strings by according to ChatGPT the 'inverse' funktion would be then you finally would need to add 3 to the return value and you should have your error/warning 'code'? |
Beta Was this translation helpful? Give feedback.
-
|
No, I think 8000000...... would be error code 01, 40000000...... would be error code 02, 2000000...... would be error code 03 and C8000000 would be error code 01, error code 02 and error code 05 |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Does anyone now how to correctly decode the WPR3_0700_MeldungsBitfeld 0x0700 (32 bytes). The warnings and error messages are numbered from 01 to FF. For each active message the corresponding bit (1-based) in this datapoint is set. However I cannot get the result right.
Optolink-switch delivers this datapoint as a hexadecimal string:
For warning D5, Humidistat closed, this gives
"0000000000000000000000000000000000000000000000000000200000000000"
For error EE, Loss of communication with a KM-Bus device, it gives:
"0000000000000000000000000000000000000000000000000000000000400000"
However instead of D5 I get D3 and instead of EE I get EA as can be illustrated with this Python program (a lot easier then counting bits):
or this program in the Home Assistant template language:
So one is shifted two bits down and the orther is shifted 4 bits down. I don't know how to handle this.
Beta Was this translation helpful? Give feedback.
All reactions