Skip to content

Releases: zxdavb/ramses_cc

MQTT is a first class citizen

19 Jun 21:48
Compare
Choose a tag to compare

This is release 0.41.23, which includes config_flow, and initial support for MQTT (i.e. the RMASES_ESP dongle)..

It is based upon 0.41.20, and includes very few changed to ramses_cc,

  • switch to pyserial-asyncio-fast (HA's own version of pyserial-asyncio)

... but ramses_rf has been bumped to 0.31.23:

Latest release with config_flow

08 May 09:33
Compare
Choose a tag to compare

This is release 0.41.20, which includes config_flow.

It is recommended over 0.31.20, which is identical, but without config_flow.

Generally, switching from no config_flow should be considered a one-way migration. Going back is not impossible, but requires some work.

The addition of config_flow is thanks to @trvrnrth!

Highlights: Increased reliability, and evohome faults are becoming a first-class citizen. Also, binding of fake HVAC remotes may now work, where they did not before.

Changes include:

  • refactoring of Evohome system faults binary sensor
  • addition of get_system_faults service call for evohome controllers
  • bump ramses_rf client to 0.31.20
  • homogenising sensor descriptors between both config_flow/non-config_flow releases
  • hardening test suite - increasing coverage

Changes to ramses_rf include:

  • will use pyserial-asyncio-fast if available (may fix #184)
  • changes to protocol and startup (may fix #181, #182)
  • fix bug that prevented HVAC remotes from binding
  • improvements to startup of the serial transport - ?more reliable (may fix #184)
  • improvements to the MQTT transport
  • less logspam, and more informative logging otherwise
  • improvements to 1030, 1260, 3220 parsers
  • bugfix excessive polling for OpenTherm bridges (esp. 3220 params/schema pkts)
  • various other refactoring, fixes, some minor deprecations, and more intense QA/QI

Latest Latest release without config_flow

08 May 09:37
Compare
Choose a tag to compare

This is release 0.31.20, which excludes config_flow.

It is identical to 0.41.20, which is the recommended release, but without config_flow.

Generally, switching from no config_flow should be considered a one-way migration. Going back is not impossible, but requires some work.

Highlights: Increased reliability, and evohome faults are becoming a first-class citizen. Also, binding of fake HVAC remotes may now work, where they did not before.

Changes include:

  • refactoring of Evohome system faults binary sensor
  • addition of get_system_faults service call for evohome controllers
  • bump ramses_rf client to 0.31.20
  • homogenising sensor descriptors between both config_flow/non-config_flow releases
  • hardening test suite - increasing coverage

Changes to ramses_rf include:

  • will use pyserial-asyncio-fast if available (may fix #184)
  • changes to protocol and startup (may fix #181, #182)
  • fix bug that prevented HVAC remotes from binding
  • improvements to startup of the serial transport - ?more reliable (may fix #184)
  • improvements to the MQTT transport
  • less logspam, and more informative logging otherwise
  • improvements to 1030, 1260, 3220 parsers
  • bugfix excessive polling for OpenTherm bridges (esp. 3220 params/schema pkts)
  • various other refactoring, fixes, some minor deprecations, and more intense QA/QI

Latest stable release (no config_flow)

22 Apr 23:23
Compare
Choose a tag to compare

This is release 0.31.19, which has been tested on HA version 2024.4.x. It does not utilize config flow.

It should be a seamless downgrade to 0.31.16 if you have issues with this version.

Overview

This release of ramses_cc does not utilize config flow!

Changes since 0.31.16 are:

  • bump ramses_rf client to latest version, 0.31.19 (main change: more reliable QoS & FSM)
  • slightly tweak start-up so more serial port problems are survivable without restarting HA (a WIP)
  • tweak the integration to latest HA coding rules

Known Issues

#171 - Fault log broken

Bugs Fixed

May address #181, #182 - complete failure to start integration.

Latest Stable release

30 Mar 09:55
Compare
Choose a tag to compare

Overview

This is version 0.31.16. Note that 0.31.17 has been yanked - this is the latest 0.31.x release.

Note that this version does not include config_flow:

  • if you are running 0.31.x, this should be a simple/safe upgrade
  • if you are running 0.41.x, you may want to wait for 0.41.16 (but you don't have to, YMMV)

If there is an issue, it should be straight-forward to roll back to 0.31.11 from this version. Mostly, it includes only bug fixes since 0.31.11, and:

  • it adds service call icons
  • bumps client to 0.31.16 - QoS is now enabled by default

Bugs Fixed

Resolved issues since 0.31.11 include (but are not limited to):

  • #163 - ramses_cc.set_zone_mode appears broken (2nd attempt)

It uses an updated version of the ramses_rf client library:

  • QoS is now enabled by default
  • experimental support for evofw3-over-MQTT (see: https://github.com/IndaloTech/ramses_esp)
  • improved logging: better messages, less logspam, no silent discarding of packets
  • threadsafeing, parser tweaks, hardening

Stable release

11 Mar 15:07
Compare
Choose a tag to compare

This is the latest stable release, It includes only bug fixes since 0.31.7.

Note that this version does not include config_flow:

  • if you are running 0.31.7, this should be a simple/safe upgrade
  • if you are running 0.41.7, you may want to wait (but you don't have to, YMMV)

If there is an issue, it should be straight-forward to roll back to 0.31.7 from this version.

With the exception of adding tests via test_homeassistant_custom_component, it contains only bug fixes, including:

  • fix battery_level is extra_state_attrs (now scalar, not dict)
  • lots of tweaks/fixes to the service calls

Resolved issues include (but are not limited to):

  • #169 set_zone_mode - eco_boost is being set for 1 hour
  • #164 send_packet - creating invalid address
  • #163 set_zone_mode - broken?
  • #162 Warning: Entity implements HVACMode(s): heat, off, auto and therefore...
  • #157 The gateway type is not determinable, will assume evofw3
  • #156 fix errors within 3110 parser
  • #151 Message events listener doesn't catch as expected
  • #145 fix errors within 01FF parser
  • #85 send_pkt service fails with 18:000730 as destination

It uses an updated version of the ramses_rf client library:

  • experimental support for evofw3-over-MQTT (see: https://github.com/IndaloTech/ramses_esp)
  • improved logging: better messages, less logspam, no silent discarding of packets
  • threadsafeing, parser tweaks, hardening

Now with added Config Flow

05 Feb 16:00
Compare
Choose a tag to compare
Pre-release

This is version 0.41.7, which has been tested on HA version 2024.1.x. It is based upon 0.31.7, and should be a seamless transition from that version.

It should not be considered stable (although there are no known issues), so please backup your HA installation before installing this version. If you want to rollback to 0.31.7 (or later), you may need to restore from backup.

Overview

This is the first release of ramses_cc that utilizes config flow.

Many thanks to @trvrnrth for adding config flow to this integration!

image

Device faking of sensors/switches is now first class

04 Jan 23:40
Compare
Choose a tag to compare

This is version 0.31.7, which has been tested on HA version 2024.2.x. It is considered stable.

It is a stable release, but please backup your HA installation before installing this version.

You should be able to upgrade/downgrade between 0.31.x and 0.2x.. Whilst doing so, there should be no need to (temporarily):

  • stop enforcing your known list
  • disable your state (packet) cache

Note, however some breaking changes, below, and:

  • RFC2217 no longer supported (see #143)

Overview

This is the first release of ramses_cc that exposes version 2 of device faking. Please see the new guide (WIP) in the wiki for:

It is extensively refactored and includes many fixes over the 0.30.x track, and many, many since 0.2x.x.

These uncorrected bugs have been identified:

  • some OTB sensors (dhw_setpoint, and ch_max_setpoint) are often unavailable when they shouldn't be
  • fetching controller logbook entries (system faults) is currently broken

Changes in 0.31.7

These bugs have been fixed:

Changes in 0.31.6

These bugs have been fixed:

Changes in 0.31.5

The OTC (outside temperature compensation) sensor has had its friendly name changed to 'OTC active'.

These bugs have been fixed:

Changes in 0.31.4

These bugs have been fixed:

  • CO2 sensors were missing from the ramses_cc.put_co2_level service call
  • The material design icons used for relay state (open/closed) were swapped (fixed in commit 8673169).
  • The user wasn't warned that hold_secs isn't supported for the remote.send_command service call (#146)
  • The binary_sensor.18_xxxxxx_gateway_status sensor had the opposite value (e.g. Problem when is OK) (18109e5)
  • The ramses_cc.send_packet service call has a shorted max payload length (#145)
  • Backoff (of polling interval) has been disabled for now (39f0a2d0)
  • Deprecation (of non-responsive devices) has been disabled for now (88bb9d7)
  • Several other binary sensor icons have been improved (78f4f55)
  • Fix bug with updating entity state via async_write_ha_state_delayed (1cb73b8)
  • Most FAN sensors are exposed by default, as before (2772979)
  • Refactoring of OTB._handle_msg() and associated code (e.g. e8ca4c24)
  • Lots of unavailable OTB sensors (792e90ab)

Changes in 0.31.3

The default entity_id for the DHW has changed from water_heater.stored_hw to water_heater.01_123456_hw. This will be an issue if you e.g. reset your entity registry, but keep your automations (this is for people with multiple controllers, with at least 2 having DHW)..

The schema sensor, sensor:01_123456_status is now called sensor:01_123456_status.

Retrieving zone schedules has been fixed (status of DHW schedules?).

Retrieving fault logs is currently out of action, pending a re-write; this means binary_sensor.01_123456_active_fault is unavailable.

Changes in/before 0.31.2

Service call names have added/changed. See the wiki for the new service calls.

In particular, these service calls have been removed:

ramses_cc.fake_device      # is now ramses_cc.bind_device
ramses_cc.put_zone_temp    # is now ramses_cc.fake_zone_temp
ramses_cc.put_dhw_temp     # is now ramses_cc.fake_dhw_temp

Note: the new ramses_cc.put_dhw_temp is different to the old put_dhw_temp service call.

Restored many missing / unavailable / entities. These entities, if extant, can be removed:

binary_sensor.10_xxxxxx_actuator_state
binary_sensor.13_xxxxxx_actuator_state

Extraneous sensors, created in error, have been deprecated. They contained oem_code in their entity_id. They can be safely removed in Settings > Devices & Services > Entities.

Note that the following is a real sensor, and so should not be removed:

sensor.10_048122_oem_code

0.30.9 - Significant refactor & Subsequent bugfixes

20 Dec 16:47
Compare
Choose a tag to compare

This is beta version 0.30.x, which requires HA version 2023.11.0 or later.

Please backup your HA installation before installing this version.

It uses a new client library, which is likely to contain many bugs. Nonetheless, I need people to try it out, and report any errors. You should be able to switch between this version and the latest Stable/Beta release.

There are some breaking changes, see them listed below.

For now, please report bugs on https://community.home-assistant.io/t/honeywell-ch-dhw-via-rf-evohome-sundial-hometronics-chronotherm

0.30.9 Bugfixes include:

#.... - Revert dispatcher to old version

0.30.8 Bugfixes include:

#.... - Fix precedence when merging schemas
#.... - Fix mode change service descriptions
#.... - Fix system mode period/duration args

0.30.7 Bugfixes include:

#.... - Loss of friendly names for zone sensors, loss of min/max setpoints
#.... - Non-thread-safe operation invoked on an event loop other than the current one

0.30.6 Bugfixes include:

#.... - 'RamsesBroker' object has no attribute '_known_commands'

0.30.5 Improvements include:

3d2f52e ramses_cc will fail early if serial port is mis-configured

0.30.5 Bugfixes include:

#79 - 'NoneType' object has no attribute 'send_frame'

0.30.4 Bugfixes include:

#91 - flame_active sensor is unavailable
#88 - SZ_FILTER_REMAINING not in HVAC sensors.py
#86 - logspam - Device ... is potentially foreign gateway
#83 - cached schema not a superset of config schema
#82 - removed unnecessary warning
#78 - fail early if the serial port is invalid

0.30.2 Bugfixes include:

#80 - some FAN sensor attrs are unavailable

0.30.1 Bugfixes include:

#72 - options not supported (e.g. enforce_known_list)
#73 - active gateway shouldn't be blocked by lack of entry in enforced known list
#74 - remote. send_command fails: must be exactly one command
#75 - send_command service call fails with 'Other error' TBA
#76 - Invalid code for 30:xxxxxx (FAN) to Rx/Tx: 22F1 WIP
#77 - AssertionError: What!! (AA) for I|FAN|31D9

Stable version 0.21.x has been released, and also Beta version 0.22.x - you may want to consider using those versions instead of this one.

Overview of Changes

The new client, ramses_rf, has been extensively refactored, and provides opportunities for many improvements to ramses_cc. For example:

  • much more helpful warning / error messages
  • auto detection of serial device and type (HGI vs evofw3)
  • many more packet types being decoded, especially for HVAC
  • easier binding of switches of different schemes (Nuaire, Itho, or Orcon)
  • able to fake actuators (relays), as well as sensors (switches, thermostats, humidity, etc).
  • improved QoS for reliable packet transmission
  • more attributes for HA entities, especially HVAC devices
  • implementation for RAMSES II over MQTT with evofw3-esp
  • lots of bug fixes, improvements to code quality
  • lots more automated testing
  • lots more I forget

Breaking changes

Please note that this version is much less tolerant of poor configuration. It will try to throw helpful messages when it detects such.

Logging has changed, some ramses_rf is now ramses_tx:

logger:
  logs:
    ramses_rf.dispatcher: info     # TIP: info for logging messages (excl. RQs)
    ramses_tx.protocol: warn       # TIP: info for logging packets Sent/Rcvd
    ramses_tx.transport: warn      # TIP: info for logging frames Tx/Rx

Five FAN entity state attributes have changed their entity_ids, like so:

  • sensor.xx_xxxxxx_exhaust_temp was _exhaust_temperature
  • sensor.xx_xxxxxx_indoor_temp was _indoor_temperature
  • sensor.xx_xxxxxx_supply_temp was _supply_temperature
  • sensor.xx_xxxxxx_outdoor_temp was _outdoor_temperature
  • sensor.xx_xxxxxx_remaining_mins was _remaining_time

Note that their unique_ids have not changed, so you will not lose data, but you may need to edit automations, etc.

Latest Beta Release

06 Jan 10:43
Compare
Choose a tag to compare
Latest Beta Release Pre-release
Pre-release

This is version 0.22.40, and is considered beta. It requires HA 2023.1.0 or greater.

It fixes the cannot import name 'TEMP_CELSIUS' from ... error seen in HA 2023.1.

Stable version 0.21.x has been release - you may want to consider using that version.

This release includes:

  • refactored OTB (R8810A/R8820A) device support (polling, attrs, other)
  • message_events triggers are now filterable by a regex,
  • can now send messages 'from' the gateway using the send_packet service
  • changed the broker to the co-ordinator model
  • an updated client (ramses_rf)

Please see below for more detail.

It includes all fixes in 0.21.6. Don't forget to read Breaking Changes, and Known Bugs, below.

Bugfixes

Fixes/Changes in ramses_cc, from 0.22,3:

  • f11e41e523: Cannot set preset_mode to 'permanent'

Fixes/Changes in ramses_cc, from 0.22.2:

  • b2aed159ec: limit which packets are restored when using restore_state: true so that restore_schema: false works as intended
  • 9cf5e63b5d: add in missing service call selectors in services.yaml
  • c375718e99: fix regression in send_packet service call when used with a HGI80

Fixes/Changes in ramses_rf, from 0.22.2:

  • cc82032: handle negative temperatures correctly in 31DA (for HVAC)
  • 471db6e: bugfix mode validation for set_xxx_mode() APIs (used by ramses_cc service calls)

Since release 0.22.1:

Bugfix: failure during HA startup:

None is of the wrong type ... @ data['ramses_cc']['advanced_features']['message_events']

Bugfix for ramses_cc:learn_command and remote:learn_command service calls:

"TypeError: must be exactly one command to learn"

Bugfix (ramses_rf): failure to instantiate global orphans under certain circumstances (in configuration.yaml: ramses_cc: {heat_orphans: ..., hvac_orphans: ...})

Bugfix (ramses_rf): incorrect error logged for BDR91Ts

Support the development of ramses_rf by reporting this packet (byte 5: )

Changelog

Since release 0.22.1:

Enhancement: Can now use send_packet service to cast commands from gateway: use the gateway's sentinel id (18:000730) as destimation device_id.

New: Refactored OTB support

OTBs now have three additional attributes:

  • dhw_blocking
  • otc_enabled
  • summer_mode

It is now possible to configure how ramses_rf polls an OTB fro its state.

ramses_cc:
  ramses_rf:
    use_native_ot: prefer  # always, prefer (default), avoid, never

The essential choice is between native OTB messages, or the RAMSES equivalent. If you are having difficulties retrieving OTB state attrs with prefer, try avoid, or always, or never (in suggested order). YMMV.

OTBs have additional logging to aid troubleshooting / development of ramses_rf.

Known bugs

  1. The set schedules service calls may be unreliable due to issues in underlying client library.
  2. The send_packet service call is broken

Breaking changes

The message_events are now filterable by a regex - booleans (True/False/etc.) are no longer supported.

ramses_cc:
  advanced_features:
    message_events: "RP.*10:"  # all packets from an OTB