mrheisenberg

HomeAssistant und die Freude der YAML

Moin Leute,

ich habe ein tolles Problem, ich verwende HA unter Debian, läuft alles soweit top...
Ich beiße mir aber gerade seit 3 Tagen die Zähne aus, folgendes Szenario habe ich:

AirKey Onlineverwaltung wird via API-Key abgegriffen im Read Modus damit ich Infos wie
- Wartungsaufgaben
- Schließzylinder
- User
- Medien
usw. erhalte, ich rufe via MQTT ab, habe auch schon via Node-Red im HA einen Flow erstellt, dieser läuft und liefert mir folgenden Output:

{
  "personList": [  
    {
      "id": 000000,  
      "firstName": "User",  
      "lastName": "User"  
    },
    {
      "id": 000000,  
      "firstName": "User",  
      "lastName": "User"  
    },
    {
      "id": 000000,  
      "firstName": "Reserve",  
      "lastName": "User"  
    },
    {
      "id": 000000,  
      "firstName": "User",  
      "lastName": "User"  
    },
    {
      "id": 000000,  
      "firstName": "Gast",  
      "lastName": "User"  
    },
    {
      "id": 000000,  
      "firstName": "User",  
      "lastName": "User"  
    },
    {
      "id": 000000,  
      "firstName": "User",  
      "lastName": "User"  
    },
    {
      "id": 000000,  
      "firstName": "User",  
      "lastName": "Userl"  
    },
    {
      "id": 000000,  
      "firstName": "User",  
      "lastName": "User"  
    }
  ]
}

Den String greife ich zur Kontrolle mit dem MQTT-Explorer ab.

Nun will im HA nur der erstelle Sensor die Daten nicht verarbeiten, der Sensor läuft und bekommt auch Daten, da er mir "9" anzeigt, mehr aber nicht:

screenshot 2025-05-27 104729

Sprich er greift mir die Menge ab an Usern, aber scheinbar nicht die Namen, im configuration.yaml unter HA habe ich folgenden Sensor hinzugefügt:
- name: "AirKey Benutzerliste"  
      unique_id: airkey_benutzerliste
      state_topic: "airkey/users"  
      value_template: "{{ value_json.personList | length }}"  
      json_attributes_topic: "airkey/users"  
      json_attributes_template: >
         {
           "personList": {{ value_json.personList | tojson }}  
         }

die Datei ist auch valide, sprich über YAMLlint werden keine Fehler gezeigt, auch wird der "Sensor: mqtt" nur 1x verwendet....

Wenn ich nun unter Entwicklertools gehe und nun teste was er bekommt mit diesem Code kommt wieder einmal... genau nix

type: markdown
title: Debug
content: >
  Zustand: {{ states('sensor.airkey_benutzerliste') }}  
  <br> Attribut personList: {{ state_attr('sensor.airkey_benutzerliste', 'personList') }}  

screenshot 2025-05-27 105238

zum Mäusemelken...

Der Sensor ist soweit korrekt:

screenshot 2025-05-27 105436

was hab ich bereits alles versucht:

MQTT-Daten erfolgreich gesendet
Payload {"personList": [...]} wird über airkey/users korrekt gepublished.

MQTT-Sensor in Home Assistant erstellt
Zeigt korrekt state = 9 an → value_template funktioniert.
json_attributes_template verwendet
Versucht personList als Attribut zu setzen → bleibt jedoch null / None.

Im Developer-Template getestet:
states('sensor.airkey_benutzerliste') → gibt korrekt 9 zurück.
state_attr(..., 'personList') → gibt None zurück, obwohl MQTT-Daten vorhanden.

Markdown-Karte erstellt:
Template-Syntax korrekt, zeigt aber keine Daten wegen fehlendem personList-Attribut.
Node-RED verwendet:

JSON korrekt aufbereitet und an airkey/users gesendet.
Funktion wurde angepasst, um nur id, firstName, lastName zu übergeben.

MQTT Explorer genutzt:
Payload geprüft – JSON-Format ist korrekt.
Home Assistant Konfiguration angepasst:

Sensor mehrfach überarbeitet, neu geladen, getestet, neu gestartet.

und jetzt steh ich vor einem Wald und sehe diesem vor lauter Bäumen nicht mehr....

Hier ist noch der Code für die Anzeigekarte:

type: markdown
title: 👥 AirKey Benutzerliste
content: >
  {% set personen = state_attr('sensor.airkey_benutzerliste', 'personList') %}  
  {% if personen is iterable and personen | length > 0 %}
    {% for person in personen %}
      - 👤 **{{ person.firstName }} {{ person.lastName }}** (ID: `{{ person.id }}`)
    {% endfor %}
  {% else %}
    _Noch keine Benutzerdaten verfügbar._
  {% endif %}

Irgendwo ist ein Fehler den ich übersehe....

Bitte wenn jemand eine Idee hat, ich steh kurz davor aufzugeben, aber es muss doch möglich sein, da ich andere Werte erhalte, sprich der API ist korrekt, sowie die Programmierung welche ich im HA gemacht habe funktionieren....

screenshot 2025-05-27 105937

leider gibts im HACS keine fertige Integration, weswegen ich mir dies manuell "Antun" darf/kann/will.

Grüße
H
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 673050

Url: https://administrator.de/forum/homeassistant-und-die-freude-der-yaml-673050.html

Ausgedruckt am: 27.05.2025 um 23:05 Uhr

Delta9
Delta9 27.05.2025 um 11:22:15 Uhr
Goto Top
Moin,
Zitat von @MrHeisenberg:
ich habe ein tolles Problem, ich verwende HA unter Debian, läuft alles soweit top...
kurze Nebeninfo: Deine Art HA zu betreiben ist mit HA 2025.06 deprectated und 6 Monate später nicht megr supportet: HA BLOG
gammelobst
gammelobst 27.05.2025 um 16:43:39 Uhr
Goto Top
Zitat von @Delta9:

Moin,
kurze Nebeninfo: Deine Art HA zu betreiben ist mit HA 2025.06 deprectated und 6 Monate später nicht megr supportet: HA BLOG

Wo hast du gesehen, dass er HA Core oder HA supervised benutzt?
und ob er i386, armhf oder armv7 hat?