better_thermostat icon indicating copy to clipboard operation
better_thermostat copied to clipboard

BT does not aim at the target temperature until making any changes in the settings

Open code-chicken opened this issue 1 year ago • 2 comments

  • TRV Model: 2 x Spirit Eurotronics Thermostatic Valve https://devices.zwave-js.io/?jumpTo=0x0148:0x0003:0x0001:0.0
  • Integration of TRV: Z-Wave JS
  • Output from Home Assistant Developer Tools state e.g.: heat
  • Output from Home Assistant Device Diagnostic from BT
{
  {
  "home_assistant": {
    "installation_type": "Home Assistant Supervised",
    "version": "2024.1.2",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.11.6",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Berlin",
    "os_name": "Linux",
    "os_version": "6.5.6-arch2-1",
    "supervisor": "2023.12.0",
    "host_os": "Arch Linux",
    "docker_version": "24.0.6",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "waste_collection_schedule": {
      "version": "1.44.0",
      "requirements": [
        "icalendar",
        "recurring_ical_events",
        "icalevents",
        "bs4",
        "lxml"
      ]
    },
    "battery_sim": {
      "version": "1.0",
      "requirements": []
    },
    "eufy_security": {
      "version": "8.0.1",
      "requirements": [
        "websocket-client==1.4.2",
        "aiortsp==1.3.7"
      ]
    },
    "google_home": {
      "version": "1.11.0",
      "requirements": [
        "glocaltokens==0.7.0"
      ]
    },
    "grad_vol": {
      "version": "1.0.0",
      "requirements": []
    },
    "google_fit": {
      "version": "v3.1.0",
      "requirements": [
        "oauth2client==4.1.3",
        "google-api-python-client==2.82.0"
      ]
    },
    "hacs": {
      "version": "1.33.0",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "epex_spot": {
      "version": "2.3.1",
      "requirements": [
        "bs4"
      ]
    },
    "better_thermostat": {
      "version": "1.5.0-beta4",
      "requirements": []
    },
    "scheduler": {
      "version": "v0.0.0",
      "requirements": []
    },
    "asterisk": {
      "version": "1.0.3",
      "requirements": [
        "asterisk-ami==0.1.6"
      ]
    },
    "chime_tts": {
      "version": "v0.11.1",
      "requirements": [
        "pydub"
      ]
    },
    "blitzortung": {
      "version": "1.0.1",
      "requirements": [
        "paho-mqtt>=1.5.0"
      ]
    },
    "webrtc": {
      "version": "v3.5.1",
      "requirements": []
    },
    "alarmo": {
      "version": "v1.9.13",
      "requirements": []
    },
    "unifigateway": {
      "version": "0.3.3",
      "requirements": [
        "pyunifi==2.21"
      ]
    },
    "nordpool": {
      "version": "0.0.14",
      "requirements": [
        "nordpool>=0.2",
        "backoff"
      ]
    }
  },
  "integration_manifest": {
    "domain": "better_thermostat",
    "name": "Better Thermostat",
    "after_dependencies": [
      "climate"
    ],
    "codeowners": [
      "@kartoffeltoby"
    ],
    "config_flow": true,
    "dependencies": [
      "climate",
      "recorder"
    ],
    "documentation": "https://github.com/KartoffelToby/better_thermostat",
    "iot_class": "local_push",
    "issue_tracker": "https://github.com/KartoffelToby/better_thermostat/issues",
    "requirements": [],
    "version": "1.5.0-beta4",
    "is_built_in": false
  },
  "data": {
    "info": {
      "name": "BT Wohnzimmer",
      "temperature_sensor": "sensor.gw1000a_v1_7_5_indoor_temperature",
      "off_temperature": 18,
      "humidity_sensor": "sensor.gw1000a_v1_7_5_indoor_humidity",
      "outdoor_sensor": "sensor.gw1000a_v1_7_5_outdoor_temperature",
      "window_sensors": "binary_sensor.sensor_balkontur_window_door_is_open",
      "weather": null,
      "window_off_delay": 0,
      "model": "Spirit/Spirit",
      "window_off_delay_after": 0,
      "tolerance": 0.0,
      "target_temp_step": 0.1
    },
    "thermostat": {
      "climate.heizung_schreibtisch": {
        "name": "Heizung Schreibtisch",
        "state": "heat",
        "attributes": {
          "hvac_modes": [
            "off",
            "heat"
          ],
          "min_temp": 8,
          "max_temp": 28,
          "preset_modes": [
            "none",
            "Energy heat",
            "Full power",
            "Manufacturer specific"
          ],
          "current_temperature": 20.4,
          "temperature": 19.5,
          "preset_mode": "none",
          "friendly_name": "Heizung Schreibtisch",
          "supported_features": 17
        },
        "bt_config": {
          "calibration": "target_temp_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": "zwave_js",
        "bt_integration": "zwave_js",
        "model": "Spirit"
      },
      "climate.heizung_balkonfenster": {
        "name": "Heizung Balkonfenster",
        "state": "heat",
        "attributes": {
          "hvac_modes": [
            "off",
            "heat"
          ],
          "min_temp": 8,
          "max_temp": 28,
          "preset_modes": [
            "none",
            "Energy heat",
            "Full power",
            "Manufacturer specific"
          ],
          "current_temperature": 21.8,
          "temperature": 21,
          "preset_mode": "none",
          "friendly_name": "Heizung Balkonfenster",
          "supported_features": 17
        },
        "bt_config": {
          "calibration": "target_temp_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": "zwave_js",
        "bt_integration": "zwave_js",
        "model": "Spirit"
      }
    },
    "external_temperature_sensor": {
      "entity_id": "sensor.gw1000a_v1_7_5_indoor_temperature",
      "state": "19.8",
      "attributes": {
        "state_class": "measurement",
        "unit_of_measurement": "\u00b0C",
        "device_class": "temperature",
        "friendly_name": "GW1000A_Pro Indoor Temperature"
      },
      "last_changed": "2024-01-15T11:23:16.634040+00:00",
      "last_updated": "2024-01-15T11:23:16.634040+00:00",
      "context": {
        "id": "01HM6DS2RT9XW7PNCZ2SPM6993",
        "parent_id": null,
        "user_id": null
      }
    },
    "window_sensor": {
      "entity_id": "binary_sensor.sensor_balkontur_window_door_is_open",
      "state": "off",
      "attributes": {
        "device_class": "door",
        "friendly_name": "Sensor Balkont\u00fcr Window/door is open"
      },
      "last_changed": "2024-01-15T07:38:54.891397+00:00",
      "last_updated": "2024-01-15T07:38:54.891397+00:00",
      "context": {
        "id": "01HM60Y8HBC8CWKXPEFQWFA381",
        "parent_id": null,
        "user_id": null
      }
    }
  }
}
}

Description

Again and again BT does not aim to the target temperature. It just cares for keeping the room temperature at for example 18.3°C while the target temperature was set to 19.0°C. I can see that it is actually working but aiming at the wrong temperature. Making any changes to the BT settings makes BT "wake up" and working right again. What I normally do is changing the granularity of the temperature settings from 0.1°C to 1.0°C and back again. As soon as I've made any changes, I can hear the TRV motors working.

Steps to Reproduce

  1. Use BT for having a comfortable temperature.
  2. Wait some time.

Expected behavior:

BT should try to reach the target temperature.

Actual behavior:

Instead it keeps staying at a different temperature. As far as I remember, this was always below the target temperature which was set.

Versions

HA version: 2024.1.2 BT version: 1.5.0-beta4

Additional Information

To make any changes in the settings I set the granularity of the temperature settings from 0.1°C to 1.0°C and back again. However, changing granularity settings of BT results in a different problem, as described here: #1249

code-chicken avatar Jan 15 '24 12:01 code-chicken

I have a https://www.zigbee2mqtt.io/devices/GS361A-H04.html

I reconfigured something to test on it few days ago, (I think I just set Maintenance Mode to ON, I turned it off already though), and since then it doesn't behave correctly.

image

You can see it from around ~19.1. - trv_office is the "raw" theromstat, "Heizung" the BT entity. It just doesn't let the temperature go down.

toabi avatar Jan 22 '24 07:01 toabi

image

Today, again I had to make some changes in the BT settings to make BT aim to the target temperature.

The image shows, what actually happened.

  1. Switching BT from "off" to 19 degrees at 5:50 am.
  2. After some time, BT decides to stay somewhere at 18.2 degrees instead of increasing to 19 degrees.
  3. Opening windows to let some fresh air in.
  4. Closing windows. BT starts heating again
  5. After eventually reaching 19 (and more) degrees, BT doesn't keep the temperature and decreases it to somewhere around 18.2 again.
  6. Too cold for me to continue working at PC. So I decided to make the "Change-Settings-Workaround". I set the temperature interval to 1.0 and then back to 0.1 degrees.
  7. As always after making changes like that, BT changes its own target temperature. In this case it increases its own target temperature from 19 to 20.5 degrees, which I manually reverted back to 19 again. See #1249
  8. From now on BT works fine targeting the real temperature to 19 degrees.
  9. BT is oscillating around 19 degrees, what is okay for me.
  10. The sun is shining through my window and additionally warming up the room

Hopefully this problem can be solved sometimes.

code-chicken avatar Mar 08 '24 13:03 code-chicken