Honeywell CH/DHW via RF - evohome, sundial, hometronics, chronotherm

Is it not because you are using the newer config YAML on 20.15a instead of 20.18 and above?

@stevieb12345 20.15a seems to be the latest ramses_cc release. (I has ramses_rf 20.14 in its manifest.json so that is actually all right). I’ll try to edit that and see if that fixes this. EDIT: It doesn’t. It just breaks more stuff…

EDIT2: OUCH. ouch. ouch. For some reason HACS is not showing beta versions. Although I did enable the “show beta versions” checkbox. I just tried downloading 20.19 again (20.20 is on github but not in my HACS list) and it happily installed 20.15 again… ???

@tomkooij If you’ve seen my message on gitter…

You might be better off just running the latest master. It includes the new remote entity, with learning.

I’ll give it a try.

Sadly, HACS installs 0.20.15 when I selected master from the drop down… :expressionless:
I’ll try to remove some stuff and install it one-by-one.

So I finally managed to convince HACS to actually install master (bc76233). I checked and it actually installed that version into custom_components/ramses_cc

But that fails when restarting HA:

Logger: homeassistant.loader
Source: custom_components/ramses_cc/__init__.py:482
Integration: RAMSES RF (documentation, issues)
First occurred: 13:22:16 (1 occurrences)
Last logged: 13:22:16

Unexpected exception importing component custom_components.ramses_cc
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 599, in get_component
    cache[self.domain] = importlib.import_module(self.pkg_path)
  File "/usr/local/lib/python3.9/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1030, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1007, in _find_and_load
  File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 680, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 850, in exec_module
  File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed
  File "/config/custom_components/ramses_cc/__init__.py", line 467, in <module>
    class RamsesEntity(Entity):
  File "/config/custom_components/ramses_cc/__init__.py", line 482, in RamsesEntity
    _attr_icon: str | None
TypeError: unsupported operand type(s) for |: 'type' and 'NoneType'

Oh. I think I’m running Python 3.10.x … You must be on 3.9.x!

Can someone submit a PR to master…

Add the following immediately after the docstring, at the beginning of each *.py file:

from __future__ import annotations

(I would do it but I’m not near a PC for the next week)

1 Like

Indeed, my HA container runs python 3.9.12.

Merged! Just update via HACS… You will have to refresh/redownload.

1 Like

Did it work?

I left my PC just after I submitted the PR. Will try to install master later tonight.
@zxdavb : Yes, works! thanks a lot!

Then I’d like to see how you get on with the new remote entity!

(Which is undocumented, except in gitter)

2 Likes

Sorry here i am again with the the next error:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 235, in _async_setup_component
    result = await task
  File "/config/custom_components/ramses_cc/__init__.py", line 92, in async_setup
    await broker.create_client()  # start with a merged/cached, config, null schema
  File "/config/custom_components/ramses_cc/__init__.py", line 252, in create_client
    self.client = Gateway(
TypeError: ramses_rf.gateway.Gateway() got multiple values for keyword argument '01:087939'

My config:

ramses_cc:
  serial_port: /dev/ttyUSB-EVOHOME

  packet_log:
    file_name: /config/ramses_cc.log
    rotate_backups: 28

  ramses_rf:
    enforce_known_list: true
  
  01:087939:
    system:
      appliance_control: 10:078099
  orphans_hvac: [02:153425, 20:007902]
  known_list:
    - 01:087939 # Controller
    - 02:017205 # Woonkamer (UFH controller)
    - 04:023992 # Kastenkamer
    - 04:024000 # Slaapkamer Nova
    - 04:059569 # Slaapkamer
    - 04:225657 # Toilet
    - 04:225661 # Badkamer
    - 04:225663 # Slaapkamer Evi
    - 10:078099 # Heating control
    - 18:073736 # Gateway (HGI80-compatible)
    - 02:153425: {"class": REM, _note: "Itho CVE RF Switch"}
    - 20:007902: {"class": FAN, _note: "Itho CVE Fan"}

Ah, this one I recognize: the known_list is no longer a list but a dict. You need to remove the - in front of each entry and instead add a : as the last character. Example:

  known_list:
    01:087939: # Controller
    02:017205: # Woonkamer (UFH controller)
    etc.

Thx for the tip but it doesn’t fix the problem:
i have removed the - and add a : at the last posistion of each rule. i get now the next error:

Invalid config for [ramses_cc]: expected a list for dictionary value @ data['ramses_cc']['known_list']. Got OrderedDict([('01:087939', None), ('02:017205', None), ('04:023992', None), ('04:024000', None), ('04:059569', None), ('04:225657', None), ('04:225661', None), ('04:225663', None), ('10:078099', None), ('18:073736', None), ('02:153425', OrderedDict([('class', 'REM'), ('_note', 'Itho CVE RF Switch')])), ('20:007902', OrderedDict([('class', 'FAN'), ('_note', 'Itho CVE Fan')]))]). (See ?, line ?).

What version are you using?

Version 0.20.15a, also tested the master version but both gaves the same error.

@Kars is right: the known_list is definitely a dict (no -) of dicts (trailing :).

I think you have HVAC? If so: I suggest trying the master branch, but otherwise 0.20.15a

I think it is merging your cached (but dated) schema with your configuration schema, so start with:

ramses_cc:
  restore_cache:
    restore_state: true
    restore_schema: false

Note with master, the schema changed a little more:

ramses_cc:
  01:123456:
    system:

Invalid config for [ramses_cc]: expected a list for dictionary value @ data['ramses_cc']['known_list']. Got OrderedDict([('01:087939', None), ('02:017205', None), ('04:023992', None), ('04:024000', None), ('04:059569', None), ('04:225657', None), ('04:225661', None), ('04:225663', None), ('10:078099', None), ('18:073736', None), ('02:153425', OrderedDict([('class', 'REM'), ('_note', 'Itho CVE RF Switch')])), ('20:007902', OrderedDict([('class', 'FAN'), ('_note', 'Itho CVE Fan')]))]). (See ?, line ?). Please check the docs at https://github.com/zxdavb/ramses_cc

my config:

ramses_cc:
  serial_port: /dev/ttyUSB-EVOHOME
  restore_cache:
    restore_state: true
    restore_schema: false

  packet_log:
    file_name: /config/ramses_cc.log
    rotate_backups: 28

  ramses_rf:
    enforce_known_list: true

  01:087939:
    system:
      appliance_control: 10:078099
  orphans_hvac: [02:153425, 20:007902]

  known_list:
    01:087939: # Controller
    02:017205: # Woonkamer (UFH controller)
    04:023992: # Kastenkamer
    04:024000: # Slaapkamer Nova
    04:059569: # Slaapkamer
    04:225657: # Toilet
    04:225661: # Badkamer
    04:225663: # Slaapkamer Evi
    10:078099: # Heating control
    18:073736: # Gateway (HGI80-compatible)
    02:153425: {"class": REM, _note: "Itho CVE RF Switch"}
    20:007902: {"class": FAN, _note: "Itho CVE Fan"}