[gelöst] mehrere state zustände aggregieren

Begonnen von netbus, 29 August 2014, 11:42:15

Vorheriges Thema - Nächstes Thema

netbus

Ich möchte gerne einen schalter einschalten wenn "farbe" rot oder gelb oder grün ist.
ich hätte an so einen code gedacht aber das funkt nicht
define einschalten at +*00:15 {if(Value("farbe") eq "rot|gelb|grün") { fhem("set Funkschalter on") } else { fhem("set funkschalter off")}}
mir ist schon klar dass ich das mit {if(Value("farbe") eq "rot" || eq "gelb" || eq "grün"....} erschlagen kann.
Aber ich bräuchte es mit nur einem "eq".

betateilchen

ungetestet:

if(Value("farbe") ~~ ["rot","gelb","grün"])
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

netbus


netbus

@betateilchen
weißt du vielleicht noch wie die negation dazu aussieht?
weil ein != und ne nimmt er nicht

frank

if(!(Value("farbe") ~~ ["rot","gelb","grün"]))
und das geht auch nicht?
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