FHEM Forum

FHEM => Automatisierung => Thema gestartet von: TWART016 am 03 September 2017, 02:23:50

Titel: [gelöst] Readings vergleichen und Aktion ausführen
Beitrag von: TWART016 am 03 September 2017, 02:23:50
Hallo,

ich würde gerne 2 Readings vergleichen. Wenn beide gleich sind, soll ein Player die Musik starten, sind die Werte unterschiedlich, soll eine Playlist gestartet werden.

Die Readings können Strings und/oder Zahlen enthalten.

testStatus2.* {if (Value("Playlist_Wohnzimmer:state") eq (Value("SB_Player_Bad:currentPlaylistName"))) {fhem ("set SB_Player_Bad play")} else {fhem ("set SB_Player_Bad playlists" .ReadingsVal("Playlist_Wohnzimmer","state",""))}}

Bei dem Code greift jedoch nur die erste Bedingung. Das Else hat keine Wirkung, egal ob die beiden Readings gleich sind, oder unterschiedlich.

Hat einer eine Idee?


Gruß
TWART016
Titel: Antw:Readings vergleichen und Aktion ausführen
Beitrag von: amenomade am 03 September 2017, 02:30:10
Falsche Syntax

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

ReadingsVal(<devicename>,<reading>,<defaultvalue>)
Gibt den Inhalt der "readings" zurück (den Inhalt der in dem "Readings"-Abschnitt von "list device" angezeigt wird)
Titel: Antw:Readings vergleichen und Aktion ausführen
Beitrag von: amenomade am 03 September 2017, 02:45:01
Oder Du schreibst alles mit fhem Befehle

testStatus2.* IF ([Playlist_Wohnzimmer:state] eq [SB_Player_Bad:currentPlaylistName]) (set SB_Player_Bad play) ELSE (set SB_Player_Bad playlists [Playlist_Wohnzimmer:state])
Titel: Antw:Readings vergleichen und Aktion ausführen
Beitrag von: TWART016 am 04 September 2017, 00:48:15
Natürlich ist die Syntax falsch. War einach schon zu spät   ???

Zitat von: amenomade am 03 September 2017, 02:45:01
testStatus2.* IF ([Playlist_Wohnzimmer:state] eq [SB_Player_Bad:currentPlaylistName]) (set SB_Player_Bad play) ELSE (set SB_Player_Bad playlists [Playlist_Wohnzimmer:state])
Die Ansicht gefällt mir deutlich besser. Vielen Dank.