binary_sensor funktioniert nicht

atrost

Active member
Hallo Forum,
ich möchte gerne von einem Heizkörperthermostat die Anforderung zum Heizen ermitteln.
Hierfür habe ich in der configuration.yaml unter "template" einen binary_sensor angelegt und wie folgt verknüpft.
Leider steht der immer auf "off", egal, wie ich den Sollwert einstelle.

YAML:
template:
    # Anforderung Wohnzimmer
  - binary_sensor:
     - name: "wohnzimmer_anforderung"   
       unique_id: "b6c24eff-3c11-4c42-bec9-e689fdf2baa7"
       device_class: "heat"
       state: >
         {% set wz_ist = states('sensor.climate.wohnzimmer_gruppe.attributes.current_temperature') | float(0) %}
         {% set wz_soll = states('sensor.climate.wohnzimmer_gruppe.attributes.temperature') | float(0) %})
         {{ (wz_ist - wz_soll) | round(2) > 0 }}"
 
Weshalb die device_class?
heat: on means hot, off means normal
Das "hot" und "normal" klingt jetzt nicht genau nach dem gewünschten Ergebnis, wenn das "on" oder "off" sein soll.

Hast Du das, was state definieren soll, mal unter den Entwicklerwerkzeugen => Template ausprobiert?
 
Ja, aber da komme ich auch nicht weiter. Bei device_class = "on" bekomme ich sofort einen Fehler.
Ich denke mal, er kann die Verschachtelung mit "attibutes" aus der climate_group nicht auflösen.
Ich versuche mal einfach 2 Werte Sensoren zu vergleichen.
 
Habe jetzt das hier mal probiert. Die Werte für wohnzimmer_istwert und wohnzimmer_sollwert bekomme ich.
Nur der Vergleich will nicht funktionieren. Leider gibt es auch einen Helfer, der so etwas macht.
Ich hoffe nun hier auf weitere Hilfe.

YAML:
template:
    # Anforderung Wohnzimmer
  - binary_sensor:
     - name: "wohnzimmer_anforderung" 
       unique_id: "b6c24eff-3c11-4c42-bec9-e689fdf2baa7"
       device_class: "on"
       state: "{{ is_state_attr ('wohnzimmer_istwert - wohnzimmer_sollwert') | round(2) < 0 }}"

  - sensor:
    # Wohnzimmer Raumsollwert
    - name: "wohnzimmer_sollwert"
      unique_id: "d39e4617-5c95-4074-96f9-494c3b876b61"
      device_class: "temperature"
      state_class: "measurement"
      unit_of_measurement: "°C"
      state: "{{float(states.climate.wohnzimmer_gruppe.attributes.temperature)}}"
    
    # Wohnzimmer Raumsollwert
    - name: "wohnzimmer_istwert"
      unique_id: "96cf3ad2-3696-4785-9669-963626cabd20"
      device_class: "temperature"
      state_class: "measurement"
      unit_of_measurement: "°C"
      state: "{{float(states.climate.wohnzimmer_gruppe.attributes.current_temperature)}}"
 
Zuletzt bearbeitet:
OK, viele Wege führen nach Rom.
Da es mit dem binary_sensor so nicht geklappt hat, habe ich es nun mit einer Automatisierung gemacht.
Da bin ich auch sicherer in der Anwendung :).

YAML:
lias: Wohnzimmer_Anforderung
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.wohnzimmer_istwert
      - sensor.wohnzimmer_sollwert
condition: []
action:
  - if:
      - condition: numeric_state
        entity_id: sensor.wohnzimmer_istwert
        below: sensor.wohnzimmer_sollwert
    then:
      - action: input_boolean.turn_on
        target:
          entity_id: input_boolean.wohnzimmer_anforderung
        data: {}
    else:
      - action: input_boolean.turn_off
        target:
          entity_id: input_boolean.wohnzimmer_anforderung
        data: {}
mode: single
 

Zurzeit aktive Besucher

Neueste Beiträge

Letzte Anleitungen

Statistik des Forums

Themen
5.326
Beiträge
52.884
Mitglieder
5.096
Neuestes Mitglied
manu3105
Zurück
Oben