Bosch TRV mit externem Temp. Sensor füttern

Hey zusammen,

ich nutze mehrere Bosch Smart Home Thermostate (Generation 2) zusammen mit der Bosch Smart Home Zentrale. Aktuell lasse ich meine Zeitpläne per HA steuern, sprich ich brauche die Zentrale nicht mehr zwingend!?

Die CustomIntegration in Home Assistant funktioniert grundsätzlich super – ich kann Solltemperatur, Modi usw. steuern.

Mein Problem:

Die eingebauten Temperaturfühler in den Bosch-Thermostaten messen oft viel zu nah an der Heizung.

Ich habe im Raum schon eigene Zigbee-Sensoren, die die Temperatur deutlich genauer messen.

Was ich gern hätte:

Ich möchte, dass current_temperature der Climate-Entities meiner Bosch-Thermostate nicht den internen Sensorwert nutzt,

sondern die Werte meiner externen Sensoren.

Frage:

Hat jemand eine Lösung gefunden, wie man bei den Bosch Thermostaten (mit oder ohne Zentrale) die current_temperature durch einen externen Sensor ersetzen kann?

LG Dustin

Hallo Dustin,

alles rein theoretisch, aber es könnte funktionieren. Laut Zigbee2mqtt Webseite lassen sich die Bosch TRVs direkt per in Zigbee2mqtt einbinden und nicht über die Bosch Zentrale. Über Z2M eingebunden bieten die Thermostate eine Input _Number Entität für externe Temperatursensoren. Diese lassen sich über eine Automation bspw. alle 60s beschreiben. In Z2M müsste dann bei dem Thermostat eingestellt werden, dass er den externen Wert für die Temperatur heranziehen soll.

Ich mache das so auch bei mir, nur mit den Sonoff Trvzb, was sehr gut klappt.

Alternative wäre die Better Thermostat Integration, die versucht, den Offset des Thermostats via Algorithmus an den externen Sensor anzupassen. Ich nutze diese aber nicht mehr, weil sie immer die manuell eingestellte Temperatur an den TRVs überschrieben hat. Jetzt nutze ich den oben beschriebenen Weg über Automationen, bspw. auch für die Abregelung bei offenen Fenster.

Gruß

Hendrik

Hi, ja das geht, ich nutze auch die Bosch über Z2M,

hier mal meine Automation für ein Thermostat bei mir im Arbeitszimmer

alias: Heizungssteuerung AZ (Fixed Window Recovery)
description: Controls thermostat and ensures temperature recovery after window is closed
triggers:
  - alias: 20 Minuten Trigger
    trigger: time_pattern
    minutes: /20
    id: temp_time
  - trigger: state
    alias: Kontakt On
    entity_id:
      - binary_sensor.fensterkontakt_az_contact
    from: "off"
    to: "on"
    id: fenster-open
    for:
      seconds: 45
  - alias: Temperatur State
    trigger: state
    entity_id:
      - sensor.temperatursensor_az_temperature
    id: temp_state
  - trigger: state
    alias: Kontakt Off
    entity_id:
      - binary_sensor.fensterkontakt_az_contact
    from: "on"
    to: "off"
    id: fenster-closed
    for:
      seconds: 45
  - trigger: time
    alias: Zeit Abend Modus
    at: "16:30:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
    id: time_abend
  - trigger: time
    alias: Zeit Tag Modus
    at: "07:00:00"
    weekday:
      - mon
      - tue
      - wed
      - thu
      - fri
    id: time_morning
conditions: []
actions:
  - choose:
      - conditions:
          - condition: trigger
            id:
              - fenster-open
        sequence:
          - action: input_number.set_value
            metadata: {}
            target:
              entity_id: input_number.setpointtempbeforewindowopen_az
            data:
              value: "{{state_attr('climate.heizkoerperthermostat_az','temperature')}}"
          - action: switch.turn_on
            entity_id: switch.heizkorperthermostat_az_window_detection
      - conditions:
          - condition: trigger
            id:
              - fenster-closed
        sequence:
          - condition: state
            entity_id: switch.heizkorperthermostat_az_window_detection
            state: "on"
          - action: switch.turn_off
            entity_id: switch.heizkorperthermostat_az_window_detection
          - delay:
              seconds: 5
          - action: number.set_value
            target:
              entity_id: number.heizkorperthermostat_az_remote_temperature
            data:
              value: >-
                {{ states('sensor.temperatursensor_az_temperature') | float(0) |
                round(1) }}
          - action: climate.set_temperature
            target:
              entity_id: climate.heizkorperthermostat_az
            data:
              temperature: "{{ states('input_number.setpointtempbeforewindowopen_az')}}"
          - delay:
              seconds: 5
          - action: notify.mobile_app_sm_s926b
            data:
              title: Heizung Arbeitszimmer
              message: >
                Fenster zu. Temperatur wurde auf {{
                state_attr('climate.heizkorperthermostat_az', 'temperature')
                }}°C wiederhergestellt.
      - conditions:
          - condition: trigger
            id:
              - temp_time
              - temp_state
        sequence:
          - action: number.set_value
            target:
              entity_id: number.heizkorperthermostat_az_remote_temperature
            data:
              value: >-
                {{ states('sensor.temperatursensor_az_temperature') | float(0)
                }}
      - conditions:
          - condition: trigger
            id:
              - time_morning
        sequence:
          - action: climate.set_temperature
            metadata: {}
            target:
              entity_id: climate.heizkorperthermostat_az
            data:
              temperature: 19
      - conditions:
          - condition: trigger
            id:
              - time_abend
        sequence:
          - action: climate.set_temperature
            metadata: {}
            target:
              entity_id: climate.heizkorperthermostat_az
            data:
              temperature: 17
mode: single

Für dich interessant sind die Trigger temp_time und temp_state.

Diese setzen den Wert eines externen Temperatursensors als remote temp im Thermostat.

Was aber auch wichtig ist, steht auch so in der Z2M Doku für das Thermostat, dass du regelmäßig die remote temp an das Thermostat senden musst (ich mache dass alle 20 Minuten), ansonsten nimmt das Thermostat wieder die lokale Temperatur