Your YAML looks perfect.
Have you tried to remove/ reinstall ramses_cc?
Please provide a more complete tracelog.
Your YAML looks perfect.
Have you tried to remove/ reinstall ramses_cc?
Please provide a more complete tracelog.
I have mulitple times reinstalled ramses_cc. Also remove, restart, and installed again.
Also removed also all related files in the hidden folders.
Please provide a more complete tracelog.
I may have an idea there.
What do you need? When i donāt use the known_list there is no error. But when i use the known_list i get the error like above.
Strange. This is my config in configuration.yaml
, running master:
ramses_cc:
serial_port: /dev/serial/by-id/usb-SparkFun_evofw3_atmega32u4-if00
# packet_log: packet.log
ramses_rf:
enforce_known_list: true
enable_eavesdrop: false
# restore_cache: false
# restore_schema: false
orphans_hvac:
- 32:xxxxxx
known_list:
32:xxxxxx: {class: FAN, _note: 'HRC 400'}
18:xxxxxx: {_note: 'SSM-D'}
This is not valid:
ramses_cc:
serial_port: /dev/serial/by-id...
restore_cache: false
restore_schema: false
It is either
ramses_cc:
restore_cache: true
ā¦or
ramses_cc:
restore_cache:
restore_state: true
restore_schema: true
The first example implies the latter.
Any of these can be true (default if not set/null), or false.
Or you can, for example:
ramses_cc:
restore_cache:
restore_state: true
restore_schema: false
ā¦ Another example
ramses_cc:
restore_cache: { restore_state: true, restore_schema: false }
I have exactly the same issue as you, with the " expected a list for dictionary value @" when using the known_list in the new format.
Also, when setting ārestore_cacheā to true, it doesnāt accept the new format of defining the schema (where the āschemaā keyword has been replaced by the controller ID ). It t hen complains about it being duplicate / already defined.
@zxdavb what kind of trace exactly would you like? I am using 0.20.15a and am mainly integrating with my Evohome system (Evohome WIFI as controller), although there also is some Itho HVAC stuff āin the airā, but that system is handled by a different integration.
I will be looking at this early next week.
Just wanted to inform you that Iām on 0.20.15a now and Iām still experiencing the issue where my zone entities are becoming Unknown after a couple of days. It looks like it fixes itself sometimes - but sometimes it doesnāt until I restart home assistant.
Whatās also funny is that it still reports a temperature even though the state is set to Unknown.
I found a log message from around the time it stopped working:
This error originated from a custom integration.
Logger: homeassistant
Source: custom_components/ramses_cc/climate_heat.py:138
Integration: RAMSES RF (documentation, issues)
First occurred: August 15, 2022 at 11:55:01 PM (1 occurrences)
Last logged: August 15, 2022 at 11:55:01 PM
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 519, in async_update_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 570, in _async_write_ha_state
state = self._stringify_state(available)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 538, in _stringify_state
if (state := self.state) is None:
File "/usr/src/homeassistant/homeassistant/components/climate/__init__.py", line 217, in state
if self.hvac_mode is None:
File "/config/custom_components/ramses_cc/climate_heat.py", line 138, in hvac_mode
if self._device.tcs.system_mode[CONF_SYSTEM_MODE] == SystemMode.AWAY:
TypeError: 'NoneType' object is not subscriptable
That is a bit oddā¦ here is the relevant code fragment:
def hvac_mode(self) -> Optional[str]:
"""Return the Zone's hvac operation ie. heat, cool mode."""
if self._device.tcs.system_mode is None:
return # unable to determine
if self._device.tcs.system_mode[CONF_SYSTEM_MODE] == SystemMode.AWAY:
return HVAC_MODE_AUTO
...
Is anyone else having this exact issue?
You may be better off with 0.20.21 or 0.20.22ā¦ gemme sec
OK, I get the same error with 0.20.15a, but not my latest master (>0.20.21).
I think I will push a new release, 0.20.22.
All, I apologise for the number of bugs, which is due to significant refactoring but I am taking advantage of the Summer period to make big changes that will benefit everyone, such as:
Version 0.20.22 has been released.
The main addition is support for HVAC remotes - learning / sending commands
Please report any/all bugs - I will focus on making it stable (e.g. 0.20.22a, etc.).
I am not sure why this is happening - the code was written to handle this issue
This is under investigation:
homeassistant.exceptions.InvalidStateError: Invalid state encountered for entity ID:
sensor.32_111111_fan_info. State max length is 255 characters.
This is under investigation - appears only on startup?
I was able to reproduce this, it has been fixed:
This was fixed in 0.20.15a:
This was fixed in 0.20.15a:
Iāve deducted that apparently the known_list setup has changed. I have removed the hyphens and added : at the end. Home Assistant restarts again and it looks like the integration is working again. This is now my complete config file
ramses_cc:
serial_port: /dev/serial/by-id/usb-SHK_NANO_CUL_868-if00-port0
restore_cache: true
ramses_rf:
enable_eavesdrop: false
enforce_known_list: true
01:205114:
zones:
"01": {sensor: 01:205114} # Main controller
known_list:
#Gateway
#- "18:205572"
"01:205114": {_note: Controller}
#Badkamer 1
"04:164227":
#Woonkamer
"04:014708":
"04:014696":
"04:164041":
# Badkamer 2
"04:014712": #Valve
"34:018143": #Thermostat
# H Slaapkamer
"03:256014": { faked: true } #Fake sensor for AC
"04:164247": #Valve
# L Slaapkamer
"04:122639":
# R Slaapkamer
"04:079671":
I do see an error on startup
Logger: ramses_rf.processor
Source: runner.py:119
First occurred: 10:53:52 AM (1 occurrences)
Last logged: 10:53:52 AM
I --- 18:205572 63:262142 --:------ 7FFF 023 00110182AAEC775933304339204930333A323536303134 < AttributeError('NoneType' object has no attribute '_hgi80')
and
Logger: homeassistant
Source: /usr/src/homeassistant/homeassistant/runner.py:96
First occurred: 10:53:52 AM (1 occurrences)
Last logged: 10:53:52 AM
Error doing job: Exception in callback MessageProtocol.data_received( I --- 18:205...3A323536303134)
Traceback (most recent call last):
File "/usr/local/lib/python3.10/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/usr/local/lib/python3.10/site-packages/ramses_rf/protocol/protocol.py", line 543, in data_received
self._callback(self._this_msg, prev_msg=self._prev_msg)
File "/usr/local/lib/python3.10/site-packages/ramses_rf/processor.py", line 263, in process_msg
_create_devices_from_addrs(gwy, msg)
File "/usr/local/lib/python3.10/site-packages/ramses_rf/processor.py", line 83, in _create_devices_from_addrs
this.src = gwy.get_device(this.src.id)
File "/usr/local/lib/python3.10/site-packages/ramses_rf/gateway.py", line 560, in get_device
check_filter_lists(dev_id)
File "/usr/local/lib/python3.10/site-packages/ramses_rf/gateway.py", line 545, in check_filter_lists
and dev_id != self.pkt_protocol._hgi80[SZ_DEVICE_ID]
AttributeError: 'NoneType' object has no attribute '_hgi80'
Yes - both the known_list
and the block_list
are now a dict (no leading -) of dicts (must have a trailing :).
This information is in the wiki - I will add it to the release notes.
ramses_cc:
known_list:
01:123456:
02:222222:
13:333333:
Instead of:
ramses_cc:
known_list:
- 01:123456
- 02:222222
- 13:333333
But otherwise the integration is OK?
Yep, looks like it.
Done.
I am sorry - I am fully aware of the burden this puts on people. My expectation is that we are at the end of it now.
The configuration.yaml file is heavily documented now - please see the wiki:
Most of the changes are driven by additional functionality.
Iām back. Iāve updated to 20.22 and have the heating side up and running. Iām struggling with the HVAC and YAML again.
I my setup is as below, but it wonāt accept the config.
bad indentation of a mapping entry at line 56, column 9:
class: REM
^
ramses_cc:
orphans_hvac: [32:172534, 32:168240, 32:123456, 30:079129, 32:166025]
serial_port: /dev/ttyACM2
packet_log: /config/packet_logs
known_list:
30:079129: {class: FAN}
32:172534: {class: REM}
class: REM
faked: True
commands:
normal: ' I --- 32:172534 30:079129 --:------ 22F1 003 00020A'
boost: ' I --- 32:172535 30:079129 --:------ 22F1 003 00030A'
32:168240: {class: HUM}
32:123456: {class: CO2, faked: true}
32:166025: {class: CO2}
10:051349: # Appliance Control
01:169176: # main_controller
18:135447: # Config Sensor
04:190691: # Harry's Room
04:198483: # Bedroom
04:198487: # Spare Room
04:112546: # Living Room 1
04:198485: # Living Room 2
04:038015: # Utility Room
04:090189: # Kitchen
03:000001: # kitchen
03:000002: # Living Room 1
03:000004: # Harry's Room
03:000005: # Master Bedroom
03:000006: # Utility Room
03:000007: # Spare Room
ramses_rf:
enforce_known_list: True
enable_eavesdrop: false
01:169176: #Evohome
system:
appliance_control: 10:051349 #OTB
Try this:
ramses_cc:
known_list:
30:079129: {class: FAN}
32:172534:
class: REM
faked: true
commands:
normal: ' I --- 32:172534 30:079129 --:------ 22F1 003 00020A'
boost: ' I --- 32:172535 30:079129 --:------ 22F1 003 00030A'
Note these two mean the same thing:
ramses_cc:
known_list:
30:079129: {class: FAN}
ā¦ and:
ramses_cc:
known_list:
30:079129:
class: FAN