FHEM Forum

FHEM => Automatisierung => Thema gestartet von: dogexan am 21 Mai 2014, 17:00:10

Titel: 2 mal ReadingsVal in einer if Funktion abfragen
Beitrag von: dogexan am 21 Mai 2014, 17:00:10
Hallo FHEM Forum, :)

ich möchte gerne dass einen Dummy anzeigt ob es Regen gibt oder nicht. Dafür möchte ich 2 Werte aus dem Yahoo Wetter Modul abfragen. Das Problem: Wie verknüpfe ich die 2 Abfragen mit einem "oder"?
Der folgende Code (spuckt) immer nur "kein Regen" aus.

define nDruck notify Wetter { if(ReadingsVal("Wetter", "pressure", "985")>985 || ReadingsVal("Wetter", "pressure_trend_txt", "steigend")) {fhem("attr Druck stateFormat kein Regen")} else {fhem("attr Druck stateFormat Regen")}}

Ich hab das ganze auch mal mit "at" probiert, kommt aber das selbe bei raus, wie beim notify.
Verschiedene Klammer Setzungen habe ich schon ausprobiert, leider ohne Erfolg :-[

Das ganze soll mit meiner Bewässerungsanlage gekoppelt werden. Damit diese etwas effizienter wird. ;)
Titel: Antw:2 mal ReadingsVal in einer if Funktion abfragen
Beitrag von: strauch am 21 Mai 2014, 17:07:06
define nDruck notify Wetter { if(ReadingsVal("Wetter", "pressure", "") >= 985 || ReadingsVal("Wetter", "pressure_trend_txt", "") eq "steigend") {fhem("attr Druck stateFormat kein Regen")} else {fhem("attr Druck stateFormat Regen")}}

da haste vergessen was die zweite Bedinung sein soll.... so sollte das klappen...
Titel: Antw:2 mal ReadingsVal in einer if Funktion abfragen
Beitrag von: dogexan am 21 Mai 2014, 17:14:08
Super funktioniert!!!!!

ich dachte immer "eq" darf man nur bei "Value(...)" verwenden.

Vielen Dank!
Titel: Antw:2 mal ReadingsVal in einer if Funktion abfragen
Beitrag von: strauch am 21 Mai 2014, 17:30:20
Zitat von: dogexan am 21 Mai 2014, 17:14:08
Super funktioniert!!!!!

ich dachte immer "eq" darf man nur bei "Value(...)" verwenden.

Vielen Dank!

Nein eq heißt nur equal und wird bei Strings verwendet die keine Zahlen enthalten. Sonst ==. Das hat mit Value nichts zu tun, ist ja perl.