Git Product home page Git Product logo

Comments (6)

jlintula avatar jlintula commented on June 12, 2024

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.

pszafer avatar pszafer commented on June 12, 2024

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.

jlintula avatar jlintula commented on June 12, 2024

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.

pszafer avatar pszafer commented on June 12, 2024

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.

jlintula avatar jlintula commented on June 12, 2024

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.

stale avatar stale commented on June 12, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.