I purchased some generic 433MHz door contacts, which are connected via rtl_433, and published to mqtt via JSON.
I have them working in HA, but I’m wondering if anyone has a reference for what the data they send (specifically tristate and cmd) means?
I have four sensors, and two happen to have the same ID. Here’s the 4 of them each sending on (open):
{"time":"2021-07-20 23:33:50","model":"Generic-Remote","id":10558,"cmd":99, "tristate":"0XXZ011XZX01"}
{"time":"2021-07-20 23:35:38","model":"Generic-Remote","id":10566,"cmd":179,"tristate":"0XXZZ0ZXX101"}
{"time":"2021-07-20 23:32:59","model":"Generic-Remote","id":10884,"cmd":147,"tristate":"0XXXX0Z0XZ01"}
{"time":"2021-07-20 23:40:34","model":"Generic-Remote","id":10884,"cmd":131,"tristate":"0XXXX0Z0X001"}
and off (closed):
{"time":"2021-07-20 23:35:10","model":"Generic-Remote","id":10558,"cmd":105,"tristate":"0XXZ011XZXXZ"}
{"time":"2021-07-20 23:35:53","model":"Generic-Remote","id":10566,"cmd":185,"tristate":"0XXZZ0ZXX1XZ"}
{"time":"2021-07-20 23:33:12","model":"Generic-Remote","id":10884,"cmd":153,"tristate":"0XXXX0Z0XZXZ"}
{"time":"2021-07-20 23:41:08","model":"Generic-Remote","id":10884,"cmd":137,"tristate":"0XXXX0Z0X0XZ"}
It’s interesting to see laid out another way:
| ID 10558 | ID 10566 | ID 10884 | ID 10884 | |
|---|---|---|---|---|
| tristate ON | 0XXZ011XZX01 |
0XXZZ0ZXX101 |
0XXXX0Z0XZ01 |
0XXXX0Z0X001 |
| tristate OFF | 0XXZ011XZXXZ |
0XXZZ0ZXX1XZ |
0XXXX0Z0XZXZ |
0XXXX0Z0X0XZ |
| cmd ON | 0x63 |
0xB3 |
0x93 |
0x83 |
| cmd OFF | 0x69 |
0xB9 |
0x99 |
0x89 |
-
tristateending in01seems to be ON, and ending inXZis off … but I don’t know what the rest means.- Anything else useful encoded in there, like “battery low”?
- For
cmd,0x3seems to be on and0x9is off - The the first nibble of
cmdis at constant for the sensor – but what’s the purpose of this?- This worked out for me in that I can tell the difference between the two sensors with the same id… but if that’s the purpose, why not just make the ID bigger?
Has anyone worked out what everything in tristate actually means? Any ideas on what’s going on with cmd?
