Auslöser identifizieren und auf LCD-Display anzeigen

Begonnen von Jogi, 07 September 2018, 16:22:52

Vorheriges Thema - Nächstes Thema

Jogi

Hallo,
ich versuche meine Problemstellung so gut wie möglich zu beschreiben:
Ich habe mehrere Devices, die ich mit einem DOIF überwache. Sobald eines dieser Devices einen Fehler anzeigt, bekomme ich eine Fehlermeldung.
Das funktioniert tadellos (hier ein Auszug aus dem List):
Internals:
   DEF        ([Alarm_Kaltwasser] eq "off" and
[Pumpe_Dauerbetrieb] eq "off" and
[Strominv1d] eq "off" and
[Wasser_Speicher] eq "off" and
[Wasser_Keller] eq "off" and
[Temperaturwarnung] eq "off" and
[Alarm_Kaltwasser_Keller] eq "off")
(set FHEM_Stoerung_XT2 on;set FHEM_StoerVerz1 off) DOELSE (set FHEM_StoerVerz1 on)
   MODEL      FHEM
   NAME       FHEMS12doif
   NR         399
   NTFY_ORDER 50-FHEMS12doif
   STATE      cmd_1
   TYPE       DOIF
   READINGS:
     2018-09-05 18:45:42   Device          Alarm_Kaltwasser
     2018-09-05 18:45:42   cmd             1
     2018-09-05 18:45:42   cmd_event       Alarm_Kaltwasser
     2018-09-05 18:45:42   cmd_nr          1
     2018-09-05 18:45:42   e_Alarm_Kaltwasser_STATE off
     2018-08-04 19:58:35   e_Pumpe_Dauerbetrieb_STATE off
     2018-07-26 21:47:37   e_Strominv1d_STATE off
     2018-06-23 14:02:36   e_Strominv2d_STATE off
     2018-07-26 17:08:08   e_Temperaturwarnung_STATE off
     2018-06-23 14:00:09   mode            enabled
     2018-09-05 18:45:42   state           cmd_1
   Regex:

was ich nun möchte ist, den Auslöser in einem LCD-Display anzeigen.
Beispiel:
Geht der "Temperaturwarnung" auf "on", soll im Display "Temperaturwarnung" erscheinen.
Meine Frage: Wie mache ich am einfachsten die Abfrage der Readings, dass ich am Ende nur das Reading bekomme, welches ausgelöst hat? Wie ich das dann auf das Display bekomme weiß ich.
Mit dem DOIF bekomme ich ja nur gemeldet, OB eines der Devices ausgelöst hat, aber nicht WELCHES.
Mir fehlt da komplett die Idee, wie ich das einfach (!) realisiere. Vielleicht stehe ich auch einfach nur auf dem Schlauch.
Ich habe schon gegoogelt und auch im Forum gesucht, aber entweder habe ich falsch gesucht (was gut sein kann) oder ich habe nichts gefunden.
Ich erwarte keine fertige Lösung, eine Idee oder das richtige Stichwort zur Suche reicht mir wahrscheinlich.

Vielen Dank,
Jogi


Ellert

Du könntest Im DOELSE-Zweig ein Reading setzen, das den Gerätnamen enthält.
setreading $SELF Warnung_des_Geraetes $DEVICE
Im anderen Zweig setzt Du es zurück.

Jogi

Zitat von: Ellert am 07 September 2018, 17:59:17
Du könntest Im DOELSE-Zweig ein Reading setzen, das den Gerätnamen enthält.
setreading $SELF Warnung_des_Geraetes $DEVICE
Im anderen Zweig setzt Du es zurück.

Vielen Dank, werde ich mal ausprobieren.