Skip to content

New Alpha Release [BREAKING CHANGES]

Pre-release
Pre-release
Compare
Choose a tag to compare
@zxdavb zxdavb released this 28 Jun 07:57
· 506 commits to master since this release

WARNING: This release is a one-way migration. Read everything, and prepare fully: you must read Breaking Changes, below.

There is no supported means to return to an earlier release without subsequently losing some/all of your historical state data.

Overview

This release offers a lot of value, but there are so many changes, that it is unlikely be completely stable. So I need people to install it, and report any bugs, ready for next Winter.

Unfortunately, I've felt is necessary to rename the integration / change the configuration schema, so people will have to manually migrate their configuration, and take the other steps listed below. The old name/schema will no longer be maintained.

Some of improvements you'll notice are:

  • much (many?) fewer packets transmitted per unit time - especially if you use the restore_cache feature
  • it won't blow the HGI80 rate limit, unless you do multiple back-to-back restarts, without a cache
  • heating zone heat_demand should be more accurate for many edge-cases (UFH is a WIP due to lack of testers)
  • lots of HVAC love, such as all the fan state attributes - this is ongoing/WIP

Unless you enforce_known_list, the block list is enforced by default - please configure a known_list when you can, as a block list is only marginally better than no list at all.

In the short term, after we get this release stable, you'll see:

  • uploading / downloading zone/DHW schedules (yes: and DHW!)
  • controlling HVAC systems via a faked switch

Basic Steps

Migrating from the old name/schema

This process takes about 10-15 minutes. During migration, the entities will have their state history preserved.

Please be familiar with the Breaking Changes, below.

  1. Take a backup of your system.

  2. Disable the Evohome RF integration by commenting-out the evohome_cc: section in your configuration.yaml, and restart HA.

  3. Via HACS, check that Show beta versions is enabled for the Evohome RF integration. If you get an error message, No manifest.json file found, you can ignore it. Then restart HA.

  4. Via HACS, take the offer to update Evohome RF to 0.20.x. If, after clicking on UPDATE, you don't then see Pending Restart, restart HA and try again. Otherwise, restart HA: after that, the integration will be called Ramses CC.

  5. Edit your configuration.yaml, adding ramses_cc:, by renaming evohome_cc: and making any necessary changes (see New Configuration Schema, below) . Restart HA.

  6. Be patient: it will take at least one sync-cycle for you entities to become (un)available. As there is no ramses_cc cache to start with (it isn't migrated), it may take 24 hours for some entities to become available (.e.g. battery_state).

  7. Delete the config/custom_components/evohome_cc folder.

  8. Report any bugs, on the Forum.

Installing the new name/schema from scratch

Unfortunately, even if you are installing ramses_cc from scratch, you will still have to use the migration process, but as follows:

1a. Via HACS, add a custom repository: zxdavb/evohome_cc | Integration. Download the repository (called Evohome_RF), select version 0.18.8, and continue with step 2, above.

Breaking Changes

The integration has changed its name, and the configuration schema has changed. In addition, there are some changes to the names of certain entities.

The custom integration is now called ramses_rf instead of evohome_cc - this is to reflect increasing support for HVAC, as well as CH/DHW.

Warning: If you do not change your configuration.yaml to have ramses_cc: and not evohome_cc:, you may continue to run the older release, and be unaware of it.

In addition, there is a new schema format for configuration.yaml that will affect many systems - this is unfortunate, but the advantages will outweigh the inconvenience.

ramses_cc will not start with an invalid schema.

New Configuration Schema:

Tip: Always use the most minimal schema you can: see below.

Summary: use restore_cache/ramses_rf/appliance_control/actuators instead of restore_state/config/heating_control/devices.

Beware: devices includes the zone sensor, but actuators must not (most people won't require an actuators key).

The new format is:

ramses_cc:
  serial_port: /dev/ttyUSB0
  restore_cache: true

  ramses_rf:
    enable_eavesdrop: false
    enforce_known_list: false

  schema:
    controller: 01:123456
    system:
      appliance_control: 10:123456
      stored_hotwater:
        sensor: 07:123456
        hotwater_valve: 13:123456
        heating_valve: 13:654321
      zones:
        '01':
          class: radiator_valve
          sensor: 01:123456
          actuators:
            - 04:123456
            - 04:654321
        '02':
          class: zone_valve
          sensor: 34:123456
          actuators:
            - 13:111111

... instead of:

evohome_cc:
  serial_port: /dev/ttyUSB0
  restore_state: true

  config:
    enable_eavesdrop: false
    enforce_known_list: false

  schema:
    controller: 01:123456
    system:
      heating_control: 10:123456
      stored_hotwater:
        sensor: 07:123456
        hotwater_valve: 13:123456
        heating_valve: 13:654321
      zones:
        '01':
          class: radiator_valve
          sensor: 01:123456
          devices:
            - 01:123456
            - 04:123456
            - 04:654321
        ...

Other breaking changes:

The two gateway sensors have merged into binary_sensor.18_xxxxxx_status:

  • binary_sensor.18_xxxxxx_config, and
  • binary_sensor.18_xxxxxx_gateway

It may be useful to rename it to binary_sensor.18_xxxxxx_gateway to preserve your automations.

General Tips

Use the most minimal schema you can

I strongly recommend to always use the most minimal schema that works for you. For the above example, that would be:

  schema:
    controller: 01:123456
    system:
      appliance_control: 10:123456
      zones:
        01:
          sensor: 01:123456

You can obtain a suggested minimal schema by looking at the extra state attributes of the gateway (the evofw3/HGI80-compatible) device, which will be called 18:123456 status or similar.

If you need too, turn eavesdropping on until the gateway has establish that schema. Do not leave eavesdropping on.

Use a known_list if you can:

ramses_cc:
  serial_port: /dev/ttyUSB0
  block_list:
    - 01:136410  # neighbour
  known_list:  # zxdavb_production
    - 01:145038: {alias: CTL}
...
  ramses_rf:
    enforce_true_list: false
  schema:
    controller: 01:145038

Be aware: known_list is under ramses_cc: and enforce_known_list under ramses_rf:.

After Migration:

You can delete the following files/folders:

  • config/custom_components/evohome_cc
  • config/.storage/evohome_cc

Warning: Don't confuse evohome with evohome_cc - they are two distinct files/folders.

Known bugs

Stored HW has a heat demand - this is not an attribute of Stored HW - it will be removed.