Open Stooovie opened 1 year ago
I have the same problem, yet I am unsure where to get these log files.
Sounds like a duplicate config somewhere.
Try to Reinstall BT 1.0 from HACS remove all BT devices First, restart HA and readd them.
Also you can test to turn on and off the real TRV
Same problem here. Suggested removal and re-install didn't work. Re-binding the TRVs also didn't do the trick. Also tried different device names to avoid potential confusion in old config files. Update: I downgraded to HA 2023.1.2. Now it works again.
I also tried everything. Downgrading HA does not seem like a good option.
I will check it tomorrow.
Same here with deconz
Ich wünsche ein frohes neues Jahr.
Same Problem with TS0601 on BT Version 1.0 and HA 2023.01.4. Only with the new one i installed today. If i don't Touch the old settings it works.
Sorry, i need to learn how i can get the logs.
Danke, für die tolle Arbeit, Gruß aus Deutschland!
I'm not able to reproduce this error. Even with HA 2023.2.0.dev0, everything works fine for me.
Home Assistant 2023.1.4 Supervisor 2022.12.1 Operating System 9.4
Deconz
Device: Eurotronic Spirit Zigbee
{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.1.4", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.7", "docker": true, "arch": "aarch64", "timezone": "Europe/Brussels", "os_name": "Linux", "os_version": "5.15.76-v8", "supervisor": "2022.12.1", "host_os": "Home Assistant OS 9.4", "docker_version": "20.10.19", "chassis": "embedded", "run_as_root": true }, "custom_components": { "better_thermostat": { "version": "1.0.0", "requirements": [] }, "hacs": { "version": "1.29.1", "requirements": [ "aiogithubapi>=22.10.1" ] }, "powercalc": { "version": "v1.3.0", "requirements": [ "numpy>=1.21.1" ] }, "waste_collection_schedule": { "version": "1.33.0", "requirements": [ "icalendar", "recurring_ical_events", "icalevents", "bs4" ] }, "scheduler": { "version": "v0.0.0", "requirements": [] }, "govee": { "version": "0.2.2", "requirements": [ "govee-api-laggat==0.2.2", "dacite==1.6.0" ] }, "xiaomi_cloud_map_extractor": { "version": "v2.2.0", "requirements": [ "pillow", "pybase64", "python-miio", "requests", "pycryptodome" ] } }, "integration_manifest": { "domain": "better_thermostat", "name": "Better Thermostat", "documentation": "https://github.com/KartoffelToby/better_thermostat", "issue_tracker": "https://github.com/KartoffelToby/better_thermostat/issues", "iot_class": "local_push", "version": "1.0.0", "config_flow": true, "dependencies": [ "climate", "recorder" ], "after_dependencies": [ "climate" ], "codeowners": [ "@kartoffeltoby" ], "requirements": [], "is_built_in": false }, "data": { "info": { "name": "Heizung Schlafzimmer BT", "temperature_sensor": "sensor.temperature_19", "off_temperature": 20, "humidity_sensor": "sensor.humidity_20", "window_sensors": "binary_sensor.openclose_23", "outdoor_sensor": null, "weather": null, "window_off_delay": 0, "model": "SPZB0001" }, "thermostat": { "climate.thermostat_39": { "name": "Heizung Schlafzimmer new", "state": "heat", "attributes": { "hvac_modes": [ "heat", "off", "auto" ], "min_temp": 7, "max_temp": 35, "current_temperature": 19.0, "temperature": 30.0, "hvac_action": "heating", "offset": 0, "valve": 255, "locked": false, "friendly_name": "Heizung Schlafzimmer new", "supported_features": 1 }, "bt_config": { "calibration": "local_calibration_based", "calibration_mode": "heating_power_calibration", "protect_overheating": false, "no_off_system_mode": false, "heat_auto_swapped": false, "child_lock": false, "homaticip": false }, "bt_adapter": "deconz", "bt_integration": "deconz", "model": "SPZB0001" } }, "external_temperature_sensor": { "entity_id": "sensor.temperature_19", "state": "18.1", "attributes": { "state_class": "measurement", "on": true, "unit_of_measurement": "\u00b0C", "device_class": "temperature", "friendly_name": "Temperatursensor Schlafzimmer" }, "last_changed": "2023-01-16T11:02:08.168044+00:00", "last_updated": "2023-01-16T11:02:08.168044+00:00", "context": { "id": "01GPX3WR187EGE2844YMWZK8GF", "parent_id": null, "user_id": null } }, "window_sensor": { "entity_id": "binary_sensor.openclose_23", "state": "off", "attributes": { "on": true, "temperature": 18.0, "device_class": "opening", "friendly_name": "Schlafzimmer Fenster" }, "last_changed": "2023-01-16T05:53:20.971300+00:00", "last_updated": "2023-01-16T10:55:18.301102+00:00", "context": { "id": "01GPX3G7RX1RM6DKV5C5WPNGPR", "parent_id": null, "user_id": null } } } }
After creating a new thermostat, it is set to ON and opens completely. Then I can no longer control it.
Errorcode: `
Logger: homeassistant Source: core.py:1709 First occurred: 12:26:44 (1 occurrences) Last logged: 12:26:44 Error doing job: Task exception was never retrieved
Traceback (most recent call last): File "/config/custom_components/better_thermostat/climate.py", line 719, in startup await control_trv(self, trv) File "/config/custom_components/better_thermostat/utils/controlling.py", line 144, in control_trv await set_offset(self, heater_entity_id, _calibration) File "/config/custom_components/better_thermostat/utils/bridge.py", line 91, in set_offset return await self.real_trvs[entity_id]["adapter"].set_offset( File "/config/custom_components/better_thermostat/adapters/deconz.py", line 54, in set_offset await self.hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1709, in async_call processed_data: dict[str, Any] = handler.schema(service_data) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 232, in call return self._exec((Schema(val) for val in self.validators), v) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 355, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 351, in _exec v = func(v) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict return base_validate(path, iteritems(data), out) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: extra keys not allowed @ data['entity_id'] `
I get the same error and unavailable entity when using deconz as poster above me :/
I have ts0601 units (the whitelabel "hama" ones)
OK, this is strange: I've HAD the same issue yesterday after upgrading to BT 1.0.0, HA 2023.1.4 and Z2M 1.29.2-1 (in one run). My BT-entity was unavailable. I then rolled back to my backup from before the upgrades, but my BT-entity was still unavailable. I then rolled myself into bed ;-) Today I went to work, but my BT-entity didn't. It stayed unavailable.
A few minutes ago I upgraded again to the same versions (BT 1.0.0, HA 2023.1.4 and Z2M 1.29.2-1 ) and now my BT-entity works again! There is nothing I changed beside the order of the installation of the upgrades: First HA, then Z2M and at last BT. Then fully rebooted my HAOS (which I also did yesterday). Not sure if the installation order can make a difference, but beside that there is absolutely nothing else I'm aware of that might have changed.
Can all Others confirm that its now working like @Rixxxi
I will Test it today. @Rixxxi can you change the BT Settings (Like calibration Typ ...) Without this issue?
I'm not upgrading, I'm using bt for the first time.
I will Test it today. @Rixxxi can you change the BT Settings (Like calibration Typ ...) Without this issue?
I can change the target temperature through the BT-UI. Haven’t tested to change any of the BT-Settings and will not be able to in the next ~10-12h. I will try to test it tonight.
After updating to the new HA version 2023.1.5 it seems to be working.
Edit: Apparently only briefly. Now it doesn't work again
Logger: homeassistant Source: core.py:1709 First occurred: 13:56:14 (1 occurrences) Last logged: 13:56:14
Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/config/custom_components/better_thermostat/climate.py", line 719, in startup await control_trv(self, trv) File "/config/custom_components/better_thermostat/utils/controlling.py", line 144, in control_trv await set_offset(self, heater_entity_id, _calibration) File "/config/custom_components/better_thermostat/utils/bridge.py", line 91, in set_offset return await self.real_trvs[entity_id]["adapter"].set_offset( File "/config/custom_components/better_thermostat/adapters/deconz.py", line 54, in set_offset await self.hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1709, in async_call processed_data: dict[str, Any] = handler.schema(service_data) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 232, in call return self._exec((Schema(val) for val in self.validators), v) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 355, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 351, in _exec v = func(v) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict return base_validate(path, iteritems(data), out) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: extra keys not allowed @ data['entity_id']
For me it also immediately went back to being unavailable and throwing errors in the log..
Logger: homeassistant
Source: core.py:1709
First occurred: 4:01:34 PM (1 occurrences)
Last logged: 4:01:34 PM
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/better_thermostat/climate.py", line 719, in startup
await control_trv(self, trv)
File "/config/custom_components/better_thermostat/utils/controlling.py", line 144, in control_trv
await set_offset(self, heater_entity_id, _calibration)
File "/config/custom_components/better_thermostat/utils/bridge.py", line 91, in set_offset
return await self.real_trvs[entity_id]["adapter"].set_offset(
File "/config/custom_components/better_thermostat/adapters/deconz.py", line 54, in set_offset
await self.hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1709, in async_call
processed_data: dict[str, Any] = handler.schema(service_data)
File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 232, in __call__
return self._exec((Schema(val) for val in self.validators), v)
File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 355, in _exec
raise e if self.msg is None else AllInvalid(self.msg, path=path)
File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 351, in _exec
v = func(v)
File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__
return self._compiled([], data)
File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable
return schema(data)
File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in __call__
return self._compiled([], data)
File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict
return base_validate(path, iteritems(data), out)
File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping
raise er.MultipleInvalid(errors)
voluptuous.error.MultipleInvalid: extra keys not allowed @ `data['entity_id']
I will Test it today. @Rixxxi can you change the BT Settings (Like calibration Typ ...) Without this issue?
I can change the target temperature through the BT-UI. Haven’t tested to change any of the BT-Settings and will not be able to in the next ~10-12h. I will try to test it tonight.
Tested. It works!
@Rixxxi Thanks for the workaround.
For me it now works with the already existing thermostats.
The new one has been removed from Zigbee2Mqtt by the backup.
I have to fix that tomorrow.
I'll report back when I've done that.
And I'm now also on the core version 2023.1.5.
@Rixxxi Thanks for the solution.
You're welcome! ...but wait a minute: Solution? I'm actually not aware of having found or posted any reliable and repeatable solution. The only thing I mentioned was the order in which I updated the components. But that was random/luck and I'm absolutely unsure if it had any relevance at all! Can you clearify on what you think the actual solution is?
@Rixxxi Thanks for the solution.
You're welcome! ...but wait a minute: Solution?
I meant to say work around the problem. English is not my first language.
I edited my original post.
No worries, it's not my first language either :-)
But I'm still a little confused -- no matter if we call it solution or workaround. What did you (according to my post?) actually do to get rid of the BT-entity beeing "unavailable"?
By the way: Yesterday night I updated to HA 2023.1.5 without any issues.
No worries, it's not my first language either :-)
But I'm still a little confused -- no matter if we call it solution or workaround. What did you (according to my post?) actually do to get rid of the BT-entity beeing "unavailable"?
By the way: Yesterday night I updated to HA 2023.1.5 without any issues.
I restored an older backup. Then do all the updates again. After that I was able to change the settings in BT without the thermostats going back to "unavailable".
My System is now on the latest Versions from HA, Zigbee2Mqtt and BT.
No luck for me. I have tried everything, stopped counting restarts, removing component from HACS and so on…
Still, device is unavailable.
The only log I see is default warning from hacs:
2023-01-18 14:18:18.611 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration better_thermostat which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
Same here, even after update, removal, uninstall and clean new setup, no dice..
I've added my "new" Thermostat today again. It worked for 2-3h. Now is gone again ...
Edit: I Changed from AI Based to Normal. Now it's back!
My Log:
Logger: homeassistant Source: components/number/init.py:378 First occurred: 20:13:51 (1 occurrences) Last logged: 20:13:51
Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/config/custom_components/better_thermostat/climate.py", line 719, in startup await control_trv(self, trv) File "/config/custom_components/better_thermostat/utils/controlling.py", line 144, in control_trv await set_offset(self, heater_entity_id, _calibration) File "/config/custom_components/better_thermostat/utils/bridge.py", line 91, in set_offset return await self.real_trvs[entity_id]["adapter"].set_offset( File "/config/custom_components/better_thermostat/adapters/mqtt.py", line 141, in set_offset await self.hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1755, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1792, in _execute_service await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)( File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 213, in handle_service await service.entity_service_call( File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call future.result() # pop exception if have File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 958, in async_request_call await coro File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call await result File "/usr/src/homeassistant/homeassistant/components/number/init.py", line 378, in async_set_value raise ValueError( ValueError: Value -5.5 for Thermostat Büro Buchhaltung local temperature calibration is outside valid range -5.0 - 5.0
I upgraded my docker container also to 23.1.5 but that did not help. BT is still unavailable. I'm using zigbee2mqtt. Others experiencing the problem have a similar setup?
Tried also swichting from AI to normal, still unavailable.
@Metallica22 @djs3ns3 You could change to target temperature calibration, that might fixes your problem.
Unfortunately, no Was created from scratch, but doesn't work
Logger: homeassistant Source: core.py:1709 First occurred: 11:10:39 (1 occurrences) Last logged: 11:10:39
Error doing job: Task exception was never retrieved Traceback (most recent call last): File "/config/custom_components/better_thermostat/climate.py", line 719, in startup await control_trv(self, trv) File "/config/custom_components/better_thermostat/utils/controlling.py", line 144, in control_trv await set_offset(self, heater_entity_id, _calibration) File "/config/custom_components/better_thermostat/utils/bridge.py", line 91, in set_offset return await self.real_trvs[entity_id]["adapter"].set_offset( File "/config/custom_components/better_thermostat/adapters/deconz.py", line 54, in set_offset await self.hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1709, in async_call processed_data: dict[str, Any] = handler.schema(service_data) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 232, in call return self._exec((Schema(val) for val in self.validators), v) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 355, in _exec raise e if self.msg is None else AllInvalid(self.msg, path=path) File "/usr/local/lib/python3.10/site-packages/voluptuous/validators.py", line 351, in _exec v = func(v) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 818, in validate_callable return schema(data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 272, in call return self._compiled([], data) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 595, in validate_dict return base_validate(path, iteritems(data), out) File "/usr/local/lib/python3.10/site-packages/voluptuous/schema_builder.py", line 433, in validate_mapping raise er.MultipleInvalid(errors) voluptuous.error.MultipleInvalid: extra keys not allowed @ data['entity_id']
@Metallica22 @djs3ns3 You could change to target temperature calibration, that might fixes your problem.
This fixed my problem. So it seems this feature is broken or not supported wir my thermostat.
@Metallica22 @djs3ns3 You could change to target temperature calibration, that might fixes your problem.
Mine were actually all set to "target calibration".
Either on GitHub or on the official BT website there was a list of the supported thermostats and functions.
I can't find that list anymore.
But for this reason I was always on "Target calibration".
Currently everything is still working, no more failures.
Upon changing it to target temp. calibration it worked for a few hours for me as well, but after restarting HA, the component became unavailable again..
I can confirm this. I have three Eurotronic SPZB0001 and only one has the problem with "unavailable". Device thrown out of the network and reconnected, used different names, nothing helps with this device. Home Assistant 2023.1.7.
Edit: Home Assistant log:
2023-01-25 09:45:32.732 INFO (MainThread) [custom_components.better_thermostat.adapters.mqtt] better_thermostat Wohnzimmer groß BT: waiting for TRV/climate entity with id 'number.0x00158d00032f7107_local_temperature_calibration' to become fully available...
2023-01-25 09:45:37.734 INFO (MainThread) [custom_components.better_thermostat.adapters.mqtt] better_thermostat Wohnzimmer groß BT: waiting for TRV/climate entity with id 'number.0x00158d00032f7107_local_temperature_calibration' to become fully available...
2023-01-25 09:45:42.736 INFO (MainThread) [custom_components.better_thermostat.adapters.mqtt] better_thermostat Wohnzimmer groß BT: waiting for TRV/climate entity with id 'number.0x00158d00032f7107_local_temperature_calibration' to become fully available...
Hello,
i use the Shelly TRV and have the same Problem... but without any log errors.
Only the entity is unavailable. If i add one test BT it works again?! When i restart the server after that ervery BT entity is unavailable
I get this:
Logger: homeassistant
Source: custom_components/better_thermostat/utils/controlling.py:122
Integration: Better Thermostat ([documentation](https://github.com/KartoffelToby/better_thermostat), [issues](https://github.com/KartoffelToby/better_thermostat/issues))
First occurred: 10:39:21 (1 occurrences)
Last logged: 10:39:21
Error doing job: Task exception was never retrieved
Traceback (most recent call last):
File "/config/custom_components/better_thermostat/climate.py", line 848, in startup
await control_trv(self, trv)
File "/config/custom_components/better_thermostat/utils/controlling.py", line 122, in control_trv
self.cur_temp >= self.bt_target_cooltemp - self.tolerance
~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
TypeError: unsupported operand type(s) for -: 'NoneType' and 'float'
@Stooovie Did you figure out to resolve this issue? I'm seeing the exact same error. Deleting the device and adding it back does not help
BT entity is "Not available". BT 1.0.0, HA 2023.1.2. Zigbee2MQTT TS0601 TRV.
Log entry 1: `Logger: homeassistant.config_entries Source: helpers/entity_component.py:181 First occurred: 20:18:10 (2 occurrences) Last logged: 20:18:10
Error unloading entry Better Thermostat LR for climate Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 533, in async_unload result = await component.async_unload_entry(hass, self) File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 201, in async_unload_entry return await component.async_unload_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 181, in async_unload_entry raise ValueError("Config entry was never loaded!") ValueError: Config entry was never loaded!
Log entry 2:
Logger: homeassistant.config_entries Source: helpers/entity_component.py:166 First occurred: 20:18:10 (1 occurrences) Last logged: 20:18:10Error setting up entry Better Thermostat LR for climate Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 382, in async_setup result = await component.async_setup_entry(hass, self) File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 195, in async_setup_entry return await component.async_setup_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 166, in async_setup_entry raise ValueError("Config entry has already been setup!") ValueError: Config entry has already been setup! `