Hauptmenü

Presence mit at

Begonnen von schrader, 20 Mai 2013, 20:27:32

Vorheriges Thema - Nächstes Thema

schrader

ok habe es so geändert
define Film2 notify TV.* {\
   my $now = sprintf("%%02d:%%02d",$hour,$min);;\
   my $TV = Value("TV");;\
   Log 3, "Zeit $now ,Status $TV";;\
 if (($TV eq "present") && ($now gt "20:15:00")) {\
     fhem("set TV_Licht on") if(Value("TV_Licht") ne "on")\
     Log 3, "Licht anschalten....";;\
 } else {\
     fhem("set TV_Licht off") if(Value("TV_Licht") ne "off")\
     Log 3, "Licht ausschalten....";;\
 }\
}

von
define Film2 notify TV.* {\
   my $now = sprintf("%%02d:%%02d",$hour,$min);;\
   my $TV = Value("TV");;\
   Log 3, "Zeit $now ,Status $TV";;\
 if (($TV eq "present") && ($now gt "20:15:00")) {\
     fhem("set TV_Licht on");;\
     Log 3, "Licht anschalten....";;\
 } else {\
     fhem("set TV_Licht off");;\
     Log 3, "Licht ausschalten....";;\
 }\
}

aber es kommt
2013.05.26 19:21:46 3: Film2 return value: syntax error at (eval 30565) line 1, near ")      Log "
syntax error at (eval 30565) line 1, near ")      Log "

2013.05.26 19:22:19 3: Film2 return value: syntax error at (eval 30569) line 1, near ")      Log "
syntax error at (eval 30569) line 1, near ")      Log "

2013.05.26 19:22:52 3: Film2 return value: syntax error at (eval 30573) line 1, near ")      Log "
syntax error at (eval 30573) line 1, near ")      Log "
CUL 868Mhz, CUL 433Mhz, FB 7390, FB7290, FB 7312, Elro IT,, FS20, HomeMatic,HMLAN

Puschel74

Hallo,

klar kommt die Fehlermeldung.

Du hast die Änderung auch falsch von mir übernommen.
Es fehlen die ;; am Ende der Zeile(n).

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

schrader

sorryyyyyyy....
so sollte jetzt richtig sein jetzt taucht nur noch dieses im LOG auf
2013.05.26 19:42:42 3: Zeit 19:42 ,Status present
2013.05.26 19:42:42 3: Licht ausschalten....
2013.05.26 19:43:15 3: Zeit 19:43 ,Status present
2013.05.26 19:43:15 3: Licht ausschalten....
2013.05.26 19:43:48 3: Zeit 19:43 ,Status present
2013.05.26 19:43:48 3: Licht ausschalten....
2013.05.26 19:44:21 3: Zeit 19:44 ,Status present
2013.05.26 19:44:21 3: Licht ausschalten....

das heist für mich das er zwar war nimmt das der TV present ist aber keine Sende aktion auf das TV_Licht ausführt oder....
Also auch kein Funkkontingent verbraucht wird....
CUL 868Mhz, CUL 433Mhz, FB 7390, FB7290, FB 7312, Elro IT,, FS20, HomeMatic,HMLAN

Zrrronggg!

Diese ;; hier

Log 3, "Licht ausschalten....";;\
}\
}

kannst du weglassen, die anderen nicht.

Die am Ende sind überflüssig, da die Semikolons ja Befehle voneinander trennen. Wenn nach dem letzten nix mehr zum trennen kommt, braucht man auch keine Trennzeichen mehr.
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

Puschel74

Hallo,

define Film2 notify TV.* {\
my $now = sprintf("%%02d:%%02d",$hour,$min);;\
my $TV = Value("TV");;\
Log 3, "Zeit $now ,Status $TV";;\
if (($TV eq "present") && ($now gt "20:15:00")) {\
fhem("set TV_Licht on") if(Value("TV_Licht") ne "on");;\
# Log 3, "Licht anschalten...."\
} else {\
fhem("set TV_Licht off") if(Value("TV_Licht") ne "off");;\
# Log 3, "Licht ausschalten...."\
}\
}


Das meinte Zrrronggg! mit den ;; am Ende vor der }
Und wenn du noch ein # vor das Log setzt hast du auch nichtmehr soviel Logeinträge - da der Code ja funktioniert.

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

MisterEltako

Die Logfiles dienen in erster Linie dazu das Problem/Fehler einzugrenzen. Danach kann man sie löschen.Ich persönlich würde es so verändern, da ich gern verfolge, was so passiert und mit welchen Werten. Aber da hat jeder seinen eigenen Geschmackm

define Film2 notify TV.* {\
my $now = sprintf("%%02d:%%02d",$hour,$min);;\
my $TV = Value("TV");;\
if (($TV eq "present") && ($now gt "20:15:00") && (Value("TV_Licht") ne "on")) {\
fhem("set TV_Licht on");;\
Log 3, "Licht anschalten....Zeit $now, Status $TV";;\
} elsif (Value("TV_Licht") ne "off"){\
fhem("set TV_Licht off");;\
Log 3, "Licht ausschalten....Zeit $now, Status $TV";;\
}\
}

MfG, MisterEltako.
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310