Notify mit größer als = ???

Begonnen von o.l.i, 12 Mai 2023, 17:36:36

Vorheriges Thema - Nächstes Thema

o.l.i

Hallo FHEM Leute,

ich erhalte von der Homematic Wetterstation bei Sturm ein Reading mit der Windstärke, in meinem Bsp ist es 52.
Jetzt möchte ich ein Notify bauen welches ein Logik ausführt wenn der Wert größer als 30 ist.

VCCU_Btn1:trigLast:.Wetterstation:52
{
Logik
}

Meine Frage ist, wie ich in der ersten Zeile das >30 einbaue, so dass das Notify ausgeführt wird.

Danke
Oliver

betateilchen

VCCU_Btn1:trigLast:.Wetterstation:52
{
return if (ReadingsNum(device,reading,default) <= 30);
restlicher Ausführungsteil...
}
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

ich denke der Vorschlag funktioniert nicht ;)
zum einen, denke ich, es wird gar nicht triggern, da zwischen readingname und Wert normalerweise noch ein Leerzeichen ist: Wetterstation: 52
zum anderen, wenn überhaupt, wird das notify ja nur bei 52 triggern, die Logik dahinter ist für die Katz. ;)

Ich würde es so versuchen
VCCU_Btn1:trigLast:.Wetterstation:.*
{
return if (ReadingsNum(device,reading,default) <= 30);
restlicher Ausführungsteil...
}
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

betateilchen

#3
Du hast zwar Recht, aber Du hast mal wieder die grundsätzliche Frage nicht erkannt  ::)

Die Grundsatzfrage ist doch, wie man die Ausführung im notify "verhindert", wenn eine bestimmte Bedingung nicht erfüllt ist.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

TomLee

Zu verstehen wie notify genau tickt bin ich noch weit entfernt und unabhängig vom zuletzt angesprochenen Punkt, stell ich mir die Frage, rein aus Interesse, ob es es einen effektiveren Weg gibt das zu lösen, wie die jetzt genannte Lösung ?

Es würde mit der jetzigen vorgeschlagenen Lösung doch öfter im Ausführungsteil verhindert werden was zu tun (auslösen würde es ja immer unter 30), wie wenn man nur auf Events größer 30 reagieren würde ?

Oder macht das am Ende gar keinen Unterschied, was die Last betrifft ?

betateilchen

Zitat von: TomLee am 12 Mai 2023, 20:52:28ob es es einen effektiveren Weg gibt das zu lösen, wie die jetzt genannte Lösung ?

Natürlich gibt es den.
Dazu bräuchte man aber mehr Details, welche Werte überhaupt vorkommen können.

VCCU_Btn1:trigLast:.Wetterstation:[3-9][0-9]
würde auf die Werte 30-99 triggern.
(Vorausgesetzt, VCCU_Btn1:trigLast:.Wetterstation: wäre grundsätzlich eine gültige event-Regex)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Otto123

Zitat von: betateilchen am 12 Mai 2023, 20:29:23aber Du hast mal wieder die grundsätzliche Frage nicht erkannt 
Die hattest Du doch schon erkannt :)
Aber Du hast meinen Einwand nicht gelesen: da fehlt der match für das Leerzeichen.
VCCU_Btn1:trigLast:.Wetterstation:.[3-9][0-9]
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

frank

#7
ich behaupte mal, dass der vergleich im notify überflüssig wird, wenn man den sensor entsprechend konfiguriert.

https://wiki.fhem.de/wiki/HM-WDS100-C6-O_Funk-Kombi-Sensor_OC3#Sturmerkennung
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

CoolTux

Bleibt die Frage. Soll das Notify fortlaufend auslösen wenn die Werte größer 30 bleiben? Ich gehe davon aus das nur einmal ausgelöst werden soll bei größer 30.
Na schauen wir mal was der TE überhaupt erreichen möchte. Vielleicht mal das ganze Szenario beschreiben.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net