Comments (6)
I had some time in my lunch break to check what's happening, so I added some debug logging to beginning of set_temperature() in bosch_thermostat_http/circuit.py:
_LOGGER.debug(f"set_temperature() target_temp {target_temp} temperature {temperature} min_temp {self.min_temp} max_temp {self.max_temp} _temp.setpoint {self._temp_setpoint}")
_LOGGER.debug(f"op_mode_is_auto {self._op_mode.is_auto} target_uri {self.schedule.get_uri_setpoint_for_current_mode()} ")
When setting up temperature in Program1/Program2 (hvac_mode heat or heat_cool) I see this:
2020-04-02 12:03:41 DEBUG (MainThread) [bosch_thermostat_http.circuit] set_temperature() target_temp 22 temperature 23.5 min_temp 22.0 max_temp 22.0 _temp.setpoint None
2020-04-02 12:03:41 DEBUG (MainThread) [bosch_thermostat_http.circuit] op_mode_is_auto True target_uri /heatingCircuits/hc1/temperatureLevels/exception
2020-04-02 12:03:41 ERROR (MainThread) [bosch_thermostat_http.circuit] Setting temperature not allowed in this mode. Temperature is probably out of range MIN-MAX!
And when in HP_OPTIMIZED mode I see this:
2020-04-02 12:04:30 DEBUG (MainThread) [bosch_thermostat_http.circuit] set_temperature() target_temp 22.0 temperature 24.0 min_temp 10.0 max_temp 35.0 _temp.setpoint setpoint2
2020-04-02 12:04:30 DEBUG (MainThread) [bosch_thermostat_http.circuit] op_mode_is_auto False target_uri -1
2020-04-02 12:04:30 DEBUG (MainThread) [bosch_thermostat_http.http_connector] Sending PUT request to /heatingCircuits/hc1/temperatureLevels/normal
2020-04-02 12:04:30 DEBUG (MainThread) [bosch_thermostat_http.circuit] Set temperature for hc1 with result True
Seems like it's tripping to the temperature check in line 361. I bypassed it by hardcoding the values to if 10 < temperature < 35 and target_temp != temperature:
. Seems like setting temperature works just fine in the Program1/Program2 modes. (It actually now changes the /heatingCircuits/hc1/temperatureLevels/exception
temp instead of /heatingCircuits/hc1/temperatureLevels/normal
like in auto mode, which isn't as convenient to me as I now I can't just feed the internal temperature sensor levels there to adjust the heating level, but it's not a big deal).
So looks to me that the in "non-auto" modes, min_temp and max_temp values are both set to what's at /heatingCircuits/hc1/temperatureLevels/normal
(22.0 C for me), which doesn't seem right.
from home-assistant-bosch-custom-component.
In this situation URI /exception
is correct.
Let's analyze it. As today is thursday let's analyze only this day.
{
"id": "/heatingCircuits/hc1/switchPrograms/Program2",
"maxNbOfSwitchPoints": 14,
"maxNbOfSwitchPointsPerDay": 2,
"setpointProperty": {
"id": "/heatingCircuits/hc1/temperatureLevels",
"uri": "http://THERMOSTAT/heatingCircuits/hc1/temperatureLevels"
},
"switchPointTimeRaster": 30,
"switchPoints": [
{
"dayOfWeek": "We",
"setpoint": "normal",
"time": 1440
},
{
"dayOfWeek": "Th",
"setpoint": "exception",
"time": 0
},
{
"dayOfWeek": "Th",
"setpoint": "normal",
"time": 1440
},
{
"dayOfWeek": "Fr",
"setpoint": "exception",
"time": 0
},
],
"type": "switchProgram",
"writeable": 1
},
Setpoint normal
is enabled from Wednesday 24:00:00 (1440) to Thu 00:00:00 so 0 minutes.
Now at 00:00:00 you are enabling setpoint exception
till Thursday 24:00:00.
So in practice you never have setpoint normal
enabled in Program2
.
There is some bug that it doesn't see MAX temp of exception properly:
{
"id": "/heatingCircuits/hc1/temperatureLevels/exception",
"maxValue": 30,
"minValue": 10,
"recordable": 0,
"type": "floatValue",
"unitOfMeasure": "C",
"value": 22,
"writeable": 1
},
from home-assistant-bosch-custom-component.
Oh, you are absolutely right, I didn't realize it works that way in the component, it makes sense.
I have indeed set the program to have the exception time enabled for whole week. This is because with this heat pump model, if the program is running in "normal" time (and not "exception" time), the normal and exception set temperatures have no effect at all (which is what happens in the auto/HP_OPTIMIZED mode too). So in order to be able to control the heat output from Home Assistant, it seems I need a program that is always in the "exception" time. In this situation it would be useful to be able to choose, if I want the temperature setting to affect the exception or normal temperature. In the end it doesn't matter greatly, as setting either can be used in an automation to achieve the same end result.
from home-assistant-bosch-custom-component.
I think for you fixing setting exception
to properly recognize MIN-MAX threshold would be enough.
Bosch designed it in a way that
temperatureLevels/exception
is like out or no usage time or no home etc.
and
temperatureLevels/normal
should be when people are home.
from home-assistant-bosch-custom-component.
I still have the temperature check bypassed in circuit.py
and when I edit the program to be normal for the whole day today (Thursday), the component seems to edit the normal temperature correctly (it's reflected in the heat pump panel). However, it just does nothing -- the target water temperature for the heating circuit isn't affected by this, unlike when editing either of the temperatures (normal or exception) when the program is in the exception period.
So in this case just fixing the MIN-MAX threshold doesn't seem to work with this heat pump, unless there is some other option I should set somewhere.
from home-assistant-bosch-custom-component.
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.
from home-assistant-bosch-custom-component.
Related Issues (20)
- AttributeError: 'BoschSensor' object has no attribute '__attr_state_class' HOT 1
- Error doing job: Task exception was never retrieved
- Special chars in password not supported HOT 1
- Don't get proper response from setting temperature. HOT 2
- `hc1 target temperature` and `hc1 current room setpoint` not matching HOT 11
- support for fw 04.02.03? HOT 18
- unsupported firmware version 04.02.02
- Cannot create a Bosch Debug Scan anymore HOT 6
- Detected that custom integration 'bosch' uses save_json from homeassistant.util.json module. HOT 1
- Error on TC100 - entities not updating HOT 7
- unknown error occurred HOT 3
- TLS issue on init after upgrade to Homeassistant 2024.2.0 HOT 53
- Add ETRV “start calibration” button to the home assistant integration HOT 9
- Total working time is wrong interpreted by HA HOT 2
- Unknown model HOT 9
- Integration wont load after update to HA 2024.2.2 HOT 1
- Integration not loading on startup: Can't find your fw version. HOT 4
- Device is unknown Null HOT 3
- Statistics for the 23rd hour are always missing HOT 8
- Can't install Bosch-Thermostat HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from home-assistant-bosch-custom-component.