Hallo in die Runde,
fhem> {fhem("get DM500 power")}
off
fhem> {if({fhem("get DM500 power")} == "off") {fhem("{Log 1, 'Status ist OFF'}")}}
Aber es wird aber kein Log geschrieben. Die Bedingung "gleich off" schein nicht zu greifen. Nur die Frage warum nicht, wenn doch ein "get DM500 power" ein off liefert.
Modul 70_ENIGMA2.pm
Internals:
CFGFN /opt/fhem/FHEM/enigma2.cfg
CHANGED
DEF 192.168.178.38 80 60
INTERVAL 60
NAME DM500
NR 142
STATE off
TYPE ENIGMA2
Readings:
2013-11-24 19:42:30 acg 0
2013-11-24 19:42:30 apid -
.
.
.
2013-11-24 19:42:30 pmtpid -
2013-11-24 19:42:29 power off
Hi,
{if (ReadingsVal("DM5000","power","nix") eq "off") {....}}
ReadingsVal liest den wert aus, falls kein Wert vorhanden wird in diesem fall "nix" zurückgegeben
sieht nicht nur schöner aus, sondern funktioniert auch.
Danke
Hi,
nur für's
nächste Mal und damit du auch den Grund kennst...
Zitat von: sceadm am 24 November 2013, 21:12:00... funktioniert auch.
Ja, denn Werte wie "off", "on" usw. (also Strings/Zeichenketten) vergleicht man mit 'eq' (= equal => gleich) bzw. 'ne' (= not equal => ungleich) statt wie bei Zahlen per '==' bzw. '!='.
if({fhem("get DM500 power")} == "off")
hätte also lauten müssen
if({fhem("get DM500 power")} eq "off")
(unterstellt, dass sonstige Fehler latürnich nicht vorhanden sind ;) ).
In diese "Pfütze" tappe ich aber auch noch ab und zu rein ;)
Gruß
Thomas