Iâm trying to set up the HVAC for my father in law through this. I have it all connected in HA but it I have two main issues:
- . It only shows up as devices and not as entities / data or controls. I turned on logging and it does parse quite a lot. However it does throw a parsing error every 20-25 lines.
2024-10-19 11:42:33.448 ERROR (MainThread) [ramses_tx.message] W --- 29:238228 29:238219 --:------ 4E04 003 00007F < AssertionError()
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/ramses_tx/message.py", line 255, in _validate
result = parse_payload(self)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_tx/parsers.py", line 2938, in parse_payload
result = _PAYLOAD_PARSERS.get(msg.code, parser_unknown)(msg._pkt.payload, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_tx/parsers.py", line 2766, in parser_4e04
assert int(payload[4:], 16) < 0x40 or payload[4:] in (
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
2024-10-19 11:42:33.524 ERROR (MainThread) [ramses_tx.message] I --- 29:238219 29:238228 --:------ 4E04 003 00007F < AssertionError()
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/ramses_tx/message.py", line 255, in _validate
result = parse_payload(self)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_tx/parsers.py", line 2938, in parse_payload
result = _PAYLOAD_PARSERS.get(msg.code, parser_unknown)(msg._pkt.payload, msg)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/ramses_tx/parsers.py", line 2766, in parser_4e04
assert int(payload[4:], 16) < 0x40 or payload[4:] in (
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AssertionError
2024-10-19 11:42:49.276 INFO (MainThread) [ramses_rf.dispatcher] || 29:238228 | | I | ufc_demand | || {'mode': 'heating', 'demand': 0.0}
2024-10-19 11:42:59.307 INFO (MainThread) [ramses_rf.dispatcher] || | 29:238219 | I | opentherm_sync | || {'ticker': 20348}
2024-10-19 11:43:05.091 INFO (MainThread) [ramses_rf.dispatcher] || | 29:238228 | I | opentherm_sync | || {'ticker': 26576}
2024-10-19 11:43:06.332 INFO (MainThread) [ramses_rf.dispatcher] || 37:066933 | 37:097904 | RQ | unknown_4401 | (10) || {'last_update_dst': '00', 'time_dst': '1970-09-06 03:56:57', '_unknown_12': '00', 'time_src': None, 'offset': '00', '_unknown_24': '00', 'last_update_src': '00', 'time_dst_receive_src': None, '_unknown_36': '00', 'hops_dst_src': '63'}
2024-10-19 11:43:09.084 WARNING (MainThread) [ramses_tx.message] W --- 21:033261 29:238228 --:------ 22D0 008 0304001E14030020 < Packet idx is 03, but expecting no idx (00) (0xAB)
2024-10-19 11:43:09.147 WARNING (MainThread) [ramses_tx.message] I --- 29:238228 21:033261 --:------ 22D0 004 03010000 < Packet idx is 03, but expecting no idx (00) (0xAB)
2024-10-19 11:43:09.258 INFO (MainThread) [ramses_rf.dispatcher] || 21:033261 | | I | actuator_state | (02) || {'modulation_level': 0.0, '_flags_2': '00', '_flags_3': [0, 0, 0, 0, 0, 0, 0, 0], 'ch_active': False, 'dhw_active': False, 'cool_active': False, 'flame_on': False, '_unknown_4': '02', '_unknown_5': '00'}
2024-10-19 11:43:09.259 INFO (MainThread) [ramses_rf.dispatcher] || 21:033261 | | I | ufc_demand | || {'mode': 'heating', 'demand': 0.0}
2024-10-19 11:43:10.031 INFO (MainThread) [ramses_rf.dispatcher] || 29:238228 | | I | message_22d0 | 00 || {'idx': '00', '_flags': [0, 0, 0, 0, 0, 0, 0, 1], 'cool_mode': False, 'heat_mode': False, 'is_active': False, '_unknown': '0000'}
2024-10-19 11:43:12.009 INFO (MainThread) [ramses_rf.dispatcher] || 29:238228 | | I | message_22d0 | 00 || {'idx': '00', '_flags': [0, 0, 0, 0, 0, 0, 0, 1], 'cool_mode': False, 'heat_mode': False, 'is_active': False, '_unknown': '0000'}
2024-10-19 11:43:18.798 INFO (MainThread) [ramses_rf.dispatcher] || 21:033261 | | I | temperature | || {'temperature': 21.91}
2024-10-19 11:43:18.953 WARNING (MainThread) [ramses_tx.message] W --- 21:033261 29:238228 --:------ 22C9 006 03086608CA01 < Packet idx is 03, but expecting no idx (00) (0xAB)
2024-10-19 11:43:18.956 INFO (MainThread) [ramses_rf.dispatcher] || 21:033261 | | I | setpoint_bounds | || {'mode': 'heat', 'setpoint_bounds': (21.5, 22.5)}
2024-10-19 11:43:19.011 WARNING (MainThread) [ramses_tx.message] I --- 29:238228 21:033261 --:------ 22C9 008 0308667FFF010103 < Packet idx is 03, but expecting no idx (00) (0xAB)
2024-10-19 11:43:30.282 INFO (MainThread) [ramses_rf.dispatcher] || | 37:066933 | I | unknown_10e2 | || {'counter': 47576}
2024-10-19 11:44:16.065 INFO (MainThread) [ramses_rf.dispatcher] || | 37:078035 | I | unknown_10e2 | || {'counter': 48476}
2024-10-19 11:44:24.593 INFO (MainThread) [ramses_rf.dispatcher] || 21:063313 | | I | temperature | || {'temperature': 21.55}
2024-10-19 11:44:24.821 WARNING (MainThread) [ramses_tx.message] I --- 29:238219 21:063313 --:------ 22C9 008 04076C7FFF010103 < Packet idx is 04, but expecting no idx (00) (0xAB)
2024-10-19 11:44:24.993 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e01 | || {'temperatures': [None, 21.55, None, None, None, None, None, None]}
2024-10-19 11:44:25.990 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e01 | || {'temperatures': [None, 21.55, None, None, None, None, None, None]}
2024-10-19 11:44:27.001 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e01 | || {'temperatures': [None, 21.55, None, None, None, None, None, None]}
2024-10-19 11:44:28.003 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e02 | || {'mode': 'heat', 'setpoint_bounds': [None, (19.0, 20.0), None, None, None, None, None, None]}
2024-10-19 11:44:28.996 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e02 | || {'mode': 'heat', 'setpoint_bounds': [None, (19.0, 20.0), None, None, None, None, None, None]}
2024-10-19 11:44:29.984 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e02 | || {'mode': 'heat', 'setpoint_bounds': [None, (19.0, 20.0), None, None, None, None, None, None]}
2024-10-19 11:45:07.799 INFO (MainThread) [ramses_rf.dispatcher] || | 29:238228 | I | opentherm_sync | || {'ticker': 26577}
2024-10-19 11:45:09.806 INFO (MainThread) [ramses_rf.dispatcher] || | 29:238219 | I | opentherm_sync | || {'ticker': 20349}
2024-10-19 11:45:16.684 INFO (MainThread) [ramses_rf.dispatcher] || 21:037015 | | I | temperature | || {'temperature': 21.25}
2024-10-19 11:45:18.076 WARNING (MainThread) [ramses_tx.message] I --- 29:238219 21:037005 --:------ 22C9 008 05079E7FFF010103 < Packet idx is 05, but expecting no idx (00) (0xAB)
2024-10-19 11:45:18.785 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e01 | || {'temperatures': [None, None, 21.4, None, None, None, None, None]}
2024-10-19 11:45:19.796 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e01 | || {'temperatures': [None, None, 21.4, None, None, None, None, None]}
2024-10-19 11:45:20.778 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e01 | || {'temperatures': [None, None, 21.4, None, None, None, None, None]}
2024-10-19 11:45:21.786 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e02 | || {'mode': 'heat', 'setpoint_bounds': [None, None, (19.5, 20.5), None, None, None, None, None]}
2024-10-19 11:45:22.780 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e02 | || {'mode': 'heat', 'setpoint_bounds': [None, None, (19.5, 20.5), None, None, None, None, None]}
2024-10-19 11:45:23.782 INFO (MainThread) [ramses_rf.dispatcher] || 29:238219 | 29:238228 | I | hvac_4e02 | || {'mode': 'heat', 'setpoint_bounds': [None, None, (19.5, 20.5), None, None, None, None, None]}
2024-10-19 11:45:28.168 INFO (MainThread) [ramses_rf.dispatcher] || 37:078035 | 37:104186 | RQ | unknown_4401 | (10) || {'last_update_dst': '00', 'time_dst': '1970-08-28 03:28:31', '_unknown_12': '00', 'time_src': None, 'offset': '00', '_unknown_24': '00', 'last_update_src': '00', 'time_dst_receive_src': None, '_unknown_36': '00', 'hops_dst_src': '63'}
2024-10-19 11:45:30.278 INFO (MainThread) [ramses_rf.dispatcher] || | 37:066933 | I | unknown_10e2 | || {'counter': 47577}
I tried adding them as hvac_orphans but I found it hard to distill the devices as I would have guessed to see the CO2 sensor more clearly.
- Also adding a faked remote does not make it show up in the devices. Is it required to bind it first or should it show up already before binding?
ramses_cc:
serial_port: /dev/serial/by-id/usb-Espressif_USB_JTAG_serial_debug_unit_48:27:E2:FF:76:54-if00
packet_log:
file_name: packet.log
rotate_backups: 28
advanced_features:
send_packet: true
ramses_rf:
enable_eavesdrop: true
enforce_known_list: false
restore_cache: true
orphans_hvac:
[
18:226900,
29:123456,
29:170931,
21:033261,
29:238228,
37:123456,
32:082155,
]
known_list:
18:226900: { class: HGI }
29:170931: { class: REM }
29:123456:
class: REM
faked: true
commands:
away: " I --- 37:123456 32:082155 --:------ 22F1 003 000004"
low: " I --- 37:123456 32:082155 --:------ 22F1 003 000104"
medium: " I --- 37:123456 32:082155 --:------ 22F1 003 000204"
high: " I --- 37:123456 32:082155 --:------ 22F1 003 000304"
auto: " I --- 37:123456 32:082155 --:------ 22F1 003 000404"
timer_15mins: " I --- 37:123456 32:082155 --:------ 22F3 007 00020F03040000"
timer_30mins: " I --- 37:123456 32:082155 --:------ 22F3 007 00021E03040000"
timer_60mins: " I --- 37:123456 32:082155 --:------ 22F3 007 00023C03040000"