Closed dennisvbussel closed 1 year ago
Welcome!
Have you tried python -O client.py listen COM13
- the -O
turns off the Asserts.
Have you read: https://github.com/zxdavb/ramses_rf/issues/29
It is a matter of tweaking the code: ramses_rf, then evohome_cc.
Start by sending me some packet logs.
Hi,
Thank you for your quick reply. I tuned off the Asserts and had some fun with my thermostat/ventilation:
I ran the following sequence starting from speed 2: Speed 2 -> Speed 3 -> Speed 3 (10min) -> Speed 3 -> (20min) -> Speed 3 -> (30min)
Looking at the log data i clearly see the responses:
15:20:54.976 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3', 'exhaust_fan_speed': 0.4, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 167.5, 'exhaust_flow': 167.5}
15:20:54.976 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3', 'exhaust_fan_speed': 0.4, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 167.5, 'exhaust_flow': 167.5}
15:20:55.022 I --- 21:038634 18:126620 --:------ 22F1 003 000407 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F1 (will be ignored)
15:20:55.053 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3', 'exhaust_fan_speed': 0.4, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 167.5, 'exhaust_flow': 167.5}
15:20:55.053 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3', 'exhaust_fan_speed': 0.4, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 167.5, 'exhaust_flow': 167.5}
15:20:55.084 RQ --- 21:038634 18:126620 --:------ 31DA 001 00 << Corrupt packet: Invalid code for 21:038634 to Tx: 31DA (will be ignored)
15:20:55.115 || HGI:126620 | 21 :038634 | RP | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3', 'exhaust_fan_speed': 0.4, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 167.5, 'exhaust_flow': 167.5}
15:20:55.115 || HGI:126620 | 21 :038634 | RP | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3', 'exhaust_fan_speed': 0.4, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 167.5, 'exhaust_flow': 167.5}
15:20:58.212 I --- 21:038634 18:126620 --:------ 22F3 007 00000A00000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:20:58.244 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.5, 'supply_fan_speed': None, 'remaining_time': 10, 'post_heat': None, 'pre_heat': None, 'supply_flow': 171.9, 'exhaust_flow': 171.9}
15:20:58.244 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.5, 'supply_fan_speed': None, 'remaining_time': 10, 'post_heat': None, 'pre_heat': None, 'supply_flow': 171.9, 'exhaust_flow': 171.9}
15:20:58.290 I --- 21:038634 18:126620 --:------ 22F3 007 00000A00000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:20:58.336 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.5, 'supply_fan_speed': None, 'remaining_time': 10, 'post_heat': None, 'pre_heat': None, 'supply_flow': 171.9, 'exhaust_flow': 171.9}
15:20:58.337 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.5, 'supply_fan_speed': None, 'remaining_time': 10, 'post_heat': None, 'pre_heat': None, 'supply_flow': 171.9, 'exhaust_flow': 171.9}
15:20:58.383 I --- 21:038634 18:126620 --:------ 22F3 007 00000A00000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:20:58.414 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.5, 'supply_fan_speed': None, 'remaining_time': 10, 'post_heat': None, 'pre_heat': None, 'supply_flow': 171.9, 'exhaust_flow': 171.9}
15:20:58.414 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.5, 'supply_fan_speed': None, 'remaining_time': 10, 'post_heat': None, 'pre_heat': None, 'supply_flow': 171.9, 'exhaust_flow': 171.9}
15:20:59.725 I --- 21:038940 --:------ 21:038940 3110 004 00006F10 << Corrupt packet: Unknown verb/code pair: I/3110 (will be ignored)
15:21:00.773 I --- 21:038634 18:126620 --:------ 22F3 007 00001400000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:21:00.819 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.66, 'supply_fan_speed': None, 'remaining_time': 20, 'post_heat': None, 'pre_heat': None, 'supply_flow': 182.5, 'exhaust_flow': 182.5}
15:21:00.819 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.66, 'supply_fan_speed': None, 'remaining_time': 20, 'post_heat': None, 'pre_heat': None, 'supply_flow': 182.5, 'exhaust_flow': 182.5}
15:21:00.850 I --- 21:038634 18:126620 --:------ 22F3 007 00001400000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:21:00.881 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.66, 'supply_fan_speed': None, 'remaining_time': 20, 'post_heat': None, 'pre_heat': None, 'supply_flow': 182.5, 'exhaust_flow': 182.5}
15:21:00.881 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.66, 'supply_fan_speed': None, 'remaining_time': 20, 'post_heat': None, 'pre_heat': None, 'supply_flow': 182.5, 'exhaust_flow': 182.5}
15:21:00.928 I --- 21:038634 --:------ 21:038634 3110 004 00004E10 << Corrupt packet: Unknown verb/code pair: I/3110 (will be ignored)
15:21:01.005 I --- 21:038634 18:126620 --:------ 22F3 007 00001400000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:21:01.052 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.66, 'supply_fan_speed': None, 'remaining_time': 20, 'post_heat': None, 'pre_heat': None, 'supply_flow': 182.5, 'exhaust_flow': 182.5}
15:21:01.052 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.42, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.66, 'supply_fan_speed': None, 'remaining_time': 20, 'post_heat': None, 'pre_heat': None, 'supply_flow': 182.5, 'exhaust_flow': 182.5}
15:21:03.486 I --- 21:038634 18:126620 --:------ 22F3 007 00001E00000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:21:03.517 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.83, 'supply_fan_speed': None, 'remaining_time': 30, 'post_heat': None, 'pre_heat': None, 'supply_flow': 191.7, 'exhaust_flow': 191.7}
15:21:03.518 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.83, 'supply_fan_speed': None, 'remaining_time': 30, 'post_heat': None, 'pre_heat': None, 'supply_flow': 191.7, 'exhaust_flow': 191.7}
15:21:03.564 I --- 21:038634 18:126620 --:------ 22F3 007 00001E00000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:21:03.641 I --- 21:038634 18:126620 --:------ 22F3 007 00001E00000000 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
15:21:03.688 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.83, 'supply_fan_speed': None, 'remaining_time': 30, 'post_heat': None, 'pre_heat': None, 'supply_flow': 191.7, 'exhaust_flow': 191.7}
15:21:03.688 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.96, 'supply_temperature': 11.76, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.4, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 3 temporary override', 'exhaust_fan_speed': 0.83, 'supply_fan_speed': None, 'remaining_time': 30, 'post_heat': None, 'pre_heat': None, 'supply_flow': 191.7, 'exhaust_flow': 191.7}
15:21:06.198 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.97, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.38, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 1', 'exhaust_fan_speed': 0.93, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 207.7, 'exhaust_flow': 207.7}
15:21:06.198 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 12.97, 'supply_temperature': 11.76, 'indoor_temperature': 19.94, 'outdoor_temperature': 11.38, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 1', 'exhaust_fan_speed': 0.93, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 207.7, 'exhaust_flow': 207.7}
15:21:06.244 I --- 21:038634 18:126620 --:------ 22F1 003 000207 << Corrupt packet: Invalid code for 21:038634 to Tx: 22F1 (will be ignored)
15:21:06.352 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 13.0, 'supply_temperature': 11.71, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.38, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 1', 'exhaust_fan_speed': 0.94, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 214.9, 'exhaust_flow': 214.9}
15:21:06.352 || HGI:126620 | | I | vent_31da | || {'air_quality': 1.2, 'air_quality_base': 0, 'co2_level': None, 'indoor_humidity': None, 'outdoor_humidity': None, 'exhaust_temperature': 13.0, 'supply_temperature': 11.71, 'indoor_temperature': 19.91, 'outdoor_temperature': 11.38, 'speed_cap': 16384, 'bypass_pos': 1.0, 'fan_info': 'speed 1', 'exhaust_fan_speed': 0.94, 'supply_fan_speed': None, 'remaining_time': 0, 'post_heat': None, 'pre_heat': None, 'supply_flow': 214.9, 'exhaust_flow': 214.9}
Id's 22f1 and 22f3 gives te follwoing error and are manually decodeable:
Corrupt packet: Invalid code for 21:038634 to Tx: 22F3 (will be ignored)
22F1 003 000407
ID: 22f1 controls ventilation speed
22F3 007 00001400000000
ID: 22f3 controls timed ventilation speed
I eventually also want the now controlled by the button on the thermostat id [22f1] and [22f3] controlled using HomeAssistant if possible.
I feel like i'm nearly there :)
I have multiple RF remotes for my Itho ventilation unit. The remotes send id 22F1 with the following data for the various modes:
The ventilation unit itself reports its status using id 31d9 with the following data:
I believe all this has been addressed - so am closing this issue - please comment below if I am wrong.
First of all, my complements on the amount of work done in this and in the accompanying repositories.
At home I have an Itho HVAC system which I eventually want to integrate in my home automation system (homeassistant). My ventilation unit (HRU ECO 300) is rf-coupled with my thermostat (Spider). Remote control works fine and if I control the ventilation locally using a 3-way switch then the thermostat correctly updates its ventilation state. This way I know that my ventilation unit is broadcasting it's state, next step is receive and decode this information.
As hardware I use a Arduino pro Micro in combination with CC1101 868MHz Module flashed with evofw3 Version 0.7.0.
The following command is used to eavesdrop the ventilation packets:
python client.py listen COM13
The following packet contains the information I need to retrieve the status of my ventilation unit:
Took a while to decode this message by hand:
My goal is to eventually get these values into HomeAssistant using evohome_cc. Can you help me overcome the error above and point me into the right direction getting this into HomeAssistant?
Thanks in advance!