FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: aplatac am 17 November 2015, 18:11:55

Titel: könnte mal jemand auf meine Code-Zeile schauen, ich bekomms nicht hin :'(
Beitrag von: aplatac am 17 November 2015, 18:11:55

define Abendbeleuchtung2_an at *{twilight("Tageslicht","ss","16:30","22:00")} if ($month<12) {fhem("set HM_LampeHaustuer on")}


nach echt viel gefummel gestern, hatte gehofft dass heute das Licht an geht... leider nein. Den twilight-Part habe ich seit Wochen
in Betrieb und wollte ihn jetzt nur so erweitern, das im Dezember NICHT das Außenlicht an geht. Statt dessen wird die Außensteckdose
der Lichterketten angesteuert.

Der Code oben führt zu keiner Fehlermeldung, sollte um 16:36 ausgeführt werden aber schaltet nicht...

Danke :-)
Titel: Antw:könnte mal jemand auf meine Code-Zeile schauen, ich bekomms nicht hin :'(
Beitrag von: Icinger am 17 November 2015, 18:18:10
Du willst ein Perl-if innerhalb von FHEM verwenden.
Das kann so nicht gehn.

Entweder das IF verwenden, oder das define so abändern:

define Abendbeleuchtung2_an at *{twilight("Tageslicht","ss","16:30","22:00")} {if ($month<12) fhem("set HM_LampeHaustuer on")}

lg, Stefan
Titel: Antw:könnte mal jemand auf meine Code-Zeile schauen, ich bekomms nicht hin :'(
Beitrag von: aplatac am 17 November 2015, 19:14:09
Vielen Dank für die superschnelle Hilfe.
Ich tue mich noch schwer mit der Mischung von Sprachen, wenn man nicht wirklich Programmierer kann, ist fhem evtl. nicht der leichteste Einstieg ;)
Was mir z.B. nicht klar war, ist dass ich die Ausdrücke in geschweifen Klammern einfach angehängt werden können. Ich hätte vermutet, dass es eine umfassende Klammer um alles geben muss, woher weiß der Interpreter, dass die beiden zusammen gehören?
Titel: Antw:könnte mal jemand auf meine Code-Zeile schauen, ich bekomms nicht hin :'(
Beitrag von: dev0 am 17 November 2015, 19:21:15
Hinter timespec wird beim at noch ein command erwartet. In diesem fall ist es ein Perl Statement, könnte aber auch ein fhem Befehl sein.
Titel: Antw:könnte mal jemand auf meine Code-Zeile schauen, ich bekomms nicht hin :'(
Beitrag von: aplatac am 17 November 2015, 19:51:25
o.k. verstanden, der erste Ausdruck gehört noch zum at und der "zweite" ist somit der einzige.

Danke für die Hilfe.
Titel: Antw:könnte mal jemand auf meine Code-Zeile schauen, ich bekomms nicht hin :'(
Beitrag von: aplatac am 18 November 2015, 17:26:36
das wars noch nicht, aber ich glaube um den fhem-Befehl muss auch noch ein Klammernpaar, so:


*{twilight("Tageslicht","ss","16:30","22:00")} {if ($month<12) {fhem("set HM_LampeHaustuer on")}}


wir werden morgen sehen, ich möchte jetzt nicht an der System-zeit schrauben...
Titel: Antw:könnte mal jemand auf meine Code-Zeile schauen, ich bekomms nicht hin :'(
Beitrag von: marvin78 am 18 November 2015, 17:27:47
oder so

*{twilight("Tageslicht","ss","16:30","22:00")} {fhem("set HM_LampeHaustuer on") if ($month<12)}
Titel: Antw:könnte mal jemand auf meine Code-Zeile schauen, ich bekomms nicht hin :'(
Beitrag von: aplatac am 19 November 2015, 20:33:43
das Licht war an :)

Hm, man kann die Bedingung auch an das Ende stellen?

Vielen Dank für eure Hilfe!