Hauptmenü

Sunset und Sunrise

Begonnen von Puschel74, 06 März 2012, 17:32:45

Vorheriges Thema - Nächstes Thema

Puschel74

                                               

Hallo zusammen,

ich steh noch ein bischen auf dem Kriegsfuss mit dem Syntax von fhem.

Ich habe bisher mit

define zuhause_on notify EG_Eingang_Bewegungsmelder:on.* { \
if( $hour >= 19 || $hour <= 5) { \
fhem ("set EG_Vorraum_Licht on-for-timer 120")\
fhem ("set EG_Vorraum_Licht on-for-timer 120")\
 }\
}

2 Lampen im Eingangsbereich geschaltet was auch wunderbar funktioniert
hat - bis ich morgens mal später zur Arbeit bin und das Licht ab 05:01
nichtmehr eingeschaltet hat - logisch.
Nun wollte ich mit
 if( sunset_abs(-1800) >= sprintf("%%02d:%%02d", $hour, $min) &&
sunrise_abs(1800) <= printf("%%02d:%%02d", $hour, $min)) { \
(leicht abgewandelt aus dem Wiki)
anstelle von
if( $hour >= 19 || $hour <= 5) { \
das Licht innerhalb der Sonnenuntergangs (-30 Minuten)- und -
aufgangszeit (+30 Minuten) schalten lassen was aber leider nicht
klappt.
Das Licht reagiert den ganzen Tag auf den Bewegungsmelder.

Über eine kleine Hilfestellung wäre ich Euch dankbar.

Grüße

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
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.

Oskar

                                                     

Am 06.03.2012 um 17:32 schrieb puschel74:

> Hallo zusammen,
>
> ich steh noch ein bischen auf dem Kriegsfuss mit dem Syntax von fhem.

Du meinst perl.

> Nun wollte ich mit
> if( sunset_abs(-1800) >= sprintf("%%02d:%%02d", $hour, $min) &&
> sunrise_abs(1800) <= printf("%%02d:%%02d", $hour, $min)) { \
> (leicht abgewandelt aus dem Wiki)

Wo im Wiki?

> anstelle von
> if( $hour >= 19 || $hour <= 5) { \
> das Licht innerhalb der Sonnenuntergangs (-30 Minuten)- und -
> aufgangszeit (+30 Minuten) schalten lassen was aber leider nicht
> klappt.
Weil Du nämlich nicht Äpfel mit Birnen, sorry...

das ergibt ausgewertet sowas wie
if( "18:57:30" >= "18:00" && ....)
Das kann nicht funktionieren, weil >= nur mit Zahlen funktioniert, Du hast hier aber Zeichenketten.

Bleibt nur entweder umwandeln, oder aber, wenn's in der Dämmerung auch ohne Licht geht, isday().



--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
fhem geht auch auf mac os x

Puschel74

                                               

Äh ja Syntax von Perl,
und das obwohl ich das Anfängerbuch am durchlesen bin ^^

Nach deiner Auswertung nach stimmt schon - ich vergleich mal wieder
Äpfel mit Birnen *grumpf*

Dann müsste ja anstelle von >= ein gt und von <= ein lt besser passen
und
sprintf("%%02d:%%02d", $hour, $min)
um
sprintf("%%02d:%%02d:%%02d", $hour, $min, $sec)
ergänzt sollte auch die Auswertung passen, oder seh ich das falsch?

Gleich mal probieren.

Grüße

On 6 Mrz., 18:07, Jan-Hinrich Fessel wrote:
> Am 06.03.2012 um 17:32 schrieb puschel74:
>
> > Hallo zusammen,
>
> > ich steh noch ein bischen auf dem Kriegsfuss mit dem Syntax von fhem.
>
> Du meinst perl.
>
> > Nun wollte ich mit
> > if( sunset_abs(-1800) >= sprintf("%%02d:%%02d", $hour, $min) &&
> > sunrise_abs(1800) <= printf("%%02d:%%02d", $hour, $min)) { \
> > (leicht abgewandelt aus dem Wiki)
>
> Wo im Wiki?
>
> > anstelle von
> > if( $hour >= 19 || $hour <= 5) { \
> > das Licht innerhalb der Sonnenuntergangs (-30 Minuten)- und -
> > aufgangszeit (+30 Minuten) schalten lassen was aber leider nicht
> > klappt.
>
> Weil Du nämlich nicht Äpfel mit Birnen, sorry...
>
> das ergibt ausgewertet sowas wie
> if( "18:57:30" >= "18:00" && ....)
> Das kann nicht funktionieren, weil >= nur mit Zahlen funktioniert, Du hast hier aber Zeichenketten.
>
> Bleibt nur entweder umwandeln, oder aber, wenn's in der Dämmerung auch ohne Licht geht, isday().

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
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.

Puschel74

                                               

War ja klar das das auch nicht klappt, wär ja zu schön gewesen.

Auf deine Frage wo im Wiki:

Ich habe das
sunset_abs(1800) lt sprintf("%%02d:%%02d", $hour, $min))
aus dem
http://fhemwiki.de/wiki/Licht_bei_Bedingungen_einschalten
genommen und dachte ich kann das recht einfach umstricken das es
passt.

Pustekuchen

Es geht mir eigentlich gerade um die Funktion während der Dämmerung -
das da das Licht auch einschaltet (daher -1800 / + 1800).

Grüße

On 6 Mrz., 18:21, puschel74 wrote:
> Äh ja Syntax von Perl,
> und das obwohl ich das Anfängerbuch am durchlesen bin ^^
>
> Nach deiner Auswertung nach stimmt schon - ich vergleich mal wieder
> Äpfel mit Birnen *grumpf*
>
> Dann müsste ja anstelle von >= ein gt und von <= ein lt besser passen
> und
> sprintf("%%02d:%%02d", $hour, $min)
> um
> sprintf("%%02d:%%02d:%%02d", $hour, $min, $sec)
> ergänzt sollte auch die Auswertung passen, oder seh ich das falsch?
>
> Gleich mal probieren.
>
> Grüße
>
> On 6 Mrz., 18:07, Jan-Hinrich Fessel wrote:
>
>
>
>
>
>
>
> > Am 06.03.2012 um 17:32 schrieb puschel74:
>
> > > Hallo zusammen,
>
> > > ich steh noch ein bischen auf dem Kriegsfuss mit dem Syntax von fhem.
>
> > Du meinst perl.
>
> > > Nun wollte ich mit
> > > if( sunset_abs(-1800) >= sprintf("%%02d:%%02d", $hour, $min) &&
> > > sunrise_abs(1800) <= printf("%%02d:%%02d", $hour, $min)) { \
> > > (leicht abgewandelt aus dem Wiki)
>
> > Wo im Wiki?
>
> > > anstelle von
> > > if( $hour >= 19 || $hour <= 5) { \
> > > das Licht innerhalb der Sonnenuntergangs (-30 Minuten)- und -
> > > aufgangszeit (+30 Minuten) schalten lassen was aber leider nicht
> > > klappt.
>
> > Weil Du nämlich nicht Äpfel mit Birnen, sorry...
>
> > das ergibt ausgewertet sowas wie
> > if( "18:57:30" >= "18:00" && ....)
> > Das kann nicht funktionieren, weil >= nur mit Zahlen funktioniert, Du hast hier aber Zeichenketten.
>
> > Bleibt nur entweder umwandeln, oder aber, wenn's in der Dämmerung auch ohne Licht geht, isday().

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
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.

Oskar

                                                     

Hej,

On Tuesday, March 6, 2012 6:21:29 PM UTC+1, puschel74 wrote:
>
> Äh ja Syntax von Perl,
> und das obwohl ich das Anfängerbuch am durchlesen bin ^^
>
> Nach deiner Auswertung nach stimmt schon - ich vergleich mal wieder
> Äpfel mit Birnen *grumpf*
>
> Dann müsste ja anstelle von >= ein gt und von <= ein lt besser passen
> und
> sprintf("%%02d:%%02d", $hour, $min)
> um
> sprintf("%%02d:%%02d:%%02d", $hour, $min, $sec)
> ergänzt sollte auch die Auswertung passen, oder seh ich das falsch?
>

Wo Du das so sagst, wäre das die dritte Möglichkeit, die mir mal wieder
nicht in den Sinn kam.

scheint zu gehen, zumindest mit sun*_abs:
[schneefix:trunk/fhem/FHEM] oskar% perl -e 'print "hello\n" if "18:00:00"
lt "19:00:00"'
hello
[schneefix:trunk/fhem/FHEM] oskar% perl -e 'print "hello\n" if "18:00:00"
gt "19:00:00"'
[schneefix:trunk/fhem/FHEM] oskar%


> Gleich mal probieren.
>
> Grüße
>
> On 6 Mrz., 18:07, Jan-Hinrich Fessel wrote:
> > Am 06.03.2012 um 17:32 schrieb puschel74:
> >
> > > Hallo zusammen,
> >
> > > ich steh noch ein bischen auf dem Kriegsfuss mit dem Syntax von fhem.
> >
> > Du meinst perl.
> >
> > > Nun wollte ich mit
> > > if( sunset_abs(-1800) >= sprintf("%%02d:%%02d", $hour, $min) &&
> > > sunrise_abs(1800) <= printf("%%02d:%%02d", $hour, $min)) { \
> > > (leicht abgewandelt aus dem Wiki)
> >
> > Wo im Wiki?
> >
> > > anstelle von
> > > if( $hour >= 19 || $hour <= 5) { \
> > > das Licht innerhalb der Sonnenuntergangs (-30 Minuten)- und -
> > > aufgangszeit (+30 Minuten) schalten lassen was aber leider nicht
> > > klappt.
> >
> > Weil Du nämlich nicht Äpfel mit Birnen, sorry...
> >
> > das ergibt ausgewertet sowas wie
> > if( "18:57:30" >= "18:00" && ....)
> > Das kann nicht funktionieren, weil >= nur mit Zahlen funktioniert, Du
> hast hier aber Zeichenketten.
> >
> > Bleibt nur entweder umwandeln, oder aber, wenn's in der Dämmerung auch
> ohne Licht geht, isday().

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
fhem geht auch auf mac os x

Oskar

                                                     

Am 06.03.2012 um 17:32 schrieb puschel74:
> Nun wollte ich mit
> if( sunset_abs(-1800) >= sprintf("%%02d:%%02d", $hour, $min) &&
> sunrise_abs(1800) <= printf("%%02d:%%02d", $hour, $min)) { \
> (leicht abgewandelt aus dem Wiki)
> anstelle von
> if( $hour >= 19 || $hour <= 5) { \

irgendwie sind aber die Bedingungen falsch.

Unten willst Du Nachts schalten, oben aber nur tagsüber.
&& != ||

if( (sunset_abs() gt uhrzeit ) # es ist jetzt vor sonnenuntergang
 && (sunrise_abs() lt uhrzeit) ) # es ist jetzt außerdem nach sonnenaufgang
{ dann mach was }

if((sunset_abs(-1800) lt uhrzeit) || (sunrise_abs(1800) gt uhrzeit))

Sicherheitshalber auch lieber zu viele Klammern als zu wenige machen...

Vielleicht geht das ja so.

Grüße
   Oskar

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
fhem geht auch auf mac os x

Puschel74

                                               

Nun ja,

ich bin davon ausgegangen das ich mit
( sunset_abs(-1800) >= sprintf("%%02d:%%02d", $hour, $min)
zwischen 30 Minuten vor dem errechneten Sonnenuntergang (also
sunset_abs-1800 sec >= Uhrzeit
&& mit
sunrise_abs(1800) <= printf("%%02d:%%02d", $hour, $min))
30 Minuten nach dem errechneten Sonnenaufgang
die Lampen durch den Bewegungsmelder einschalten kann.
Ich war der Meinung das ich die Nacht mit Abend- und Morgendämmerung
damit erwische.

Ich versuch jetzt mal
if((sunset_abs(-1800) lt sprintf("%%02d:%%02d:%%02d", $hour, $min,
$sec)) || (sunrise_abs(1800) gt sprintf("%%02d:%%02d:%%02d", $hour,
$min, $sec)))
von Jan-Hinrich.
Ich hoffe ich hab das mit der uhrzeit richtig verstanden und
eingefügt.
Danke schonmal an Euch für die Hilfe.

Grüße

On 6 Mrz., 18:52, Jan-Hinrich Fessel wrote:
> Am 06.03.2012 um 17:32 schrieb puschel74:
>
> > Nun wollte ich mit
> > if( sunset_abs(-1800) >= sprintf("%%02d:%%02d", $hour, $min) &&
> > sunrise_abs(1800) <= printf("%%02d:%%02d", $hour, $min)) { \
> > (leicht abgewandelt aus dem Wiki)
> > anstelle von
> > if( $hour >= 19 || $hour <= 5) { \
>
> irgendwie sind aber die Bedingungen falsch.
>
> Unten willst Du Nachts schalten, oben aber nur tagsüber.
> && != ||
>
> if( (sunset_abs() gt uhrzeit ) # es ist jetzt vor sonnenuntergang
>  && (sunrise_abs() lt uhrzeit) ) # es ist jetzt außerdem nach sonnenaufgang
> { dann mach was }
>
> if((sunset_abs(-1800) lt uhrzeit) || (sunrise_abs(1800) gt uhrzeit))
>
> Sicherheitshalber auch lieber zu viele Klammern als zu wenige machen...
>
> Vielleicht geht das ja so.
>
> Grüße
>         Oskar

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
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.

rudolfkoenig

                                                   

> Ich versuch jetzt mal

Da kann man nicht mehr tatenlos zuschauen :) Wie waers mit:

my $now=sprintf("%%02d:%%02d",$hour,$min);;\
if(sunrise_abs(1800) lt $now && $now lt sunset_abs(-1800)) {\
 ...\
}


Evtl kann man aber auch in 99_SUNRISE_EL.pm $altit anpassen, und
  if(isday()) {\
    ...\
  }
verwenden. Oder auf die Anpassung ganz verzichten :)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Puschel74

                                               

Guten morgen und danke nochmal für die Hilfe

aber mit deinem $now_________ Rudi lies sich das Licht die ganze Nacht
nicht dazu bewegen einzuschalten.

Grüße

On 6 Mrz., 20:10, Rudolf Koenig wrote:
> > Ich versuch jetzt mal
>
> Da kann man nicht mehr tatenlos zuschauen :) Wie waers mit:
>
> my $now=sprintf("%%02d:%%02d",$hour,$min);;\
> if(sunrise_abs(1800) lt $now && $now lt sunset_abs(-1800)) {\
>  ...\
>
> }
>
> Evtl kann man aber auch in 99_SUNRISE_EL.pm $altit anpassen, und
>   if(isday()) {\
>     ...\
>   }
> verwenden. Oder auf die Anpassung ganz verzichten :)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
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.

Mr. P

                                                       

Hej,

ich glaube, da hat sich ein Tippfehler eingeschlichen.
Richtig müsste es wohl lauten:

my $now=sprintf("%%02d:%%02d",$hour,$min);;\
if(sunrise_abs(1800) lt $now && $now gt sunset_abs(-1800)) {\
 ...\
}

Aber Rudi möge mich schnellstmöglich korrigieren (und nicht gleich
schlagen), sollte ich mich irren. :-)

Greetz,
   Gerhard

Am 7. März 2012 05:45 schrieb puschel74 :
> Guten morgen und danke nochmal für die Hilfe
>
> aber mit deinem $now_________ Rudi lies sich das Licht die ganze Nacht
> nicht dazu bewegen einzuschalten.
>
> Grüße
>
> On 6 Mrz., 20:10, Rudolf Koenig wrote:
>> > Ich versuch jetzt mal
>>
>> Da kann man nicht mehr tatenlos zuschauen :) Wie waers mit:
>>
>> my $now=sprintf("%%02d:%%02d",$hour,$min);;\
>> if(sunrise_abs(1800) lt $now && $now lt sunset_abs(-1800)) {\
>>  ...\
>>
>> }
>>
>> Evtl kann man aber auch in 99_SUNRISE_EL.pm $altit anpassen, und
>>   if(isday()) {\
>>     ...\
>>   }
>> verwenden. Oder auf die Anpassung ganz verzichten :)
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Greetz,
   Mr. P

Puschel74

                                               

Hallo zusammen,

ich behaupte mal Rudi hat den Tippfehler absichtlich eingebaut um zu
schauen ob ich auch ein bischen mitdenke ;-)
Aber gestern abend war ich schon im Stand-By und hab nur noch
copy&paste gemacht.
Ich hatte mich aber schon über die 2 lt gewundert - naja.

Ich hab die Zeile mal angepasst - danke Gerhard

Grüße

On 7 Mrz., 07:03, Gerhard Pfeffer wrote:
> Hej,
>
> ich glaube, da hat sich ein Tippfehler eingeschlichen.
> Richtig müsste es wohl lauten:
>
> my $now=sprintf("%%02d:%%02d",$hour,$min);;\
> if(sunrise_abs(1800) lt $now && $now gt sunset_abs(-1800)) {\
>  ...\
>
> }
>
> Aber Rudi möge mich schnellstmöglich korrigieren (und nicht gleich
> schlagen), sollte ich mich irren. :-)
>
> Greetz,
>    Gerhard
>
> Am 7. März 2012 05:45 schrieb puschel74 :
>
>
>
>
>
>
>
> > Guten morgen und danke nochmal für die Hilfe
>
> > aber mit deinem $now_________ Rudi lies sich das Licht die ganze Nacht
> > nicht dazu bewegen einzuschalten.
>
> > Grüße
>
> > On 6 Mrz., 20:10, Rudolf Koenig wrote:
> >> > Ich versuch jetzt mal
>
> >> Da kann man nicht mehr tatenlos zuschauen :) Wie waers mit:
>
> >> my $now=sprintf("%%02d:%%02d",$hour,$min);;\
> >> if(sunrise_abs(1800) lt $now && $now lt sunset_abs(-1800)) {\
> >>  ...\
>
> >> }
>
> >> Evtl kann man aber auch in 99_SUNRISE_EL.pm $altit anpassen, und
> >>   if(isday()) {\
> >>     ...\
> >>   }
> >> verwenden. Oder auf die Anpassung ganz verzichten :)
>
> > --
> > To unsubscribe from this group, send email to
> > fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
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.

Mr. P

                                                       

Hej,

bin nicht der Fitteste mit Perl, aber was mir gerade noch aufgefallen ist:
sollte statt dem && nicht ein || stehen? && wuerde wohl nur gelten, wenn
Perl tagesuebergreifend "denkt". :-)

Greetz,
   Gerhard
Am 07.03.2012 17:00 schrieb "puschel74" :

> Hallo zusammen,
>
> ich behaupte mal Rudi hat den Tippfehler absichtlich eingebaut um zu
> schauen ob ich auch ein bischen mitdenke ;-)
> Aber gestern abend war ich schon im Stand-By und hab nur noch
> copy&paste gemacht.
> Ich hatte mich aber schon über die 2 lt gewundert - naja.
>
> Ich hab die Zeile mal angepasst - danke Gerhard
>
> Grüße
>
> On 7 Mrz., 07:03, Gerhard Pfeffer wrote:
> > Hej,
> >
> > ich glaube, da hat sich ein Tippfehler eingeschlichen.
> > Richtig müsste es wohl lauten:
> >
> > my $now=sprintf("%%02d:%%02d",$hour,$min);;\
> > if(sunrise_abs(1800) lt $now && $now gt sunset_abs(-1800)) {\
> >  ...\
> >
> > }
> >
> > Aber Rudi möge mich schnellstmöglich korrigieren (und nicht gleich
> > schlagen), sollte ich mich irren. :-)
> >
> > Greetz,
> >    Gerhard
> >
> > Am 7. März 2012 05:45 schrieb puschel74 :
> >
> >
> >
> >
> >
> >
> >
> > > Guten morgen und danke nochmal für die Hilfe
> >
> > > aber mit deinem $now_________ Rudi lies sich das Licht die ganze Nacht
> > > nicht dazu bewegen einzuschalten.
> >
> > > Grüße
> >
> > > On 6 Mrz., 20:10, Rudolf Koenig wrote:
> > >> > Ich versuch jetzt mal
> >
> > >> Da kann man nicht mehr tatenlos zuschauen :) Wie waers mit:
> >
> > >> my $now=sprintf("%%02d:%%02d",$hour,$min);;\
> > >> if(sunrise_abs(1800) lt $now && $now lt sunset_abs(-1800)) {\
> > >>  ...\
> >
> > >> }
> >
> > >> Evtl kann man aber auch in 99_SUNRISE_EL.pm $altit anpassen, und
> > >>   if(isday()) {\
> > >>     ...\
> > >>   }
> > >> verwenden. Oder auf die Anpassung ganz verzichten :)
> >
> > > --
> > > To unsubscribe from this group, send email to
> > > fhem-users+unsubscribe@googlegroups.com
>
> --
> To unsubscribe from this group, send email to
> fhem-users+unsubscribe@googlegroups.com
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
Greetz,
   Mr. P

Puschel74

                                               

Hm,

hab das grad auf || geändert.
Wenn jetzt 19:00 ist dann stimmt zwar der Vergleich mit sunset (wenn
sunset z.b. 19:10 liefert) aber der Vergleich mit sunrise muss dann
zwangsläufig fehlschlagen da 19:00 unmöglich kleiner als 06:30 z.b.
sein kann.
Da die beiden mit && verknüpft sind würde das Licht sowieso nie
leuchten.
|| muss eigentlich richtig sein da die Uhrzeit ja entweder größer als
Sonnenuntergang ODER kleiner als Sonnenaufgang sein muss btw. nur sein
kann aber nie beides.

Danke nochmal für den Hinweis Gerhard.

Grüße

On 7 Mrz., 17:12, Gerhard Pfeffer wrote:
> Hej,
>
> bin nicht der Fitteste mit Perl, aber was mir gerade noch aufgefallen ist:
> sollte statt dem && nicht ein || stehen? && wuerde wohl nur gelten, wenn
> Perl tagesuebergreifend "denkt". :-)
>
> Greetz,
>    Gerhard
> Am 07.03.2012 17:00 schrieb "puschel74" :
>
>
>
>
>
>
>
> > Hallo zusammen,
>
> > ich behaupte mal Rudi hat den Tippfehler absichtlich eingebaut um zu
> > schauen ob ich auch ein bischen mitdenke ;-)
> > Aber gestern abend war ich schon im Stand-By und hab nur noch
> > copy&paste gemacht.
> > Ich hatte mich aber schon über die 2 lt gewundert - naja.
>
> > Ich hab die Zeile mal angepasst - danke Gerhard
>
> > Grüße
>
> > On 7 Mrz., 07:03, Gerhard Pfeffer wrote:
> > > Hej,
>
> > > ich glaube, da hat sich ein Tippfehler eingeschlichen.
> > > Richtig müsste es wohl lauten:
>
> > > my $now=sprintf("%%02d:%%02d",$hour,$min);;\
> > > if(sunrise_abs(1800) lt $now && $now gt sunset_abs(-1800)) {\
> > >  ...\
>
> > > }
>
> > > Aber Rudi möge mich schnellstmöglich korrigieren (und nicht gleich
> > > schlagen), sollte ich mich irren. :-)
>
> > > Greetz,
> > >    Gerhard
>
> > > Am 7. März 2012 05:45 schrieb puschel74 :
>
> > > > Guten morgen und danke nochmal für die Hilfe
>
> > > > aber mit deinem $now_________ Rudi lies sich das Licht die ganze Nacht
> > > > nicht dazu bewegen einzuschalten.
>
> > > > Grüße
>
> > > > On 6 Mrz., 20:10, Rudolf Koenig wrote:
> > > >> > Ich versuch jetzt mal
>
> > > >> Da kann man nicht mehr tatenlos zuschauen :) Wie waers mit:
>
> > > >> my $now=sprintf("%%02d:%%02d",$hour,$min);;\
> > > >> if(sunrise_abs(1800) lt $now && $now lt sunset_abs(-1800)) {\
> > > >>  ...\
>
> > > >> }
>
> > > >> Evtl kann man aber auch in 99_SUNRISE_EL.pm $altit anpassen, und
> > > >>   if(isday()) {\
> > > >>     ...\
> > > >>   }
> > > >> verwenden. Oder auf die Anpassung ganz verzichten :)
>
> > > > --
> > > > To unsubscribe from this group, send email to
> > > > fhem-users+unsubscribe@googlegroups.com
>
> > --
> > To unsubscribe from this group, send email to
> > fhem-users+unsubscribe@googlegroups.com

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
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.

Oskar

                                                     

Hej,
Am 07.03.2012 um 17:12 schrieb Gerhard Pfeffer:

> Hej,
>
> bin nicht der Fitteste mit Perl, aber was mir gerade noch aufgefallen ist: sollte statt dem && nicht ein || stehen? && wuerde wohl nur gelten, wenn Perl tagesuebergreifend "denkt". :-)
>
Das hatte ich schon an anderer Stelle angemerkt ;-)
Gerhard:
> if(sunrise_abs(1800) lt $now && $now gt sunset_abs(-1800)) {\

Wenn der Sonnenaufgang mehr als 1800 Sekunden zurückliegt und es später als 1800 Sekunden bis zum Sonnenuntergang ist, dann mach was.  Dann geht abends was, morgens aber nicht.
Rudi:
> > >> if(sunrise_abs(1800) lt $now && $now lt sunset_abs(-1800)) {\
Wenn der Sonnenaufgang mehr als 1800 Sekunden zurückliegt und es noch mindestens 1800 Sekunden bis zum Sonnenuntergang ist, dann mach was.  Dann geht tagsüber was.

Ich würde
if(sunrise_abs(1800) gt $now || $now gt sunset_abs(-1800)) {\
denken.  Also vor Sonnenaufgang(+1800) oder nach Sonnenuntergang(-1800) soll was getan werden dürfen.
Kann natürlich sein, das ich das falsch verstehe.  Mit der Logik ist das ja nicht immer so einfach.

Grüße
   Oskar

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
--
fhem geht auch auf mac os x

Puschel74

                                               

Also erstmal eines vorweg

Jan-Hinrich und Gerhard - ihr seid beide mit eurer Logik richtig
gelegen ;-)
|| anstelle von &&
und Jan-Hinrich
beidemale gt anstelle von lt && gt.
Mit
if(sunrise_abs(1800) gt $now || $now gt sunset_abs(7200)) {\
bleibt um 17:50 das Licht aus und mit
if(sunrise_abs(1800) gt $now || $now gt sunset_abs(-1800)) {\
geht das Licht an.

Danke nochmal für Eure Hilfe - dir natürlich auch nochmal danke Rudi.

Grüße

On 7 Mrz., 17:34, Jan-Hinrich Fessel wrote:
> Hej,
> Am 07.03.2012 um 17:12 schrieb Gerhard Pfeffer:
>
> > Hej,
>
> > bin nicht der Fitteste mit Perl, aber was mir gerade noch aufgefallen ist: sollte statt dem && nicht ein || stehen? && wuerde wohl nur gelten, wenn Perl tagesuebergreifend "denkt". :-)
>
> Das hatte ich schon an anderer Stelle angemerkt ;-)
> Gerhard:
>
> > if(sunrise_abs(1800) lt $now && $now gt sunset_abs(-1800)) {\
>
> Wenn der Sonnenaufgang mehr als 1800 Sekunden zurückliegt und es später als 1800 Sekunden bis zum Sonnenuntergang ist, dann mach was.  Dann geht abends was, morgens aber nicht.
> Rudi:> > >> if(sunrise_abs(1800) lt $now && $now lt sunset_abs(-1800)) {\
>
> Wenn der Sonnenaufgang mehr als 1800 Sekunden zurückliegt und es noch mindestens 1800 Sekunden bis zum Sonnenuntergang ist, dann mach was.  Dann geht tagsüber was.
>
> Ich würde
> if(sunrise_abs(1800) gt $now || $now gt sunset_abs(-1800)) {\
> denken.  Also vor Sonnenaufgang(+1800) oder nach Sonnenuntergang(-1800) soll was getan werden dürfen.
> Kann natürlich sein, das ich das falsch verstehe.  Mit der Logik ist das ja nicht immer so einfach.
>
> Grüße
>         Oskar

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
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.