Skip to content

0418: System Fault Log

brucemiranda edited this page Jan 21, 2020 · 18 revisions
Description: Request and return fault log entries from the controller
Examples: --- RQ --- HGI CTL --:------ 0418 003 000000
--- RP --- CTL HGI --:------ 0418 022 000000B0040201000000C29393117FFFFF7000139B30
--- I --- CTL --:------ CTL 0418 022 004000B0040000000000B5139E9B7FFFFF7000000001
Payload decode:
Unknown [0:2] 00 Unknown
Entry Type [2:4] (00=Fault,0x40=Restore)
Entry Number [4:6] Fault log entry number
Unknown [6:8] fixed value 0xB0
Error Type [8:10] e.g. 0x04 Battery Low, 0x06 Comms Fault
Zone/Device [10:12] (0-0xA, 0xFC etc)
Device Type [12:14] (1=Actuator,4=Sensor)
Unknown [14:18]
Date Time [18:30]
Unknown [30:38] fixed value 0xFFFF7000
Device ID [38:44]

Date Time Stamp conversion from Hex to Readable.

return dt(
    year=(_seqx & 0b1111111 << 24) >> 24,
    month=(_seqx & 0b1111 << 36) >> 36,
    day=(_seqx & 0b11111 << 31) >> 31,
    hour=(_seqx & 0b11111 << 19) >> 19,
    minute=(_seqx & 0b111111 << 13) >> 13,
    second=(_seqx & 0b111111 << 7) >> 7,
).strftime("%Y-%m-%d %H:%M:%S")

When: _seqx = int(payload[18:30], 16)

Clone this wiki locally