I am sorry - this one time, this isn’t bad.
Is there perhaps a way for us/me to switch to this behaviour by changing a specific line(s) of code (locally)?
I’m aware this will have to be done everytime I upgrade to a new version and might break in future versions, but at the moment the current behaviour means I can’t use this integration with any (semi-)standard climate UI component.
Thanks again for your amazing work!
Create your own github fork (click fork), edit the code, import your fork. Then, merge changes from the master as/when
I’ve done this below:
I had a few days of someone nudging the climate UI to change the temperature and setting a permanent override, which was not how we’d been used to using evohome before this integration.
Ah, thanks I was looking for the specific required code change and I think I found it here: Update climate.py · iMiMx/evohome_cc@218e5f5 · GitHub
i changed this line 248 in custom_components/evohome_cc/climate.py because the default permanent override is not the wanted situation, i mainly set the temp of a zone with google home and than i want it to the end of the default program, and with google home i cannot choose permanent or tempoary, can this made configurable maybe?
self.svc_set_zone_mode(setpoint=kwargs.get(ATTR_TEMPERATURE))
to
self.svc_set_zone_mode(setpoint=kwargs.get(ATTR_TEMPERATURE), mode=ZoneMode.ADVANCED)
also tried the scripts found here (but these are only for the gui):
with this script i get the error:
cannot call script/evohome_simple_thermostat extra keys are not allowed @ data[“setpoint”]
Faked Zone Sensors
I am shortly about to release a new feature - faked zone sensors.
Be aware, zones can only have 1 (or 0) active sensors.
The faked sensor behaves like a round thermostat, and the current (measured) temperature can be set via a HA service call. Note that there is no value in emulating other TR87RF functionality, such as changing the zone setpoint (target temperature), so do not expect this to happen.
The emulated (faked) zone sensor works with an evofw3-compatible interface, but not yet with a HGI80 - there are deep design features of evohome_rf that make this difficult (in essence, because a HGI80 is a HGI80 & not a TR87RF and evohome_rf is very strict about these things)…
… nonetheless, I am committed to making a HGI80 function as a faked zone sensor at some future point.
Another advantage with an evofw3-compatible interface is that you can have sensors for multiple zones, and not just the one zone, as would be the case with a HGI80…
In future, relays will also be fakeable (able to be emulated)… even more reason to buy one of these USB dongles
So if anyone is interested in testing, you need a evofw3-compatible dongle, and a HA thermostat, such as, for example:
The idea is that you use an automation to pass data from the thermostat to the faked sensor.
To set up the faked sensor:
- get the controller listening for a sensor to bind for the zone of your choice
- call the
evohome_cc.create_sensor
service call
To update the zone (measured) temperature
Use something like the following service service call:
service: evohome_cc.set_zone_temp
data:
entity_id: climate.main_room
temperature: 21.3
Do let me know how you get on with it.
Does this mean profiles are not ready to test with Hometronic yet?
That is the plan.
Not yet - you (hometronics) should set max zones to 16, and enable eavesdropping.
Well, it’s up now - you should be able to try it.
I updated yesterday morning to the version from 5 days ago, after that thet status of the climate entities are getting after a few hours te status unknown.
Yesterdag evening i updated to the version that came out yesterday, but stil the same problem, after reboot i have a good status but after a few hours i get the unknown status.
What could be the problem, the temperature entities are still getting updates.
I see no errors in the log.
Updated to 0.8.6 last night and its stopped working.
Tried a reboot this morning, check device link to what’s in my configuration.yaml and all looks good there.
Logger: homeassistant.setup
Source: custom_components/evohome_cc/__init__.py:220
First occurred: 9:20:16 AM (1 occurrences)
Last logged: 9:20:16 AM
Error during setup of component evohome_cc
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/setup.py", line 242, in _async_setup_component
result = await task
File "/config/custom_components/evohome_cc/__init__.py", line 106, in async_setup
await broker.async_update()
File "/config/custom_components/evohome_cc/__init__.py", line 220, in async_update
_LOGGER.info("Schema = %s", evohome.schema)
File "/usr/local/lib/python3.8/site-packages/evohome_rf/systems.py", line 572, in schema
return {**super().schema, ATTR_ZONES: {z.idx: z.schema for z in self._zones}}
File "/usr/local/lib/python3.8/site-packages/evohome_rf/systems.py", line 572, in <dictcomp>
return {**super().schema, ATTR_ZONES: {z.idx: z.schema for z in self._zones}}
File "/usr/local/lib/python3.8/site-packages/evohome_rf/zones.py", line 809, in schema
elif not self._sensor._30C9_faked:
AttributeError: 'Controller' object has no attribute '_30C9_faked'
@zxdavb Hi David. With the latest building seeing this error appearing on HA start-up.
Logger: homeassistant
Source: helpers/entity.py:455
First occurred: 12:31:21 (1 occurrences)
Last logged: 12:31:21
Error doing job: Exception in callback async_track_point_in_utc_time.<locals>.run_action() at /usr/src/homeassistant/homeassistant/helpers/event.py:1172
Traceback (most recent call last):
File "/usr/local/lib/python3.8/asyncio/events.py", line 81, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 1191, in run_action
hass.async_run_hass_job(job, utc_point_in_time)
File "/usr/src/homeassistant/homeassistant/core.py", line 428, in async_run_hass_job
hassjob.target(*args)
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 455, in async_schedule_update_ha_state
self.hass.async_create_task(self.async_update_ha_state(force_refresh))
AttributeError: 'NoneType' object has no attribute 'async_create_task'
Have exactly the same error occuring…
Just commented out the relevant elif statement in zones.py and now works again. I guess the Controller device does not (yet) have the fake device code…
do you have the problem that the status goes away?
normaly i see this:
but after an hour i get this:
Yeah, hvac_action disappears after about an hour. HA restart doesn’t help
Oké thx for the conformation, than i don’t have to look further in my config.