You can track how long the boiler is actually running (different to how long a zone is on) if the boiler state is reported correctly. This is visible in the climate card where it should indicate Idle or Heating. If the thing is set to on and state is reported as Heating the boiler is on.
This currently works for systems reporting as an EMBER-PS. I am not sure if that works for EMBER-PS2 systems as they may report boiler state different.
If it works you can create helpers to track how long heating is active and so on. I use it for example to send me a warning if heating was active for more than 3h a day (some sort of attempt in cost control).
The tracking/statistics of how long the system is running and so on could be integrated within the integration or, as I have done, can be built outside the integration. Not sure what he HA standard is on doing that? Should this be part of the integration?
Glad to see others taking advantage of this integration. I get the chart from
Devices & Integrations>Devices>EPH Controls Ember> Thermostat >Controls, then click on the icon in the upper right corner:-
You need sensors to track boiler state.
In settings->devices->helpers you can create them
boilerdownstairs is a template with options: {{ state_attr('climate.downstairs','hvac_action') }}
Upstairs and water are similar
boiler is a template and uses:
{% if is_state_attr('climate.hot_water', 'hvac_action', 'heating') or is_state_attr('climate.downstairs', 'hvac_action', 'heating') or is_state_attr('climate.upstairs', 'hvac_action', 'heating') %}
on
{% else %}
off
{% endif %}
boilerdaily is a history stats helper tracking boiler and needs:
Start:
{{ today_at() if now() < today_at("23:59") else now() }}
I released a version 3.5 of the EPH Controls Integration. Thanks to Jed this has support for the EMBER-TS2 family (a CP4 (COMBIPACK4) compromising of an RFRP-OT thermostat and RF1A-OT receiver and a GW04).
There should also be improved operations for the EMBER-PS2 (such as boiler state indication) as some of the data structures are shared between EMBER-TS2 and EMBER-PS2.
Turns out my old EMBER-PS is the outlier and all the other eph variants are more what one would consider the standard. This means that the underlying library pyephember2 needs some re-structuring to reflect this which may break compatibility with previous versions of this lib.
We have been away for a few days and just back so only been able to do a little investigation on the new updates. The system was set to holiday mode on the Ember App and set to come on at 12 today. I can see from the temp chart that heating kicked in and working towards the expected target temp of 20.5 on the upper zone. This is on Mode All Day.
However the lower zone (Mode Auto), the target temperature as reported by the Ember App is 17 degrees. as it is on a setback (of 3 degrees), but in HA the control is reporting the target as 20 degrees. This jump seems to have occurred when I updated to version 3.5. I suspect the logic might for this controller has a bug.
Hi, trying to set this up, Ember app is working fine, but when trying to add the Integration i get an âauth errorâ yet the ID & PW are correct⌠any ideas?
Hi, Looked at the logs after doing it via the UI and there was nothing, however when adding the info into the configuration.yaml i got this error on the next boot:
2026-01-08 09:44:53.306 ERROR (SyncWorker_1) [custom_components.ephember.climate] Failed to get zones
Happy to try some python, its a HA Yellow so have access to the CLI.
Download this modified pyephember2 from the mqtt branch here: pyephember2. That is the python library used by the integration and that can be used outside of HA.
In there is a test program called test.py. Run this from a shell using
This should then be more talkative in terms of errors.
However from the error message above it seems to me that the login works but later the integration fails to get zone information. What type of an EPH system do you have? Maybe it is different to the others we have encountered before.
That is the same thing I use, just 4 zones instead of 3. I would have thought that would work.
Did you get any insight from looking into the produced test_log_http file (That should contain a trace of what is communicated). (If you post any of that here, make sure no data is in there you want not to make public)
Verify the HTTP log file (test_log_http) for the full request/response. The 500 error should appear there with the server response body, which may explain why the API is failing.
Your system responds with a deviceType 1. My one here is a deviceType 3 and others I have seen were a 4. So, I assume you have an install that is there for way more than 5 years?
So when zone information is requested pyephember2 uses the endpoint /zoneProgram and it seems for your system the EPH cloud does not provide that.
Options
Find workaround with existing known queries to see if the information can be obtained
Find out what your mobile app is using to puzzle the information together (obviously a different sequence of http requests).