Here is the spec, but i was expecting that RFXCom would provide the data you see parsed = in some way to FHEM.. at least for Domoticz it works this way, you only assign a sensor type to the data you get from RFXCom
Here is the code
https://github.com/vlast3k/vESPrino-firm...t.cpp#L115
And this is the spec
RFXMeter RF data format.
Message length 48 bits (decimal)
Code:
| Byte 0 | Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 |
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
4 4 3 2 1
7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
< - - - - - - address - - - - > < - - - - - - - - counter value - - - - - - - > < - - > <parity>
1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 2 2 2 2 1 1 1 1 |
5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 3 2 1 0 9 8 7 6 packet type
2 bytes address. Byte 2 = byte 1 with the complement of the upper nibble (bit 7-4). This way max 256 metering modules can be used.
Counter value for an RFXPwr module measures with an accuracy of 0.001kWh and thus a value from 0 to 16777.215 kWh.
Packet type:
0000 normal data packet
0001 new interval time set.
Byte 2 0x01 30 seconds
0x02 1 minute
0x04 6 minutes (RFXPower = 5 minutes)
0x08 12 minutes (RFXPower = 10 minutes)
0x10 15 minutes
0x20 30 minutes
0x40 45 minutes
0x80 60 minutes
0010 calibrate value in <counter value> in µsec.
0011 new address set
0100 counter value reset to zero
1011 counter value set
1100 set interval mode within 5 seconds
1101 calibration mode within 5 seconds
1110 set address mode within 5 seconds
1111 identification packet
Byte 2 = firmware version
0x00 – 0x3F = RFXPower
0x40 – 0x7F = RFU
0x80 – 0xBF = RFU
0xC0 – 0xFF = RFXMeter
Byte 3 = interval time (see packet type 0001)
4 bits parity. This is the complement of:
byte 0 bit 7-4 + byte 0 bit 3-0 + byte 1 bit 7-4 + byte 1 bit 3-0
+ byte 2 bit 7-4 + byte 2 bit 3-0 + byte 3 bit 7-4 + byte 3 bit 3-0
+ byte 4 bit 7-4 + byte 4 bit 3-0 + byte 5 bit 7-4