Hallo zusammen ,
ich bitte euch um eine Hilfestellung zu folgendem Problem,
ich versuche eine Zeitschaltung duchzuführen mit dem Türkontakt (D4) als Auslöser
in Abhängigkeit von Zeit und Wochentag , das Objekt ist eine Lampe (I1).
(siehe Anhang / see attachement)
bekomme leider diese Fehlermeldung nicht weg
WeckenFD....
(siehe Anhang / see attachement)
Könnt ihr mir bitte helfen bin langsam am verzweifeln,
habe versucht Klammern zu ändern , Punkte zu setzen alles ohne Erfolg.
Vielen Dank
Versuche es zunächst mit Änderung der Vergleiche:
($now gt "07:00" || $now lt "08:00")
sollte hier stehen.
Bitte den Code nicht als Bild sondern als Text posten, sonst muss man beim Testen deines Konstructs alles abschreiben. ;o)
MfG, MisterEltako.
Hallo ,
tschuldigung,
an die einfachsten Dinge denkt man vor
lauter Gesuche nicht mehr.
Danke erstmal für deinen Tipp leider
kam immer noch eine Fehlermeldung.
Grüsse
TRX_ARC_D4:on.* {my $now=sprintf("%%02d:%%02d",$hour,$min);{if( $now gt "07:00" || $now lt "08:00")};{fhem ("define LampAn at *04:48:00");{fhem ("set TRX_ARC_I1 on")}};{fhem ("define LampAuss at *04:50:00");{fhem ("set TRX_ARC_I1 off")}}}
2013.03.10 20:44:30 3: WeckenFD return value: syntax error at (eval 72) line 1, at EOF
define WeckenFD notify TRX_ARC_D4:on.* {\
my $now=sprintf("%%02d:%%02d",$hour,$min);;\
if( $now gt "07:00" || $now lt "08:00") {\
if (defined($defs{LampAn} {fhem('delete LampAn')}
if (defined($defs{LampAuss} {fhem('delete LampAuss')}
fhem ("define LampAn at *04:48:00 set TRX_ARC_I1 on;; define LampAuss at *04:50:00 set TRX_ARC_I1 off")}
}
Der Sinn erschließt sich mir nicht ganz. So müssten die beiden "at's" angelegt werden, wenn die aktuelle Uhrzeit zw. 7 und 8 Uhr ist???? Ist das so gewollt? Zumindestens solltest du noch Abfragen, ob die "at's" schon existieren:
if (defined($defs{LampAn})) {fhem('delete LampAn')}
if (defined($defs{LampAuss})) {fhem('delete LampAuss')}
MfG, MisterEltako.
Hallo zusammen,
eine Frage zum Code:
if( $now gt "07:00" || $now lt "08:00") {\
1. Es soll eine Aktion zwischen 07:00 und 08:00 Uhr erfolgen, oder?
2. "||" ist der oder-Operator, oder?
3. Um 05:00 Uhr ist der linke Teil der Bedingung (später ("gt") als 07:00 Uhr) nicht erfüllt, der rechte (früher ("lt") als 08:00 Uhr) erfüllt, also ist doch auch um 05:00 Uhr die Bedingung für "if" erfüllt, oder?
4. Um 09:00 Uhr ist der linke Teil der Bedingung (später ("gt") als 07:00 Uhr) erfüllt, der rechte (früher ("lt") als 08:00 Uhr) nicht erfüllt, also ist doch auch um 09:00 Uhr die Bedingung für "if" erfüllt, oder?
5. Also wird die Bedingung 24 Stunden am Tag erfüllt, oder?
Ergo müsste "||" doch durch "&&" ersetzt werden, oder?
Gruß
Thomas
Hallo,
erst mal danke für das rege Interesse .
Ich erkläre mal kurz den Hintergrund der Schaltung.
Die Schaltung ist eine Art Notwecker falls mein normaler Wecker
versagt.
Ich möchte folgendes bewirken,
wenn ich in der Zeit von 7 Uhr bis 8 Uhr die Wohnungstür öffne (habe Spätdienst)
erkennt das der Funkschalter D4 und am nächsten Tag soll 04.48 Uhr - 04.50 Uhr der
Funkschalter I1 die Lampe einschalten und mich zum Frühdienst aus dem Bett werfen ;-),am nächsten Tag dann nicht da Spätdienst.
Das wechselt bei mir jeden Tag FD -- SD-- FD....bis zum WOE ,wenn Fr. SD dann Mo. FD bzw. Fr. FD dann am Mo. SD,
Problem wäre das WOE ,wenn Fr. Spätdienst ist ,darf am WOE nichts schalten ;-) erst dann wieder am
Mo. zum FD.
Ich hoffe ich habe mich verständlich ausgedrückt.
Vielen Dank
Grüße