Skip to content

zz (defunct) 4. Config (reliability)

David Bonnes edited this page Jul 23, 2022 · 1 revision

Improving Reliability

To maximize the reliability of ramses_rf, the library used by ramses_cc, the following is strongly recommended:

Specify your controller ID

The controller is optional, but is recommended: it offers several advantages, including reduced startup time.

Use an schema to specify the system's controller ID:

ramses_cc:
  serial_port: /dev/ttyUSB0
  packet_log: packet.log
  schema:
    controller: 01:145038

This will allow ramses_rf to most quickly discover the system's schema, and prevent it from discovering a neighboring controller.

Finding your controller ID

For evohome, you can get the controller ID from the evohome controller's UI:

  • from the main screen off your controller, press SETTINGS, then
  • hold down DEVICE SETTINGS for 10 seconds
  • look for the Device ID, which will start 01:

Filtering packets by Device ID

You can have an allow list (whitelist, recommended), a block list (blacklist, second best) or neither (avoid).

The absence of a device id filter will cause problems.

ramses_cc:
  ramses_rf:
    # enforce_known_list: true
  known_list:
    - '03:123409': {faked: true}
    - "01:054173": {"alias": "--controller--"}
    - "13:123456": {"alias": "BDR:faked  zone 03", faked: true}
    - '18:006402': {'alias': "HGI:evofw3"}
  block_list:
    - '01:145038'

Enforcing a known_list will allow ramses_rf to safely discard packets from neighboring systems, as well as some corrupted packets (i.e. those with corrupted device IDs).

Using a block_list will allow ramses_rf to exclude packets from a neighboring system, but not packets with corrupted device IDs.

It can be useful to know how device ids relate to device types in case you discover an entity that you cannot directly relate to: How to translate a device id to a device type.

Set Maximum zones

Currently, this option is not recommended, except for Hometronics, and only when required.

You can set the maximum zones idx - the upper limit of zones in your system(s):

ramses_cc:
  serial_port: /dev/ttyUSB0
  packet_log: packet.log
  ramses_rf:
    max_zones: 7

This allows ramses_rf to exclude some corrupted packets (i.e. those with corrupted payloads).

It also allows you to set higher number of zones for systems that support that, such as Hometronics:

    max_zones: 16

Note that the zones are numbered from 0x0 (00) to 0xF (0F), so max_zones: 3 enables a total of three zones (with zone_idx IDs of 00, 01, and 02).

Eavesdropping

In some specific situations it may be useful to temporarily enable eavesdropping. Some devices, such as HR80 TRV's, are not actively announced by the controller, and ramses_cc will not include them in the system schema. This will adversely affect the calculation of zone heat demand.

In this case we need to snoop on the traffic between the HR80 and the controller:

ramses_cc:
  ramses_rf:
    enable_eavesdrop: true

TIP: Also set 'restore_state: false' to ensure you get a clean schema after restart.

Note that eavesdropping may have unintended side effects, and it is not recommended to leave this enabled.

With eavesdropping enabled, these 'hidden' devices will be added to the system scheme. Depending on your level of logging, the schema is available in the home assistant log or more easily in the home assistant config directory, ~/.homeassistant/.storage/ramses_cc

With the device ID's now handy, you can disable eavesdropping and force the schema in configuration.yaml:

ramses_cc:
  ramses_rf:
    enable_eavesdrop: false
  schema:
    controller: 01:123456
    zones:
      "00": {"devices": ["04:123456"]}

Note that the schema will dynamically update with discovered devices, so you don't need to add all devices in this configuration - only the undiscoverable ones

EVOFW3 Autotune

Some devices may benefit from tuning the CC1101 module, details of this can be found in the EVOFW3 wiki below:

https://github.com/ghoti57/evofw3/wiki/EVOFW3-Autotune