Closed ciechompl closed 3 years ago
Thanks for feedback.
What temperature are you trying to set?
I'll start from the end because it is interesting and if modes are wrongly recognized than setting temperature can't work.
DHW program heat_pump
is bosch program HCprogram
and as far as I know it is not supported by the app.
It suppose to follow HC1 program and in this program setting temperature is forbidden by KM200.
Can you make more scans?
performance
, wait 1 minute and make scan.What temperature are you trying to set?
15°C .. idea behind is to automate "holiday mode". As away_mode is not supported (at least this is what I got as an error when tried to run water_heater.set_away_mode:
2020-06-24 18:15:17 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.140283686289808]
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 130, in handle_call_service
connection.context(msg),
File "/usr/src/homeassistant/homeassistant/core.py", line 1260, in async_call
task.result()
File "/usr/src/homeassistant/homeassistant/core.py", line 1295, in _execute_service
await handler.func(service_call)
File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 209, in handle_service
self._platforms.values(), func, call, required_features
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 454, in entity_service_call
future.result() # pop exception if have
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 597, in async_request_call
await coro
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 485, in _handle_entity_call
await result
File "/usr/src/homeassistant/homeassistant/components/water_heater/__init__.py", line 303, in async_service_away_mode
await entity.async_turn_away_mode_on()
File "/usr/src/homeassistant/homeassistant/components/water_heater/__init__.py", line 270, in async_turn_away_mode_on
await self.hass.async_add_executor_job(self.turn_away_mode_on)
File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/src/homeassistant/homeassistant/components/water_heater/__init__.py", line 266, in turn_away_mode_on
raise NotImplementedError()
NotImplementedError
So, I figured out that the simplest way will be to set water_heater to really low (but still safe) temperature during my vacations :) 15°C seems to be good enough in order to not let water frozen during winter time :) and not to high that I could not effort to during a summer :-)
more scans:
- switch to heat pump and see this messages in buderus app and wait 5 minutes -> make scan
https://jsonblob.com/38327e80-b630-11ea-add9-7375f0d4368c
- switch in app to auto and wait 5 minutes -> make scan
https://jsonblob.com/4b572bf6-b634-11ea-add9-cfb92616b9f4.
- switch in Home Assistant operation mode to
performance
, wait 1 minute and make scan.
https://jsonblob.com/c38e8353-b635-11ea-add9-5975ec06a8e5
this time water_heater behaved differently ... when switched to performance, it is sets to 15°C (one of my previous service calls from earlier today when got errors) and in the entity itself I can change temperature manually. Previously, whenever I changed to performance mode , temperature field in water_heater been diapering.
in the app this is still "auto" (from previous step) but to be honest I do not know what is a difference between "performance" and "heat_pump"
after this step this is how I see water_heater state:
please notice min/max tems .. they have changed (don't know how and why) compering what we had in the morning (see my first post)
Further I notice this new error in the log ... but I'm not sure after each of the steps above ... looking at the time it si most probably just after second scan
2020-06-24 17:34:03 ERROR (MainThread) [bosch_thermostat_client.encryption.base_encryption] Unable to decrypt: b'U0\'\xb1\x1a1\x9d\xbbr\xc6\xbf\xf8S\x8f\xc0f\xcdy\xa2;\xe4d\xbe\x0e\xfd\xb3\x11\x9b\xf8\xa9\x85*\x83\x9e\x8f\xf1Q\x83\xa2\xd2\xcd\'\x8a\xb5\t\xbb\xcd\x0cG\xd8ko\xbc\x17\xe8\x89\xcab\xf1\x96 \xbd\xeba\x10\x9f\xf8\xde{\xf2a\xd3\xff\x90\xe0-<\xcb\xb5\x17\xec\x11\xde)\xf5\x14\xb3\x056\x98\x94\x04\xc8\xf3!/E=\n\xa5\xad8\xce")\xc1=\x13\x19Y)\x80;\xcc\xe2k\xbaG\xeaDkgz\t\xb8D\xe7\xb0_Jd\x87\xc7\x03\x1aP<;\x01\x9b\x1e~\xcf\xf6\x95\xdaU\xe0\r)k\x0c?\x903\x99\xa1@\\\xa6 \x8f\xa9v\xc8\x03\x047\x89\xd8-\rKSY\xcdf\x18\xb1\xa3\xde\xe7\xcb\x17\x1b\x7f:\x0bM\xf9\xc3\xfd\xe3bAg\x93\x92\xe7\xde\xee\x8f\x95\xc4,v\xb8\x06\\\x1a\xe0\xc9\x04wg\\\\9\xd7x\x9c\x93\xb5\x0e' with error: 'utf-8' codec can't decode byte 0xb1 in position 3: invalid start byte
About holiday mode, I tried to implement it, but home assistant doesn't have anything like scheduler/calendar and for bosch holiday mode is like different virtual device, which in fact just change operation mode of DHW to off.
In HC there is something called suWi (which I'm also in progress of adding) and it just make sure that your system wouldn't freeze. I don't know how it works for DHW. I will study your json's this weekend.
About unable to decrypt, it is normal in debug scan to have these messages, some of URI's are impossible to decrypt.
thank you so much in advance :) ... just to add one more scan :) Right now we are at "night" mode set automatically by my schedule in the Buderus itself.
water_heater looks like this:
pls note min/max temps and setpoint
scan result: https://jsonblob.com/38c0b9d4-b668-11ea-add9-13f1f3699464
in the app I see mode "auto" but instead of temperature there is "off"
@pszafer any findings ? :)
for now I'm trying to add sensors from all circuits to HA. just don't have enough time lately :/
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Describe the bug Trying to create automation to control water_heater during holiday mode. For that I'm using water_heater.set_temperature service. Whenever I call this service error occur:
water_heater behave strange .. sometimes it sets temperature, sometime not, cant' really reproduce it. The only time when temperature it being set is when indeed my set i within min_temp - max_temp threshold but those are changing somehow automatically and I see no way how to change it. during tests I saw even min_temp and max_temp set to 0 ! ... don't know how. It has been reverted back when I changed operation_mode from heat_pump into performance (or vice versa)
Expected behavior temperature to be set as desire
screenshots before service call:
Service call:
Version
Debug SCAN https://jsonblob.com/0cd2e7f1-b60d-11ea-add9-3fec6e3ef106
Additional context in general seems like operation_modes are not in line what my KM200 is been able to set. When I change operation_mode in the component to heat_pump, than in the Buderus app I see message: "Can't show current working mode as this mode is not supported by application" ... On the other hand when I set in the app "auto" or "manual" or "off" mode it is showed in the component as "heat_pump" all the time despite what I've set in the app.