Rest(ful) binary/switch mit "falschem" input

Moin zusammen und Danke vorweg für einen Schubs in die richtige Richtung und dieses Forum…

Ich bin ein OpenHAB-Migrant und verstehe wohl HA noch nicht in Gänze. Das kommt aber schon noch :slight_smile:
Zu meinem Problem:

Ich bekomme XML-Daten, die mir HA ordentlich in JSON konvertiert. Nun möchte ich gerne aus den Daten Bool’sche Anzeigen und Schalter bauen. Es geht dabei um Pumpen. Manche möchte ich steuern, die restlichen brauche ich als Info (Ein/Aus). Und genau da liegt das Problem. Die Pumpen senden (Ein/Aus) und das frisst HA ja nicht. Vllt zum besseren Verständnis (aus dem Template-Editor):

{% set value_json = 
  {"privadata":{
    "XYZ-unwichtig",
    "project":{
      "name":"...","controller":"1","version":"1.0","creationdate":"2024"},
      "group":{
        "name":"Gruppe",
        "element":{
          "name":"Pumpen",
          "item":[
            {"name":"Puffer-Kessel-I","valuebool":"0"  ,"unit":null,"write":"1"},
            {"name":"Kessel-Boiler-I","valuebool":"0"  ,"unit":null,"write":"1"},
            {"name":"Kamin"          ,"valuebool":"Aus","unit":null,"write":"0"},
            {"name":"Puffer-Kessel"  ,"valuebool":"Aus","unit":null,"write":"0"},
            {"name":"Kessel-Boiler"  ,"valuebool":"Aus","unit":null,"write":"0"},
            {"name":"Solarthermie"   ,"valuebool":"Aus","unit":null,"write":"0"},
            {"name":"Heizung"        ,"valuebool":"Ein","unit":null,"write":"0"}
                 ]
    }}}} 
%}

Das value_json wird mir korrekt angezeigt, in diesem Fall “Kamin: Aus”

PumpeKamin: {{ value_json['privadata']['group']['element']['item'][2]['valuebool']}}

Wie bekomme ich das aber in einen Binary/Switch Sensor übersetzt?
Damit geht es jedenfalls nicht und ich verstehe partout nicht warum:

{% if is_state(value_json['privadata']['group']['element']['item'][2]['valuebool'], 'Aus') %}
  true
{% else %}
  false
{% endif %}

Laut “HA-Templating” kann ich über is_state auf einen Zustand prüfen. Es ändert sich auch die geprüfte Entität als Ergebnis im Editor, wenn ich oben mein set value_json=… anpasse.

Das if/else wird aber nicht ausgeführt sondern liefert stets false.

Ich benötige einen Schubs in die richtige Richtung und sehr gerne eine Erklärung zu meinem Denkfehler, damit ich das Ganze verstehe.

Beste Grüße
Eddy

Das ist er für Entitäten aber dein json ist keine Entität.
Ich würde das so machen:

{% if value_json['privadata']['group']['element']['item'][2]['valuebool'] == Aus %}
  true
{% else %}
  false
{% endif %}

LG
Tobi

Top Deluxe :slight_smile: und besten Dank an @totow

Das funktioniert super. Der vollständigkeithalber hier der Binary-Sensor:

rest.yaml

- resource: http://ip.der.Heizung.xml/pumps.xml
  scan_interval: 5
  binary_sensor:
  - name: Priva_Kamin_Pumpe
    unique_id: Priva_Kamin_Pumpe
    icon: mdi:fireplace
    value_template: >
      {% if (value_json['privadata']['group']['element']['item'][2]['valuebool'] == 'Ein') %}
        on
      {% else %}
        off
      {% endif %}

Bevor ich jetzt wieder ewig herum probiere, direkt die Frage zum switch:
Ich setze/lösche die Bools wie folgt

http://IP.der.Heizung/freigaben.xml?Heizung-I=[1,0]

Nach meinem Verständnis ist die resource: ht*p://IP.der.Heizung/freigaben.xml
und der POST-payload vom switch

?Heizung-I=0 für aus
?Heizung-I=1 für ein

Besten Dank an alle und schönes Frei heute,

VG
Eddy