Anfängerproblem mit Notify

Begonnen von Edi77, 04 Oktober 2015, 00:31:28

Vorheriges Thema - Nächstes Thema

Edi77

Ich möchte den Wert des LDR auswerten und wenn der Wert unter 750 fällt, eine LED einschalten.

define LEDD9dummy3 NOTIFY LDRA0 {\
   if ( Value("LDRA0") eq < 750 ){\
   fhem("set LEDD9 on");;\
   } else {
   fhem("set LEDD9 off");;\
   }\
}

Aber ich bekomme immer
2015.10.04 00:32:24 3: LEDD9dummy3 return value: Unknown command {
, try help.
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

rapster

Zitateq <
Du musst dich schon entscheiden, entweder string-equal, oder numeric-less-than, beides geht nicht ;)

Gruß
  Claudiu

Edi77

#2
Ok habe es abgeändert.
define LEDD9dummy3 NOTIFY LDRA0:reading:* {if "%" < 750 {fhem ("set LEDD9 on")} else {fhem ("set LEDD9 off")}}

leiter tut sich aber nichts.

Das Logfile des LDR ......

2015-10-04_01:54:25 LDRA0 reading: 613
2015-10-04_01:54:26 LDRA0 reading: 612
2015-10-04_01:54:26 LDRA0 reading: 613
2015-10-04_01:54:26 LDRA0 reading: 614
2015-10-04_01:54:27 LDRA0 reading: 615

Der Zustand kann ich aber manuell ändern

#LED Test
define LEDD9 FRM_OUT 6
attr LEDD9 IODev FIRMATA1
attr LEDD9 room FIRMATA
attr LEDD9 stateFormat value
attr LEDD9 eventMap on:on off:off
attr LEDD9 webCmd on:off
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

rapster

Da sah die syntax vorhin sogar fast noch besser aus...

1. Les dir die Commandref zu notify durch, denn:
ZitatAchtung: Folgende Vorgehensweise ist abgekündigt, funktioniert bis featurelevel 5.6 und wird in einem zukünftigen Release von FHEM nicht mehr unterstützt.
2. Ich weiss nicht was das ist, aber es ist weder perl noch fhem syntax. Klammern z.B. sind nicht optional ;)
   - Kauf dir ein kleines Perl-Buch und les dich zumidnest ein wenig in die Grundlagen ein,
   - oder schau dir das modul DOIF an bei dem du zumindest für diese Aufgabe keine Perl-Kentnisse benötigst und viele Beispiele in der Commandref gestellt bekommst.

Edi77

define LEDD9dummy3  DOIF ([LDRA0] < 750) (set LEDD9 on) DOELSE (set LEDD9 off)

funktioniert. DANKE

Kannst du ein Perl Buch empfehlen?
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

rapster

Super ;)

Mit diesem Perl Buch habe ich vor etwas über 5 Jahren angefangen, und war sehr zufrieden damit :)
http://www.amazon.de/gp/product/3897218879
Evtl. gibt es davon schon eine neuere Ausgabe...

Edi77

Klingt gut, der bekannte O'Reilly Verlag, DANKE ;)
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D