zxdavb / ramses_rf

An interface for the RAMSES RF protocol, as used by Honeywell-compatible HVAC & CH/DHW systems.
MIT License
55 stars 15 forks source link

0.30.0: Orcon 31D9 AssertionError #76

Open tomkooij opened 1 year ago

tomkooij commented 1 year ago

My Orcon SmartComfort zone valve (connected to the FAN, acts like a fan, can pair with remotes etc, so should be and is a FAN entity) sends a pair of 31D9 messages every 15 minutes:

2023-03-20T06:30:47.347397 066  I 123 32:132403 --:------ 32:132403 31D9 017 00-04030020202020202020202020202004
2023-03-20T06:30:47.442439 064  I 124 32:132403 --:------ 32:132403 31D9 017 01-04030020202020202020202020202004

Note that the second (always) has zone/idx 01. This throws an AssertionError in: https://github.com/zxdavb/ramses_rf/blob/master/ramses_rf/protocol/message.py#L219

I'm not sure how to fix this...

My ramses_cc config:

ramses_cc:
  serial_port: /dev/ttyACM0 # SSM-D2
  orphans_hvac: [32:134446, 37:123456, 32:132403, 37:005302, 37:005608, 37:171685, 29:162275, 18:203011, 02:250708]
  restore_cache: true

  packet_log:
    file_name: packet.log
    rotate_backups: 100

  known_list:
    32:134446: {class: FAN}               # WTW HRC400
    32:132403: {class: FAN}               # zone valve unit
    37:005302: {class: CO2}               # CO2 woonkamer
    37:005608: {class: CO2}               # CO2 slaapkamer
    37:171685: {class: DIS}               # RF15 display
[...]
tomkooij commented 1 year ago

I noticed the same device 32:132403 can also send 10D0 (filter change) packets stating with 01:

2023-03-20T02:31:58.765309 000 RQ --- 18:203011 32:132403 --:------ 10D0 001 00
2023-03-20T02:31:58.787245 063 RQ --- 32:132403 32:134446 --:------ 10D0 006 000CB40E0000
2023-03-20T02:31:58.810978 072 RP --- 32:134446 32:132403 --:------ 10D0 006 000CB40E0000
2023-03-20T02:31:58.872807 063 RP --- 32:132403 32:105848 --:------ 10D0 006 000CB40E0000
2023-03-20T02:31:58.947066 062 RP --- 32:132403 32:105844 --:------ 10D0 006 010CB40E0000

This is my SSM-D2 requesting filter change, this request is then relayed by the 132403 valve/zone unit to the main fan 134446. But 123403 also replies to 32:105848 and 32:105844 (not an RF error, I have a bunch of these packets). I do not know these devices. I have no other packets from/to these devices in my log.

The last one does throw the AssertionError.