JBmedia Lightmanager auslesen

Ich möchte gern den JBmedia Lightmanager auslesen. Für die Temperaturwerte der JBmedia-Sensoren klappt das wunderbar. Hatte dazu aus dem andren Formrun einen guten Tipp bekommen (von Thomas aus dem JBmedia-Forum):
Das geht wie folgt:
Code-Sequenz in der configuration.yaml;

rest:
  - authentication: basic
    scan_interval: 5
    resource: http://192.168.xxx.xx/params.json
    sensor:
      - name: "Lightmanager_Marker"
        unique_id: "LightmanagerMarker"
        value_template: "{{ value_json['marker state']}}"
      - name: "Lightmanager_Marker"
        unique_id: "LightmanagerMarker"
    resource: http://192.168.xxx.xx/weather.json
    sensor:
      - name: "Temperatur Kanal 0 Wohnzimmer Bar"
        value_template: "{{ value_json['channel0']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 1 Terrasse"
        value_template: "{{ value_json['channel1']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 2 Bad"
        value_template: "{{ value_json['channel2']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 3 Gefrierschrank"
        value_template: "{{ value_json['channel3']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 4 Büro"
        value_template: "{{ value_json['channel4']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 5 Ankleideraum"
        value_template: "{{ value_json['channel5']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 6 Schlafzimmer"
        value_template: "{{ value_json['channel6']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 7 Kühlschrank"
        value_template: "{{ value_json['channel7']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 8 Küche"
        value_template: "{{ value_json['channel8']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 9 Flur"
        value_template: "{{ value_json['channel9']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 10 Anlage"
        value_template: "{{ value_json['channel10']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C

Nun möchte ich auch die Marker auslesen. Das geht eigentlich ähnlich. Auch dazu habe ich einen Tipp bekommen. Aber er funktioniert bei mit leider nicht ganz und brauche Hilfe:

Thomas aus dem andren Forum schreibt dazu;

"Zuerst muss vorher, wie auch bei den Temperatur-Sensoren in der configuration.yaml ein Sensor angelegt werden, der die Marker vom Lightmanager ausliest. Falls die rest: sektion in der configuration.yaml bereits schon existiert, den Code ohne rest: (ab - authentication: basic) hinzufügen. Andererseits den kompletten Codeschnipsel an das Ende der configuration.yaml einfügen.
Zugangsdaten Username und Passwort ersetzen, oder, falls nicht erforderlich, einfach die beiden Zeilen weglassen. IP-Adresse anpassen natürlich nicht vergessen. Den Scan-Intervall individuell in Sekunden anpassen, alle 10 Sekunden haben bei mir jedoch keine Probleme gemacht und sollten eigentlich ausreichend sein, noch öfter zu pollen könnte die kleine Kiste aus dem Takt bringen :roll:

rest:
  - authentication: basic
    username: "<Dein Username>"
    password: "<Dein Passwort>"
    scan_interval: 10
    resource: http://192.168.2.11/params.json
    sensor:
      - name: "Lightmanager_Marker"
        unique_id: "LightmanagerMarker"
        value_template: "{{ value_json['marker state']}}"

Nach dem der Code in der configuration.yaml eingegeben wurde, bei Home Assistant unter Entwicklerwerkzeuge / Yaml die Konfiguration prüfen. Wenn alles sauber eingeben wurde, sollte kein Fehler vorliegen, und Home Assistant einmal neustarten lassen (unterbricht alle laufenden Automatisationen und Scripte).

Nachdem Homeassistant neu gestartet wurde, sollte jetzt eine Entitat “Lightmanager_Marker” (sensor.lightmanager_marker) vorhanden sein mit dem Binärzuständen der Marker: 0001011000101010…

Soweit so gut, mit dem 0 und 1 Salat kann man in Home Assistant natürlich so noch nichts anfagen, aber die Daten sind schon mal vorhanden :idea:

Jetzt muss für jeden Marker, den wir abfragen wollen, ein binärer Template-Sensor angelegt werden! Hierzu wie folgt vorgehen:
Als Beispiel wollen wir den Marker Nummer 4 abfragen:

In Home Assistant Einstellungen / Geräte und Dienste / Helfer / Helfer erstellen / { } Template / Template für einen binären Sensor erstellen

Als Name zum Beispiel "Lightmanager Marker 4 " eintragen.
Im Feld Zustandstemplate folgenden Code eintragen:

{% if states('sensor.lightmanager_marker')[3] == '1' %}
  true
{% else %}
  false
{% endi
 %}

Zur Information - Der Wert in der eckigen Klammer [3] definiert die Marker-Nummer. In diesem Fall ist es die Nummer 4, weil die Zählung von der Programmierung bei 0 beginnt. Also 0 ist Marker 1, 1 ist Marker 2, usw. Soll also Marker 107 ausgelesen werden, muss eine [106] im Code eingefügt werden.
Das Feld Geräteklasse kann leer bleiben - es sei denn, bei dem Marker handelt es sich zum Beispiel um ein Status für Fenster geöffnet / geschlossen - dann kann hier natürlich auch ein Fenster genommen werden.
Unten in der Vorschau sollte bereits der aktuelle Marker-Zustand ersichtlich sein, wird dieser jetzt im Lightmanager geändert, sollte dieser also spätestens nach 10 Sec. auch hier aktualisiert werden.

Der neu angelegte Helfer ist jetzt unter der Entität Lightmanager Marker 4 (binary_sensor.lightmanager_marker_4) zu finden und kann in Home Assistant wie üblich weiterverwendet werden. "

Hatte auch fast geklappt. Meine Code-Sequenz dazu:

rest:
  - authentication: basic
    scan_interval: 5
    resource: http://192.168.xxx.xx/params.json
    sensor:
      - name: "Lightmanager_Marker"
        unique_id: "LightmanagerMarker"
        value_template: "{{ value_json['marker state']}}"
      - name: "Lightmanager_Marker"
        unique_id: "LightmanagerMarker"
    resource: http://192.168.xxx.xx/weather.json
    sensor:
      - name: "Temperatur Kanal 0 Wohnzimmer Bar"
        value_template: "{{ value_json['channel0']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 1 Terrasse"
        value_template: "{{ value_json['channel1']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 2 Bad"
        value_template: "{{ value_json['channel2']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 3 Gefrierschrank"
        value_template: "{{ value_json['channel3']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 4 Büro"
        value_template: "{{ value_json['channel4']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 5 Ankleideraum"
        value_template: "{{ value_json['channel5']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 6 Schlafzimmer"
        value_template: "{{ value_json['channel6']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 7 Kühlschrank"
        value_template: "{{ value_json['channel7']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 8 Küche"
        value_template: "{{ value_json['channel8']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 9 Flur"
        value_template: "{{ value_json['channel9']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
      - name: "Temperatur Kanal 10 Anlage"
        value_template: "{{ value_json['channel10']['temperature']}}"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"
        device_class: temperature
        state_class: measurement
        unit_of_measurement: "°C"

Der bzw. die Marker bleiben immer auf “AUS”
Anfangs tauchte auch bei den Entitäten “sensor.lightmanger_marker” . Nun nicht mehr. Was mache ich falsch?

Ich habe erstmal alles dazu, was ich brauche👍