FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: stefan-dd am 10 Juli 2017, 20:01:26

Titel: IF DOIF abfragen
Beitrag von: stefan-dd am 10 Juli 2017, 20:01:26
Ich habe mit folgender Abfrage ein Problem. Es sollen die beiden DOIF abgefragt werden, stehen beide auf cmd_2 soll der if Zweig verarbeitet werden.
Irgendwie hängt es an der doppelten Abfrage?

if(Value("Beschattung_sued:state") eq "cmd_2" && Value("Beschattung_sued70:state") eq "cmd_2")

Was mache ich falsch?
Titel: Antw:IF DOIF abfragen
Beitrag von: CoolTux am 10 Juli 2017, 20:26:02
Bitte ein list vom gesamten DOIF

list ist ein FHEM Befehl
Titel: Antw:IF DOIF abfragen
Beitrag von: stefan-dd am 10 Juli 2017, 20:42:45
Habe den Fehler gefunden. Den DOIF Positionen hatte ich Namen zugeordnet, diese muss ich abfragen. Statt cmd_2 -> öffnen.
Titel: Antw:IF DOIF abfragen
Beitrag von: rabehd am 10 Juli 2017, 20:47:41
Ich hätte da mal in die Commadref geschaut  :(

ZitatUm auf die Gerätestati/Attribute zuzugreifen benutzen Sie bitte die folgenden Funktionen:

    Value(<devicename>)
    gibt den Status eines Gerätes zurück (entsprechend dem Ausdruck in Klammern, den Sie beim List-Befehl sehen).

    OldValue(<devicename>)
    OldTimestamp(<devicename>)
    gibt den vorherigen Wert/Zeitstempel des Gerätes zurück.

    ReadingsVal(<devicename>,<reading>,<defaultvalue>)
    Gibt den Inhalt der "readings" zurück (den Inhalt der in dem "Readings"-Abschnitt von "list device" angezeigt wird)

state ist ein Reading, also ReadingsVal.
STATE wiederrum wird mit Value abgefragt.

Den Syntax Value(device:Reading) kemne ich nicht. Vielleicht funktionert er?
Eine einfache Prüfung wäre (Value("Beschattung_sued:state") im Log auszugeben, dann wüßte man ob das passt.