zxdavb / ramses_cc

HA integration for CH/DHW and HVAC systems that use the RAMSES II RF protocol
GNU General Public License v3.0
71 stars 16 forks source link

Getting "Failed to restart Home AssistantCore. string indices must be integers" due to config #41

Closed Heathy65 closed 2 years ago

Heathy65 commented 2 years ago

Since I have added my new evohome_cc configuation to my configuation.yaml file I get a "Failed to restart Home AssistantCore. string indices must be integers" error when I try to restart core. Also when I do a "Check Configuration" it hangs for ever.

If I comment-out some of the evohome_cc configuation then all is good. This is the corresponding error in the logs:

File "/usr/local/lib/python3.9/site-packages/voluptuous/schema_builder.py", line 817, in validate_callable return schema(data) File "/usr/src/homeassistant/homeassistant/helpers/config_validation.py", line 797, in validator value = config[key] TypeError: string indices must be integers

Extract of my configuration.yaml file:

evohome_cc:
  serial_port:
    port_name: /dev/serial/by-id/usb-SparkFun_evofw3_atmega32u4-if00
    baudrate: 115200
    timeout: 0
    dsrdtr: false
    rtscts: false
    xonxoff: true
  restore_state: true
  config:
    enforce_allowlist: true
    max_zones: 0B
  schema:
    controller: 01:145378
  allow_list:
    - 01:145378
    - 04:005496
    - 04:002363
    - 04:023049
    - 04:096551
    - 13:198335
    - 18:209827
  packet_log:
    file_name: evohome_packet.log
    rotate_bytes: null
    rotate_backups: 7

If I comment-out the restore_state, config, schema, allow_list sections then all is good. Then if I un-comment just the restore_state I get the issue (as an example).

zxdavb commented 2 years ago

You negelct to mention which version you're using - the latest stable (today) is 0.17.13 - does this happen with that version?

You should try it with the following - note: it is restore_cache: now.

evohome_cc:
  serial_port:
    port_name: /dev/serial/by-id/usb-SparkFun_evofw3_atmega32u4-if00
    baudrate: 115200
  restore_cache: true
  config:
    enforce_known_list: true
  schema:
    controller: 01:145378
  allow_list:
    - 01:145378
    - 04:002363
    - 04:005496
    - 04:023049
    - 04:096551
    - 13:198335
    - 18:209827
  packet_log:
    file_name: evohome_packet.log
    rotate_backups: 7
Heathy65 commented 2 years ago

Already on 0.17.13 Issue persists with the configuration you suggest. Thanks

Heathy65 commented 2 years ago

Also are you able to explain the contrast/difference between these two snippets, i.e. the difference between enforce_known_list and enforce_allowlist?

evohome_cc:
  ramses_rf:
    # enforce_known_list: true
  known_list:
    - '03:123409': {faked: true}
  block_list:
    - '01:145038'
evohome_cc:
  config:
    enforce_allowlist: True
  allow_list:
    - 01:145038
zxdavb commented 2 years ago

I ask you to go to the forum and ask for support there: https://community.home-assistant.io/t/honeywell-ch-dhw-via-rf-evohome-sundial-hometronics-chronotherm/151584

Hopefully someone will help you - you can facilitate this by asking your question in a way that will encourage others you chip in with an answer - I am very time-poor and so I'm trying to limit myself to answering only the questions only I can answer.

If no-one chips in, I will.

enforce_allowlist, config and allow_list are all deprecated.

Heathy65 commented 2 years ago

Sure, that's fair, will do.