Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie Monitoring Keep-Alives, Status-Werte in Home Assistant

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Wie Monitoring Keep-Alives, Status-Werte in Home Assistant

    Hallo,
    hat sich jemand schon mal Gedanken dazu gemacht, wie man Keep-Alives und im Allgemeinen die Verfügbarkeit von Geräten oder Status-Werten darstellen kann? Und am besten auch überwachen kann? Bei manchen Entitäten reicht es zu prüfen, dass alle x Minuten ein Telegramm empfangen wird. Bei anderen will man vielleicht auch den Wert gegen einen Sollwert vergleichen.

    Danke und Gruß

    #2
    Ja, hatte ich mal für meine ESP's umgesetzt (siehe alter Screenshot), ist aber irgendwie auf dem Weg zur aktuellen Konfiguration verlorengegangen. Am einfachsten ist ein binary_sensor; wenn z.B. in den letzten 5 Minuten Daten empfangen wurden = True = grüne LED rechts oben; wenn Zeitstempel >300s = False = rote LED. Lässt sich in einem Template Sensor recht einfach umsetzen, das Template kann man im Template-Editor von HA gut entwickeln und testen:

    Code:
    template:
      - binary_sensor:
          - name: "ESP DG Alive"
            unique_id: esp_dg_alive
            device_class: connectivity
            state: >
              {% set s = states.sensor.esp_dg_temperature %}
              {% if s is not none and s.state not in ['unknown', 'unavailable', 'none', 'None', ''] %}
                {% set ts = s.last_reported if s.last_reported is defined else s.last_updated %}
                {{ (now() - ts).total_seconds() < 300 }}
              {% else %}
                false
              {% endif %}
    Statt '{{ (now() - ts).total_seconds() < 300 }}' lässt sich natürlich auch ein beliebiger anderer Vergleich implementieren, der zu True/False führt, z.B. die von Dir genannten Schwellwerte.

    Die einfachste Anzeige wäre eine tile card; in dem Screenshot hatte ich damals komplexere button-cards verwendet, die auf einem Template basierten, um redundanten Code zu minimieren:

    Code:
    type: tile
    entity: binary_sensor.esp_dg_temperature_alive
    name: ESP DG Alive
    icon: mdi:circle
    color: state
    a1.png

    Viel Erfolg!

    /tom

    Kommentar


      #3
      Danke Tom!
      Ich schaue mir mal an wie ich das effizient umgesetzt bekomme. Falls jemand was kennt, was einem ein bisschen Arbeit abnimmt, sehr gerne :-)

      Kommentar


        #4
        So, hab's mal mit dem angegebenen Code neu umgesetzt, stand eh noch auf der ToDo Liste. Ausgewertet werden 5 ESP's mit ESPEasy (REST-Api) sowie der Heizungsregler für die Außentemperatur (eigene Integration).

        Die LED's rechts oben in den Karten gehen grün​rot bei >5 Minuten ohne Daten (also nicht, wenn zB der Router neu gestartet wird und WLAN deshalb kurzzeitig für die ESP's nicht verfügbar ist).

        Da jedes Gerät über einen eigenen Template Sensor (Typ: binary_sensor) verfügt, könnte man hier natürlich auch sehr leicht eine automatische Alarmierung bei Zustandswechsel onof​f realisieren (per Automation). Und/oder halt Schwellwerte definieren, die zu off/on führen; dafür halt nur die Bedingung, die zu true/false führt, ändern. Oder Plots bei Sensorausfall auf 0 ziehen (dafür Messwert einfach mit dem keep_alive Sensor multiplizieren; Rest macht Python allein). Oder oder oder - Möglichkeiten ohne Ende ...

        image.png

        /tom
        Zuletzt geändert von Tom Bombadil; Heute, 15:39.

        Kommentar


          #5
          Bei KNX Geräten die einen Keep Alive senden, überwache ich den Status mit einem Binary Sensor. Wichtig ist, dass dieser über „sync_state: false“ keinen Read Request sendet und dass sich der Binary Sensor mittels „reset_after“ nach einer definierten Zeit ohne Telegramm deaktiviert. Wenn dieser Status eintrifft, hat das KNX Modul ein Problem.
          Viele Grüße ... Rudi

          Kommentar


            #6
            Danke, das mit dem sync_state und reset_after hatte ich wohl erstmal falsch gemacht...

            Kommentar

            Lädt...
            X