FHEM Forum

FHEM => Automatisierung => Thema gestartet von: heinzfo am 04 Dezember 2016, 16:58:08

Titel: Wie kann ich eine Abfrage für einen Wertebereich schreiben?
Beitrag von: heinzfo am 04 Dezember 2016, 16:58:08
Hallo

Ich möchte Lampen in Abhängigkeit von Twilight_Weather steuern.

Wie kann ich eine Abfrage für einen Wertebereich schreiben?

z.B. im Bereich von 50 - 60
ReadingsVal("Daemmerung","Twilight_Weather",99) = > 50 && < 60

Könnte das so gehen bzw. wie schreibt man das?

Danke und Grüße
Heinz
Titel: Antw:Wie kann ich eine Abfrage für einen Wertebereich schreiben?
Beitrag von: igami am 04 Dezember 2016, 17:07:22
Du must beides Mal ReadingsVal mit angeben.
Titel: Antw:Wie kann ich eine Abfrage für einen Wertebereich schreiben?
Beitrag von: heinzfo am 04 Dezember 2016, 17:11:47
Meinst Du so?
Müssen die Klammern um (ReadingsVal..) && (ReadingsVal..) sein?

( (ReadingsVal("Daemmerung","Twilight_Weather",99) >= 50) && (ReadingsVal("Daemmerung","Twilight_Weather",99) <= 60) )
Titel: Antw:Wie kann ich eine Abfrage für einen Wertebereich schreiben?
Beitrag von: Mathea am 05 Dezember 2016, 12:55:56
Mit einer DOIF Funktion würde es so aussehen:

([Daemmerung:Twilight_Weather] >= 50 and [Daemmerung:Twilight_Weather] <= 60)

Wobei ich mir gerade nicht sicher sind, wo die "99" herkommen, die du noch im ReadingsVal stehen hast.

Gruß,
Mathea
Titel: Antw:Wie kann ich eine Abfrage für einen Wertebereich schreiben?
Beitrag von: MadMax-FHEM am 05 Dezember 2016, 13:35:48
Zitat von: Mathea am 05 Dezember 2016, 12:55:56
Wobei ich mir gerade nicht sicher sind, wo die "99" herkommen, die du noch im ReadingsVal stehen hast.

Die 99 ist der "Defaultrückgabewert", wenn der Wert nicht gelesen werden konnte (Reading nicht vorhanden, Device gelöscht, ...)...

Gruß, Joachim
Titel: Antw:Wie kann ich eine Abfrage für einen Wertebereich schreiben?
Beitrag von: Mathea am 05 Dezember 2016, 13:52:59
Zitat von: MadMax-FHEM am 05 Dezember 2016, 13:35:48
Die 99 ist der "Defaultrückgabewert", wenn der Wert nicht gelesen werden konnte (Reading nicht vorhanden, Device gelöscht, ...)...

Gruß, Joachim

Wieder was gelernt! Aber braucht man das wirklich? Ich frage bei mir Twilight_Weather genau so ab wie ich es in dem DOIF Ansatz beschrieben habe und habe seither noch nie Probleme gehabt, dass ein Wert nicht gelesen werden konnte.
Titel: Antw:Wie kann ich eine Abfrage für einen Wertebereich schreiben?
Beitrag von: MadMax-FHEM am 05 Dezember 2016, 13:56:22
ReadingsVal ist nun mal so definiert: ReadingsVal("DEVICE_NAME", "READING_NAME", "DEFAULT_VALUE)...
...ergo muss was angegeben werden...

Gruß, Joachim