Originally posted by: <email address deleted>
Das ist jetzt kein twilight-Problem, sondern scheinbar ein (mein) Problem
beim Umgang/Kombination von perl-Ausdrücken in fhem.
Zielsetzung: eine Außenbeleuchtung(Lampe) soll von 6:30 bis Sonnenaufgang
leuchten, wenn kein Wochenende ist.
Folgendes funktionert, aber noch ohne die if(!$we)-Bedingung, also täglich:
define SunriseLamp at *06:30 set Lampe on-till
{ReadingsVal("myTwilight","sr",0)} (funktioniert)
Ich scheitere an der Syntax, wenn ich die if(!$we)-Bedingung zusätzlich
einbinde.
Für die Definition am Abend habe ich die if(!$we)-Bedingung so eingebunden
(was auch funktioniert):
define SunsetLamp at *{ReadingsVal("myTwilight","ss",0)} { fhem("set Lampe
on-till 23:00") if(!$we) } (funktioniert)
Das habe ich (unter anderem) versucht:
define SunriseLamp at *06:30 { fhem("set Lampe on-till
{ReadingsVal("myTwilight","sr",0)}") if(!$we) } (funktioniert nicht)
im Log: Bareword found where operator expected at ... (Missing operator
before myTwilight?)
syntax error at (eval 166) line 1, near ""set Lampe on-till
{ReadingsVal("myTwilight"
Liegt das an der Verschachtelung(Vermischung) von fhem-perl-fhem-perl? Wie
kann ich also dem
define SunriseLamp at *06:30 set Lampe on-till
{ReadingsVal("myTwilight","sr",0)}
die if(!$we)-Bedingung hinzufügen?
Heinz
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Gelöst mit:
define SunriseLamp at *06:30 {fhem("set Lampe on-till {sunrise_abs()}")
if(!$we)}
Weiß nicht, warum das mit {sunrise_abs()} funktioniert, aber mit
{ReadingsVal("myTwilight","sr",0)} nicht.
VG Heinz
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Originally posted by: <email address deleted>
Nun habe ich weiter gesucht und folgendes festgestellt:
Auch {sunrise_abs()} funktioniert nur, solange keine Argumente mit
"Hochkomma" benutzt werden. Es funktioniert also:
{fhem("set Lampe on-till {sunrise_abs()}") if(!$we)} oder
{fhem("set Lampe on-till {sunrise_abs(+600)}") if(!$we)} oder
{fhem("set Lampe on-till {sunset_abs(-1800)}") if($we)} u.s.w., aber nicht
so etwas wie
{fhem("set Lampe on-till {sunrise_abs("REAL",0,"06:30","09:00")}")
if(!$we)}, folglich auch kein
{fhem("set Lampe on-till {ReadingsVal("myTwilight","sr_indoor",0)} if(!$we)}
Meine Lösung sieht nun so aus:
define SunriseLamp at *06:30 { \
my $twtime = ReadingsVal("myTwilight","sr_indoor",0);;\
fhem("set Lampe on-till $twtime") if (!$we);;\
}
Das ermöglicht mir nun doch den Einsatz von twilight (da finde ich die
Readings-Übersicht sehr hilfreich) und kann trotzdem weitere if-Bedingungen
verknüpfen.
:) :) :)
Heinz
--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com