notify mit 2 fs20 geräten

Begonnen von Tobi.W, 08 September 2013, 21:52:36

Vorheriges Thema - Nächstes Thema

Tobi.W

Ich versuche eine Lampe anzuschalten, wenn 2 Schalter gleichzeitig an sind, ich verstehe nicht was an diesem miniprogramm falsch ist, hat jemand eine Idee?

define ANLAGE_STATUS dummy
attr ANLAGE_STATUS room Alarmanlage
define ANLAGE_SCHARF FS20 a11f 00
attr ANLAGE_SCHARF dummy 1
attr ANLAGE_SCHARF room Alarmanlage
define ANLAGE_SCHARF_intern FS20 a11f 01
attr ANLAGE_SCHARF_intern dummy 1
attr ANLAGE_SCHARF_intern room Alarmanlage
define Scharfanzeige1 FS20 22224222 00
attr Scharfanzeige1 IODev CUL_0
attr Scharfanzeige1 room Alarmanlage
define Scharfanzeige2 FS20 22224222 01
attr Scharfanzeige2 IODev CUL_0
attr Scharfanzeige2 room Alarmanlage

define alarmtest notify (ANLAGE_SCHARF|ANLAGE_SCHARF_intern) {
my $r1 = value("ANLAGE_SCHARF");;
my $r2 = value("ANLAGE_SCHARF_intern");;

 if ($r1 eq "on" && $r2 eq "on") {
   fhem "set Scharfanzeige2 on"
 } else {
   fhem "set Scharfanzeige2 off"
 }
}

Ich bekomme da folgende Fehlermeldung:
Unknown command my, try help Unknown command my, try help Unknown command if, try help Unknown command fhem, try help Unknown command }, try help Unknown command fhem, try help Unknown command }, try help Unknown command }, try help


Markus

Ich hab es so gelöst

define Fenster_Bad notify Fenster_Bad:open {\
if ( Value("ANLAGE_STATUS") ne "unscharf" && Value("ANLAGE_STATUS") ne "on") \
{ fhem "set Alarm on"} \
}


Gruß Markus
Raspberry Pi2 als FHEM-Plattform
HM, FS20, 1-Wire, PanStamp,LW12,Intertechno,ESPEasy,Alexa

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Zrrronggg!

Zitatdefine alarmtest notify (ANLAGE_SCHARF|ANLAGE_SCHARF_intern) {
my $r1 = value("ANLAGE_SCHARF");;
my $r2 = value("ANLAGE_SCHARF_intern");;
ZitatUnknown command my, try help

Fast selbsterklärend:
Backslash am Ende Zeilenende vergessen.

Ausserdem:

Zitatmy $r1 = value("ANLAGE_SCHARF");;
my $r2 = value("ANLAGE_SCHARF_intern");;

if ($r1 eq "on" && $r2 eq "on")

Warum dieses Konstrukt? Wäre simpel:

{ if ("$value{ANLAGE_SCHARF}" eq "on" && "$value{ANLAGE_SCHARF_intern}" eq "on") { fhem("fhem "set Scharfanzeige2 on"...

nicht einfacher?
Ferner:
bei Alarmanlagen die ich so kenne würde  damit die Scharfanzeige *nie* an gehen, da eine Alarmanlage ENTEWEDER "scharf intern" ist ODER "scharf", aber nicht beides zugleich.
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL