burrow/heating/circuit2/room-temp
burrow/heating/circuit2/active 0/1
burrow/heating/water/active 0/1
+burrow/heating/error %04x [error code from message 0500:006b]
+burrow/heating/clock yyyy-mm-dd hh:mm
bsb/stats/*
bsb/frame hex dump of raw frames received
Error/warning code
- 69 05 seen so far: 6905 (low pressure?), 8509 (no gas?), 6208 (ignition timeout?), 0000 (OK)
+ 69 05 seen so far: 6905 (low pressure?), 8509 (no gas?), 6208 (ignition timeout?), 7606 (very low pressure), 0000 (OK)
00 -> 7f INFO 0500009b
00 -> 7f INFO 0500:0213:
- 14 00/04/14, 02 (low pressure warning?), 09/0b (during no gas errors), 08/43/40 (during boot)
+ 14 00/04/14, 02 (low pressure warning?), 0b (low pressure error), 09/0b (during no gas errors), 08/43/40 (during boot)
00 00 5b
00 -> 7f: INFO 0500:0219
00 02 71
+ or: 00 02 36 (low pressure error)
+
06 -> 00 QUERY 053d009a
00 -> 06 ANSWER 053d009a
00 85 09 00 68 00 00 00 00 00 00 00
+ or: 00 76 06 00 40 01 00 00 00 00 00 00 (low pressure error)
+
07 -> 00 QUERY 053d009c
00 -> 07 ANSWER 053d009c:
len -= 4;
switch (addr) {
+ case 0x0500006b:
+ if (len >= 2) {
+ int err = get_u16_be(p);
+ mqtt_publish("burrow/heating/error", "%04x", err);
+ }
+ break;
+ case 0x0500006c:
+ if (len >= 7) {
+ mqtt_publish("burrow/heating/clock", "%04d-%02d-%02d %02d:%02d",
+ get_u16_be(p) + 1900, p[2], p[3],
+ p[5], p[6]);
+ }
+ break;
case 0x05000219:
if (len >= 4) {
int temp = get_s16_be(p);