I’ve dug a bit deeper. After connecting the RFXtrx443XL to my Windows laptop and using RFXmngr.exe, I’ve looked at the various messages that my sensors (PIR, Door, Control) produce:
Every message contains a set of 9 hexes, as can be seen in my previous post. I’ll refer to the following message as an example:
0 1 2 3 4 5 6 7 8
0x08 0x20 0x00 0x07 0x5c 0xbc 0x20 0x04 0x79
Hexes 0, 1, and 2 are always 0x082000, which I guess means their supplier’s code or something.
Hex 3 contains the sequence number. My example shows this as 0x07, meaning the 7th message. This number auto increments regardless of what sensor is activated, and in what order. Are all sensors aware of each other (this seems unlikely to me) or is this the RFXtrx433XL that simply dictates this number and supplies it?
Hex 4 to 6 contain the device’s actual id. In the example, this is 5cbc20. This value never changes per sensor. The final 2 hexes, 7 and 8, contain the status code (hex 7) and the signal level + battery level (hex 8).
Assuming that I need to add the PIR as a binary sensor, and with the above information and the code by @y-pollart that appears to have been merged into the current version of HA (and which has since been refactored somewhat) I guess the useful data to connect the PIR on are a combination of all hexes after masking hexes 3, 7 and 8. I’ve noticed the data-bits property that can be set for a sensor, as well as the cmd_on and cmd_off values.
For posterity and completeness sake, I’ve noticed these values and their meanings for Hex 7:
0x02 > Alarm (door sensor open)
0x04 > Motion (PIR sensor detecting movement)
0x82 > Alarm + Tamper (PIR sensor case physically opened)
0x06 > Panic (remote control panic button)
0x09 > Arm Away (remote control away button)
0x0B > Arm Home (remote control home button)
0x0D > Disarm (remote control disarm button)
Does data_bits support masking of hex 3, or is this possible in some other way? I’m willing to fork the repo and code it myself if this is currently not possible.