FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Stargazer am 15 August 2018, 09:56:17

Titel: UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: Stargazer am 15 August 2018, 09:56:17
Hallo zusammen,

ich habe da eine Frage zu einem Problem, welches ich in dieser Form noch nicht hatte.

Und zwar nutze ich die Daten des UWZ-Moduls (Unwetterzentrale) um eine Warnung vor Gewitter abzugreifen. Ein DoIF-Modul greift den Wert ab und schaltet einen Dummy. Eigentlich recht einfach.

Wenn eine Gewitterwarnung vorliegt, zeigt er das unter "Warn_0_Type" mit einer 7 an. Diese kann ich ja direkt auswerten.
Doch wenn die Warnung aufgehoben wurde ist das Reading weg und das DOIF beklagt sich natürlich.

Wie kann ich lösen ? Habe da derzeit noch keinen Plan.

Viele Grüße und besten Dank

André
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: Pfriemler am 15 August 2018, 10:07:24
Frag das Reading in der alten "Langfassung" mit ReadingsVal ab - dort kannst Du einen Default setzen genau für den Fall dass das Reading nicht existiert. Daran kannst Du ggf. auch erkennen und auswerten, dass es nicht existiert.
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: tomspatz am 15 August 2018, 10:07:31
Moin
Ich bin da auch im Moment dran, so habe ich es geschrieben. Allerdings noch ungetestet da keine Warnung vorliegen:
defmod UWZ_Benachrichtigung DOIF ([Unwetterzentrale:WarnCount:d] == 0) (\
msg @rr_Tom |Unwetterwarnung !| Keine Unwetterwarnungen vorhanden.) \
DOELSE (\
msg @rr_Tom |Unwetterwarnung !| <b>[Unwetterzentrale:Warn_0_ShortText].</b> \n[Unwetterzentrale:Warn_0_LongText] \n \nWarnung gültig vom: [Unwetterzentrale:Warn_0_Start_Date]  [Unwetterzentrale:Warn_0_Start_Time] Uhr \nbis zum: [Unwetterzentrale:Warn_0_End_Date]  [Unwetterzentrale:Warn_0_End_Time] Uhr)\

attr UWZ_Benachrichtigung do always


LG
Tom
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: darkness am 15 August 2018, 10:26:20
Hm, bei Warn_0_Type ist die Null doch abhängig von der Anzahl der Meldungen? Oder liege ich da falsch?
Es kann doch also auch Warn_[0...9]_Type geben?

Leider habe ich gerade keine Warnmeldung aktiv  ;)


Edit:
Vielleicht hilft das auch weiter :
https://forum.fhem.de/index.php/topic,51233.msg462487.html#msg462487
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: Damian am 15 August 2018, 10:41:25
Auch bei DOIF gibt es die Möglichkeit einen Defaultwert anzugeben, wenn es kein Reading gibt

z.B. mit -1

([Unwetterzentrale:Warn_0_Type,-1] == 7)...
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: Stargazer am 15 August 2018, 11:45:13
Hallo zusammen,

vielen Dank für eure Hilfe!
Das hört sich soweit echt gut an.

@Damian: Okay..das kannte ich bis jetzt noch nicht.
Ich habe das mal ins DOIF eingebaut. Es scheint gut zu laufen. Zumindest tut er nun das, was er bei einer Nicht-Meldung machen soll. Auch checkall bleibt ohne Fehler.
Ich warte jetzt mal eine Warnung ab und melde mich dann hier nochmals.

Besten Dank nochmal und VG

André
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: tomspatz am 15 August 2018, 11:56:12
Warn_0_Type
ist ein Reading welches es OHNE Warnungen gar nicht gibt. M.E. muss man das auch gar nicht als Trigger nutzen.
WarnCount
dagegen ist IMMER da.

LG
Tom
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: Stargazer am 15 August 2018, 13:03:21
Hallo Tom,

der WarnCount ist immer da, das stimmt.
Ich möchte aber nur den Typ 7, die Gewitter, anfangen.
Gestern, als der Typ noch aktiv war, zeigte WarnCount eine 1
an. Also eine einzige anstehende Meldung.
Das hätte ich dann bei einer Warnung für Glätte auch. Diese ist für mich jedoch uninteressant.

Darum die Auswertung des "Warn_type".

VG

André
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: tomspatz am 15 August 2018, 13:15:23
ZitatGestern, als der Typ noch aktiv war, zeigte WarnCount eine 1
Ist schon klar aber das Reading
Warn_0_ShortText
und viele andere
Ist in dem Fall dann ja auch mit aussagekräftig.

ist ja nur ne Idee

LG
Tom
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: Stargazer am 15 August 2018, 14:17:37
Hallo Tom,

was du schreibst ist vollkommen korrekt  ;).
Nur brauche ich halt keinen Text zum Anzeigen, sondern ein Warnkriterium um etwas zu schalten.

Ich habe das UWZ-Modul seit gestern im Einsatz. Nur was passiert mit dem "warn_type" - Reading, wenn z. B. erst die 7 und dann z. B. die 9 auftaucht ? Es wird da doch immer die aktuellste Meldungskategorie angezeigt, oder ?
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: darkness am 15 August 2018, 14:46:12
Darf ich mal fragen was dein Ziel ist?

Du hast eine Meldung Gewitter und kurze Zeit später eine Meldung Schneefall. Dann steht doch in Warn_0_Type = 3 und in Warn_1_Type = 7 (Gültigkeiten entsprechend vorausgesetzt). Oder die Meldungen gleichzeitig kommen.

Daher solltest du doch alle vorhandenen Meldungen auswerten und wenn eine davon Warn_X_Type = 7 ist entsprechend reagieren.
Titel: Antw:UWZ - Modul - Wie eine Gewitterwarnung mit DOIF auswerten, wenn Reading nicht da
Beitrag von: Stargazer am 15 August 2018, 15:17:41
Ja.. das muss ich dann erst selber sehen, wie die Kategorisierung der warn_type's ist. Wenn die so gestaffelt auflaufen, muss ich die natürlich mit berücksichtigen.

Danke für die Info, @Darkness !

VG

André