Neues Modul Twilight

3,984 views
Skip to first unread message

unimatrix

unread,
Mar 23, 2012, 9:11:28 AM3/23/12
to fhem-...@googlegroups.com
Hallo,

ich habe ins SVN ein neues Modul 59_Twilight.pm eingecheckt. Mit diesem Modul können verschiedene Dämmerungsphasen des Tages berechnet werden und auf die Ereignisse der Phasenwechsel kann z.B. mit notify reagiert werden. Es wird ein virtuelle Tageslichtwert Berechnet. Das ganze ist eine Portierung und dabei leichte Abänderung eines Scripts, welches von DocZoid für die Homematic CCU in TCL geschrieben wurde. Es wird u.a. ein Indoor-Horizont und die Wetterlage zur Tageslichtberechnung berücksichtigt.

Das Modul habe ich selbst nun längere Zeit getestet und ich habe es in der commandref.html dokumentiert. Es ist aber trotzdem noch in einem Testing-Zustand, es könnte also hier und da zu Problemen kommen. Wenn es jemand testet, bitte ich darum, mir diese Probleme zu melden ich werde diese dann sofort beheben. Auch auf Ergänzungswünsche versuche ich einzugehen.

Viele Grüße

ilmtuelp0815

unread,
Mar 23, 2012, 12:50:37 PM3/23/12
to fhem-...@googlegroups.com
Hi!
Gibt es für diese Modul evtl. auch Verwendungshinweise oder habe diese übersehen?

unimatrix

unread,
Mar 23, 2012, 1:20:15 PM3/23/12
to fhem-...@googlegroups.com
wenn du es aus dem SVN geholt hast dann gibt es im SVN unter docs auch eine commandref.html , in der ich die Parameter usw. beschrieben habe. Daher hatte ich es hier nicht noch einmal gepostet...ok?

VG

ilmtuelp0815

unread,
Mar 23, 2012, 2:38:03 PM3/23/12
to fhem-...@googlegroups.com
Hi!
OK. Danke für den Hinweis. Habe mir das Modul aus dem SVN geholt, nur auf das Lesen der commandref bin ich mal wieder nicht gekommen ;-)

unimatrix

unread,
Mar 25, 2012, 4:05:10 AM3/25/12
to fhem-...@googlegroups.com
wie heute festgestellt wird die Sommerzeit nicht richtig berücksichtigt. Das werde ich im Laufe des Tages beheben.

wie sich zeigt bin ich nicht der einzgi dumme. Bei der offiziellen aktuellen FW der Hm-CCU geht es auch nicht mehr :)


Am Freitag, 23. März 2012 14:11:28 UTC+1 schrieb unimatrix:

unimatrix

unread,
Mar 25, 2012, 5:03:16 AM3/25/12
to fhem-...@googlegroups.com
im SVN ist nun eine fehlerbereinigte Version, damit wird die Sommerzeit korrekt berücksichtigt.

VG

Bernd

unread,
Mar 25, 2012, 5:05:51 AM3/25/12
to fhem-...@googlegroups.com
Hallo Unimatrix,

tolles Modul - genau dass, was ich brauche. Allerdings habe ich Probleme, damit meine Lampen zu schalten. Mit sunset(), sunset_rel(), etc. klappt es gut. Wie aber binde ich twilight ein.

Könntest du ein kurzes Beispiel posten.

Danke

Gruß

Bernd

Am Sonntag, 25. März 2012 10:05:10 UTC+2 schrieb unimatrix:

Bernd

unread,
Mar 25, 2012, 5:40:16 AM3/25/12
to fhem-...@googlegroups.com
Hallo Unimatrix, 

noch ein Nachtrag. Ich habe bei mir Twiligt definiert:

define myTwilight Twilight 53.1 8.8 3 26822061
Das klappt auch gut. Die ganzen Werte werden auch ausgegeben. Allerdings füllt sich nun mein Logfile sehr schnell. Dort erscheinen Einträge im 1/10-Sekunden Takt:

2012.03.25 11:14:25.236 1: Got http://weather.yahooapis.com/forecastrss?w=26822061&u=c, length: 2433
2012.03.25 11:14:25.364 1: Got http://weather.yahooapis.com/forecastrss?w=26822061&u=c, length: 2433
2012.03.25 11:14:25.496 1: Got http://weather.yahooapis.com/forecastrss?w=26822061&u=c, length: 2433
2012.03.25 11:14:25.623 1: Got http://weather.yahooapis.com/forecastrss?w=26822061&u=c, length: 2433
2012.03.25 11:14:25.751 1: Got http://weather.yahooapis.com/forecastrss?w=26822061&u=c, length: 2433
2012.03.25 11:14:25.879 1: Got http://weather.yahooapis.com/forecastrss?w=26822061&u=c, length: 2433
2012.03.25 11:14:26.021 1: Got http://weather.yahooapis.com/forecastrss?w=26822061&u=c, length: 2433
2012.03.25 11:14:26.145 1: Got http://weather.yahooapis.com/forecastrss?w=26822061&u=c, length: 2433

Das ist doch nicht normal, oder? Verbose-Level ist bei mir 3.

Gruß

Bernd

unimatrix

unread,
Mar 25, 2012, 5:52:14 AM3/25/12
to fhem-...@googlegroups.com
Hallo Bernd,

ich habe sunset() etc. nicht benutze weil mein Konzept anders funktionierte, und genau deswegen hab ich mir das Modul portiert.

Das Prinzip bei sunset ist soweit ich weiss, dass man es in die AT-Definitionen einbindet. Das Prinzip bei diesem Modul ist anders. Man reagiert einfach per Notify-Definition auf die Veränderung des Lichts. Die ganzen anderen Readings dienen zurzeit eher Informationszwecken. Muss ich mal schauen was man damit noch tun könnte.

Beispiel (SO sicher zu simpel)

define T Twilight <lat> <long>

define n_lichtwechsel notify T:STATE.* {if(ReadingsVal("T","light","6")<5){fhem "set lampe on";;}else{fhem "set lampe off";;}}


Am Sonntag, 25. März 2012 11:05:51 UTC+2 schrieb Bernd:

unimatrix

unread,
Mar 25, 2012, 5:53:03 AM3/25/12
to fhem-...@googlegroups.com
ja, das ist nicht normal. Nun sollte es nicht mehr so sein....

sorry

Bernd

unread,
Mar 25, 2012, 6:39:04 AM3/25/12
to fhem-...@googlegroups.com
Hi, 

danke für's prompte debuggen. Jetzt sieht es gut aus. Das mit dem Notify hat auch geholfen. Habe es bei mir mal eingebaut und warte nun mal ab... :-)

Schönen Sonntag.

Bernd

muellthos

unread,
Mar 25, 2012, 8:06:34 AM3/25/12
to fhem-...@googlegroups.com
Also ich habe gerade ein updatefhem gemacht, und es wird das RSS API von Yahoo Wetter immer noch einmal pro Sekunde aufgerufen. Ist das wirklich so gewollt? Zumal im XML des feeds eine Lebensdauer (TTL) von 60 Sekunden steht. Das heißt, ein Aufruf pro 30 Sekunden sollte ausreichen... Sorry, dass ich nur rummeckern kann, aber ich vestehe zu wenig von Perl und fhem, um mehr konstruktives beitragen zu können..

muellthos


Am Freitag, 23. März 2012 14:11:28 UTC+1 schrieb unimatrix:
Am Freitag, 23. März 2012 14:11:28 UTC+1 schrieb unimatrix:
Am Freitag, 23. März 2012 14:11:28 UTC+1 schrieb unimatrix:
Am Freitag, 23. März 2012 14:11:28 UTC+1 schrieb unimatrix:
Am Freitag, 23. März 2012 14:11:28 UTC+1 schrieb unimatrix:
Am Freitag, 23. März 2012 14:11:28 UTC+1 schrieb unimatrix:

unimatrix

unread,
Mar 25, 2012, 10:40:11 AM3/25/12
to fhem-...@googlegroups.com
Hallo,

die Version dir zurzeit aus updatefhem kommt hat den Fehler noch. Behoben ist der Fehler bisher nur im SVN. Bis sich das durchschlägt dauert es ein paar Tage je nachdem wann Rudi dass rüberschiebt.

In der Tag wird die Webseite maximal alle paar Minuten abgerufen. So genau ist diese Angabe ja sowieso nicht. Der normale Zeitraum tatsüber ist 15 Minuten. Dies deswegen, weil es könnte ja ein Gewitter kommen und "dunkler" werden, was dann den wetterbedingten "Sonnenuntergang" dramatisch vorziehen würde.

Sobald die Sonne wirklich untergegangen ist, werden die Werte nur bei einem tatsächlichen neuen Event, also der nächsten Dämmerungsphase neu geschrieben.

unimatrix

unread,
Mar 25, 2012, 3:00:11 PM3/25/12
to fhem-...@googlegroups.com
Hallo Bernd,

mir ist noch aufgefallen dass ein notify auf STATE so keinen Sinn macht, da hab ich vorhin falsch gedacht. Ich speichere im State sozusagen die Tagesphase die wandert von 0 - 12 hoch. So lässt sich z.B. die Helligkeit 3 morgens von der abends nochmal getrennt verwenden, man kann also Ereignisse NUR bei Morgendämmerung, dafür aber nicht bei Abenddämmerung antriggern.

Das licht steht in dem "light"-Reading

(bitte nochmal aktuellste Version aus SVN ziehen)

VG

Bernd

unread,
Mar 25, 2012, 3:55:11 PM3/25/12
to fhem-...@googlegroups.com
Hallo unimatrix,

ich habe die aktuelle Version geladen und bekomme diese Zeilen im Logfile:

2012.03.25 21:32:48.816 1: reload: Error:Modul 59_Twilight deactivated:
Too many arguments for main::Twilight_getWeatherHorizon at ./FHEM/59_Twilight.pm line 186, near "})"
Too many arguments for main::twilight_calc at ./FHEM/59_Twilight.pm line 193, near "$timediff)"

Und dann ist FHEM bei mir auch noch abgestürzt und läst sich nur mit der Vorgängerversion von Twilight wieder starten.

Da scheint noch etwas nicht i.O. zu sein. An der define Anweisung hatte ich nichts geändert. Zuvor ging es noch.

Gruß

Bernd

unimatrix

unread,
Mar 25, 2012, 4:51:26 PM3/25/12
to fhem-...@googlegroups.com
Hi,

das kann ich leider gar nicht nachvollziehen weil genau diese Version - gerade auch mit deinem Define getestet - läuft bei mir. In welcher Umgebung hast du das laufen? FritzBox?

Ich kann mir nur vorstellen dass es an den Prototypen im Code liegt. Bin eher Perl Neuling will aber unbedingt was dazubauen was ich brauche ;) ...

Ich habe die Aufrufe jetzt angepasst und hoffe es hilft!

Bernd

unread,
Mar 26, 2012, 2:42:04 PM3/26/12
to fhem-...@googlegroups.com
Halo unimatrix,

ich habe heute ein "updatefhem" ausgeführt und laut Log wurde das Twilight-Modul aktuallisiert. Danach ging es dann wieder nicht. Also habe ich wieder auf den Stand von gestern zurückgestellt. Damit läuft das Twilight-Modul (scheinbar, denn ich habe noch etwas Probleme, mit einem Notify darauf zu reagieren).

Ich habe FHEM auf eine FB 7390 laufen. Da habe ich momentan zudem das Uhrzeitproblem. Die Box ist noch eine Stunde hinterher und ergo auch das Zeiten vom Twilight-Modul.

Gruß

Bernd



unimatrix

unread,
Mar 26, 2012, 3:20:21 PM3/26/12
to fhem-...@googlegroups.com
kann leider das im Moment nicht nachvollziehen. Bin gerade auf einer Dienstreise. Falls es für dich ok ist würde ich nochmal sobald ich zurück bin eine Version mit mehreren log-Ausgaben bauen und dir schicken...

Danke fürs Testen! Habe leider keine FB auf der ich das mal eben testen könnte. Iwas muss da anders sein als bei einem normalen System /Perl...

VG

Bernd

unread,
Mar 26, 2012, 3:55:17 PM3/26/12
to fhem-...@googlegroups.com
Hallo unimatrix,
ich habe mal die Readings des Moduls hier gepostet. Die Daten habe ich um ca. 21:50 aus FHEM ausgelesen. Die Daten scheinen laut Timestamp von 20:29 zu sein. Ich hatte gedacht, dass das Modul beim NextEvent eine neue Berechnung startet, also um 20:48. Das ist aber nicht passiert. Oder irre ich damit. 
Nur keine Eile - ich teste gerne, wenn mal wieder was neues kommt :-)

Gruß

Bernd

Readings:
2012-03-26 20:29:43 light 1
2012-03-26 20:29:43 nextEvent ss_astro
2012-03-26 20:29:43 nextEventTime 20:48:54
2012-03-26 20:29:43 sr 06:17:09
2012-03-26 20:29:43 sr_astro 04:10:38
2012-03-26 20:29:43 sr_civil 05:36:43
2012-03-26 20:29:43 sr_indoor 06:37:09
2012-03-26 20:29:43 sr_naut 04:55:00
2012-03-26 20:29:43 sr_weather 07:44:27
2012-03-26 20:29:43 ss 18:42:24
2012-03-26 20:29:43 ss_astro 20:48:54
2012-03-26 20:29:43 ss_civil 19:22:49
2012-03-26 20:29:43 ss_indoor 18:22:23
2012-03-26 20:29:43 ss_naut 20:04:33
2012-03-26 20:29:43 ss_weather 17:15:05


unimatrix

unread,
Mar 26, 2012, 3:58:16 PM3/26/12
to fhem-...@googlegroups.com
Das siehst du genau richtig, aber eben genau das funktioniert ja in der "alten" Version die du nutzt nicht richtig :)

Ich muss mir das genau anschauen wieso diese Version bei dir geht und die neue genau nicht das muss ja einen nachvollziehbaren Grun dhaben....

senni

unread,
Mar 27, 2012, 2:40:32 AM3/27/12
to fhem-...@googlegroups.com
hallo unimarix,

vielleicht liegt es an diesem satz "Ich habe FHEM auf eine FB 7390 laufen." von bernd.

die fritzboxen werden erst am 01.04.2012 auf sommerzeit umgestell, siehe internetseite von AVM.

mfg senni

unimatrix

unread,
Mar 27, 2012, 2:55:42 AM3/27/12
to fhem-...@googlegroups.com
das mit der sommerzeit war mir schon klar, aber das Problem ist ja nicht das, sondern dass es gar nicht läuft und das kann ich mir frühestens heute Abend genau ansehen...

senni

unread,
Mar 27, 2012, 3:38:07 AM3/27/12
to fhem-...@googlegroups.com
mein gedanke dabei war, dass die zeiten nicht zusammenpassen.

du holst doch daten vom wetterserver und wenn du da auch einen timestamp mit bekommst liegen diese daten für die fritzbox auf einmal in der zukunft und es kracht in deiner berechnung.
 
wünsche viel spass heute abend.

senni

unimatrix

unread,
Mar 27, 2012, 3:41:50 AM3/27/12
to fhem-...@googlegroups.com
hallo,

danke für den Hinweis. Bin sicher, dass es mit der Zeit nix zu tun hat. Ich werte aus den Daten von Yahoo nur die aktuelle Condition und keine Zeitinformationen aus.

Bis später :)

Bernd

unread,
Mar 27, 2012, 11:53:19 AM3/27/12
to fhem-...@googlegroups.com
Sodele,

ich habe nun die Twilight-Definition im ersten Schritte aus FHEM rausgeworfen, update durchgeführt und FHEM ohne Twilight -Definition neu gestartet. Alles ohne Auffälligkeiten im Log. Dann erneut ein "define myTwilight..." in die Config und "rereadcfg". Und sieheda - nun ging es ohne Probleme. Da haben sich wohl eine vorhandene Twilight-Definition und das Update nicht gemocht. 

Das Problem mit der falschen Zeit auf der Fritzbox führt meines Erachtens nur dazu, dass mein Licht wohl eine Stunde zu spät ein- und wieder ausgeschaltet wird. 

Laut Readings ist das nächste Update um 18:00 - da bin ich mal gespannt, ob es nun tut :-)

Vielen Dank unimatrix für die Mühen...

Gruß

Bernd

unimatrix

unread,
Mar 27, 2012, 2:39:17 PM3/27/12
to fhem-...@googlegroups.com
und - klappt es?? :)

Martin Ragg

unread,
Mar 27, 2012, 2:46:08 PM3/27/12
to fhem-...@googlegroups.com
Guten Abend in die Runde,

könnte mir vielleicht jemand auf die Sprünge bei meinem twilight - ich hab's glaube ich nicht ganz kapiert, warum man nicht auf state gehen sollte, mein define sieht derzeit so aus (nur ein wenig abgewandelt von dem, was du gepostet hattest)

define n_lichtwechsel notify myTwilight:STATE.* {if(ReadingsVal("myTwilight","light","6")<5){fhem "set wz_lampen on";;}else{fhem "set wz_lampen off";;}}

Nur tut es leider nicht .. das twilight-Modul (bei mir myTwilight) selbst läuft, ich sehe auch schön im Log, wenn er den nächsten Schaltpunkt angeht .. nur mein define springt nicht an .. vielleicht fehlt mir da aber auch noch grundlegendes Verständnis .. und jemand hat einen Tipp für mich?
(ich verstehe z.B. bei dem readingsval nicht wofür die "6" da hinten kommt ... und am allerliebsten würde ich das nur für sonnenuntergang triggern lassen .. any hints?

einen schönen abend,
martin

Bernd

unread,
Mar 27, 2012, 3:02:00 PM3/27/12
to fhem-...@googlegroups.com
Hallo unimatrix,

dein Modul läuft. Da kann ich mich nur Martins Aussagen anschliessen. Ich habe wohl die gleichen Verständnisprobleme mit dem Notify. Die "6" im ReadingsVal ist wohl ein Default-Wert, aber wozu? 

Wenn ich ...{if(ReadingsVal("myTwilight","light","6")<5) { fhem... verwende, dann wird das fhem Konstrukt jedesmal bei einem Statuswechsel <6 ausgeführt, also 4,3,2,1, oder? Also muss dort für ein einmaliges Schalten bei Dämmerung ein ==4 stehen.

Mein Notify sieht so aus und hat leider heute nichts getan:

define nLichtAbendsAn notify myTwi:STATE.* \
  {if(ReadingsVal("myTwi","light","?6")<5){\
fhem "define TiDiele at +00:05 set Diele on";;\
fhem "define TiTreppe at +00:10 set Treppe on";;\
fhem "define TiBoden at +00:15 set Boden on";;\
fhem "define TiKueche at +00:15 set Kueche on";;\
}}

Gruß

Bernd

unimatrix

unread,
Mar 27, 2012, 3:32:12 PM3/27/12
to fhem-...@googlegroups.com
also erstens:

ein notify auf STATE wie von mir selbst fälschlicherweise als Beispiel angegeben funktioniert zurzeit nicht, weil ich STATE nicht als Reading vorgesehen habe. Das kann ich leicht nachschieben. Ich hatte erst später realisiert, dass es sinnvoll sein könnte, diesen State sozusagen als Dämmerungsphase zu nutzen, um die Ereignisse bei Sonnenauf- von denen bei Sonnenuntergang zu unterscheiden.

ein define myN notify myTwilight:light.* funktioniert aber. Es triggert bei JEDEM Light-Wechsel. Das if danach, wie in deinem Beispiel wird eben nur nicht jedesmal wahr, so dass das, was dann innerhalb des if ausgelöst wird, nur dann passiert, wenn (wie bei dir) das light < 5 ist.

Auch  mit der jetzigen Version könntest du aber mit folgendem Beispiel das erreichen was du womöglich möchtest:

define myN notify myTwilight:light.* {if($value{myTwilight}==8){fhem "set wz_Lampen on";;}

==8 bedeutet die Phase, in der das light ==4 wird bei Sonnenuntergang.

Der Default-Wert bei ReadingsVal wird immer dann genommen, wenns kein Reading gibt. Das ist praktisch egal, weils beim Twilight Modul eigentlich immer eines geben sollte. Falls es halt irgendwie "nicht funktioniert" wird halt 6 genommen.

Martin Ragg

unread,
Mar 29, 2012, 2:08:10 PM3/29/12
to fhem-...@googlegroups.com
Hallo unimatrix,

danke für die Erklärungen - ich habe jetzt einiges mehr kapiert und eben ging hier das Licht automatisch an, juchhe :-)

einen schönen abend,
martin

JoWiemann

unread,
Mar 30, 2012, 4:49:55 AM3/30/12
to FHEM users
Hallo,

bekommen folgenden Fehlereintrag im Log-File:

2012.03.30 09:24:26 1: reload: Error:Modul 59_Twilight deactivated:
Can't locate Switch.pm in @INC (@INC contains: /var/media/ftp/uStor01/
fhem/perl/lib /var/media/ftp/uStor01/fhem/perl/lib/arch /home/rudi/
fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl .) at ./FHEM/
59_Twilight.pm line 10, <$fh> line 53.
BEGIN failed--compilation aborted at ./FHEM/59_Twilight.pm line 10, <
$fh> line 53.

2012.03.30 09:24:34 1: configfile: Unknown module Twilight, choose one
of ALL3076 ALL4000T ALL4027 CUL CUL_EM CUL_FHTTK CUL_HM CUL_HOERMANN
CUL_IR CUL_RFR CUL_TX CUL_WS ECMDDevice ESA2000 EnOcean FHEM2FHEM
FHEMWEB FLOORPLAN FS20 FileLog Itach_Relay M232Counter M232Voltage
NetIO230B OREGON OWTEMP PachLog RFXCOM RFXELSE RFXMETER RFXX10REC RSS
SIS_PMS TCM120 TRX_ELSE TRX_LIGHT TRX_SECURITY TRX_WEATHER TellStick
USF1000 VantagePro2 WEBCOUNT WEBIO_12DIGITAL WEBTHERM WS2000 WS3600
Weather at autocreate average bs cm11 dummy ecmd eib em emem emgz emwz
fht fht8v fhz hmlan hms holiday ipwe it km271 ks300 lgtv lirc m232
notify owfs pid scivt sequence sispm structure svg tcm trx tul usbwx
watchdog webio weblink wol ws300 x10 xxLG7000

FB 7170; freetz-1.1.4; fhem-5.2-fb7270

Alle anderen Module, bis auf Weather - hier fehlt für die Fritten ein
Perlmodul, laufen einwandfrei.

Grüße

Jörg

On 23 Mrz., 15:11, unimatrix <sebastian.stuec...@googlemail.com>
wrote:

unimatrix

unread,
Mar 30, 2012, 5:07:11 AM3/30/12
to fhem-...@googlegroups.com
Das Modul nutzt Core::Switch (http://perldoc.perl.org/Switch.html)

Ich nahm an, dies gehört zu jeder Perl-Installation. Da dem offenbar nicht so ist, werde ich die Abhängigkeit in der nächsten Version entfernen

VG

UliM

unread,
Apr 12, 2012, 1:39:34 PM4/12/12
to fhem-...@googlegroups.com
Hi,
hab's grad eingerichtet, so weit alles schick.

Ein paar Fragen:
1. Indoor-Horizon: Was bedeutet welcher Maximalwert?  0 = Kellerwohnung (wenig Licht), 6 = Dachterrasse (viel Licht) ?  (vll kannst Du diese Info in der commandref nachtragen)
2. Weather-location: Hab ich wie beschrieben aus yahoo-weather-url geholt. Dein Beispiel sagt für München 676757, ich kriege dort 20066988 . Passt das?
3. Das Reading light berücksichtigt automatisch das Wetter?
Gruß, Uli

unimatrix

unread,
Apr 12, 2012, 2:37:34 PM4/12/12
to fhem-...@googlegroups.com
Hallo,

zu 1) Der normale Sonnenuntergang "passiert" im Module genau dann, wenn die Sonne 0 Grad über dem Horizont steht. Die Berechnung ist vereinfacht und diverse Spezialitäten sind nicht berücksichtigt. Es ist aber aus meiner Sicht "genau genug". Der Indoor-Horizon generiert einen Sonnenuntergang VOR dem "normalen" bzw. einen Sonnenaufgang NACH dem normalen, bei dem die Sonne dann den entsprechenden Wert (in Grad) ÜBER dem Horizont steht. 0 bedeutet, das Indoor-Event und das normale Event sind gleichzeitig, je höher der Wert ist, desto eher geht indoor die Sonne unter und desto später geht sie indoor auf. Bist du von Bergen umgeben, ist er also eher hoch einzutragen. Einfach ausprobieren.

zu 2) scheint zu passen, ist auch irgendwo in München :) Einfach checken unter http://weather.yahooapis.com/forecastrss?w=20066988

zu 3) Bei light=5 liegt DER Zustand vor, an dem der indoor-Untergang noch nicht passiert ist, aber aufgrund der Wetterlage schon eine Verdunkelung stattgefunden hat (ob das wirklich so ist liegt an der Sinnhaftigkeit der Yahoo-Angaben usw.)

VG!

UliM

unread,
Apr 12, 2012, 5:55:32 PM4/12/12
to fhem-...@googlegroups.com
Hi,
vielen Dank für die detaillierte Erläuterung!
Gruß Uli

Marc

unread,
Apr 13, 2012, 1:31:07 PM4/13/12
to fhem-...@googlegroups.com
Hi, habe dasselbe Problem auf der 7270.
Switch.pm fehlt..

Gruß,
Marc

unimatrix

unread,
Apr 14, 2012, 4:24:01 AM4/14/12
to fhem-...@googlegroups.com
Hallo,

im aktuellsten SVN ist die Abhängigkeit von Switch.pm nicht mehr drin.

VG

Schellberg, Marc

unread,
Apr 14, 2012, 4:24:56 AM4/14/12
to fhem-...@googlegroups.com

Super, danke!

Viele Grüße,
Marc

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

Steffen

unread,
Apr 14, 2012, 2:53:07 PM4/14/12
to fhem-...@googlegroups.com
Guten Abend,

habe jetzt mal versucht per myTwilight einen Homematic Aktor zu starten aber leider klappt es nicht, meine eingabe hier aus dem Text kopiert:
define myN notify myTwilight:light.* {if($value{myTwilight}==8){fhem "set Wz_LampeSofa on";;} mein Indoor ist auf 3,
was ist an dieser Eingabe falsch das der Aktor nicht startet???
Mfg Ewies

unimatrix

unread,
Apr 14, 2012, 4:19:56 PM4/14/12
to fhem-...@googlegroups.com
An der Eingabe scheint eigentlich gar nix falsch zu sein...

was zeigt dir denn ein "list myTwilight"

Steffen

unread,
Apr 14, 2012, 4:43:33 PM4/14/12
to fhem-...@googlegroups.com
@unimatrix 
bei list myTwilight:
Internals:
   DEF        52.263115  13.53756  3 12832109
   INDOOR_HORIZON 3
   LATITUDE   52.263115
   LONGITUDE  13.53756
   NAME       myTwilight
   NR         29
   STATE      0
   TYPE       Twilight
   WEATHER    12832109
   WEATHER_HORIZON 3
   Readings:
     2012-04-14 22:28:51   light           0
     2012-04-14 21:23:08   nextEvent       ss_astro
     2012-04-14 21:23:08   nextEventTime   22:13:40
     2012-04-14 21:23:08   nextUpdate      22:13:50
     2012-04-14 22:28:51   sr              06:15:10
     2012-04-14 22:28:51   sr_astro        03:57:51
     2012-04-14 22:28:51   sr_civil        05:33:23
     2012-04-14 22:28:51   sr_indoor       06:35:21
     2012-04-14 22:28:51   sr_naut         04:48:33
     2012-04-14 22:28:51   sr_weather      06:35:21
     2012-04-14 22:28:51   ss              19:56:21
     2012-04-14 22:28:51   ss_astro        22:13:40
     2012-04-14 22:28:51   ss_civil        20:38:07
     2012-04-14 22:28:51   ss_indoor       19:36:09
     2012-04-14 22:28:51   ss_naut         21:22:57
     2012-04-14 22:28:51   ss_weather      19:36:09
   Helper:
Attributes:

unimatrix

unread,
Apr 15, 2012, 4:38:04 AM4/15/12
to fhem-...@googlegroups.com
das sieht alles normal aus und mit deinem notify sollte heute gegen 19:36 schalten (etwas später) also beim heutigen ss_indoor.

du müsstest wenn du jetzt list myTwilight machst ja auch sehen, dass der STATE jetzt 6 ist, und du wartest jetzt noch auf 8, also der übernächste STATE. Der nächste kommt nach dem ss_weather und dann der nächste ist deiner...

Wenn also dein list MyTwilight heute nach ca. 19:40 einen STATE=8 ausspuckt...dann ist an dem Twilight nix falsch dann stimmt irgendwo was mit deinem notify bzw. deinem Aktor nicht was ich hier nicht so sehen kann.

VG

Steffen

unread,
Apr 15, 2012, 5:08:36 AM4/15/12
to fhem-...@googlegroups.com
Hallo!

habe noch was raus gefunden, wenn ich jetzt in comandozeile :{if($value{myTwilight}=6){fhem "set Wz_LampeSofa on";;}} eingebe(also mit nur einem"=" und einer zwei"}") dann schaltet der Aktor sofort, was könnte das bedeuten?
Mfg Ewies

UliM

unread,
Apr 15, 2012, 5:14:47 AM4/15/12
to fhem-...@googlegroups.com
Hi,
mein Erklärungsversuch:
Ein einfaches = ist kein Wertvergleich, sonder die Anweisung zum Zuweisen des Wertes 6 an die Variable. Da dieses erfolgreich geschieht ist das Ergebnis wahr, also die Bedingung wahr.
Allerdings steht dann vmtl. Dein $value{myTwilight} auf 6.
=8-)

unimatrix

unread,
Apr 15, 2012, 5:17:08 AM4/15/12
to fhem-...@googlegroups.com
Das bedeutet nur, dass der Ausdruck

$value{myTwilight}=6

eine 6 zurückgibt, dies wird als WAHR interpretiert und führt zum schalten.

Hilft dir überhaupt nicht weiter.

Du könntest jetzt in der Kommandozeile mal der Reihe nach eingeben:

{$value{myTwilight}==6;;}



unimatrix

unread,
Apr 15, 2012, 5:21:01 AM4/15/12
to fhem-...@googlegroups.com
sorry zu früh abgeschickt.

obige eingabe sollte zu 1 evaulieren und daher sollte dein o.g. if mit einem "==" auch sofort schalten.

Wenn nicht, schaltet die Lampe überhaupt? :)

Steffen

unread,
Apr 15, 2012, 5:32:03 AM4/15/12
to fhem-...@googlegroups.com
habe eingegeben  {$value{myTwilight}==6;;}  aber keine Reaktion, wenn ich set Wz_LampeSofa on eingebe dann schaltet Sie sofort und bei {if($value{myTwilight}=6){fhem "set Wz_LampeSofa on";;}} hat sie auch gleich geschaltet.

unimatrix

unread,
Apr 15, 2012, 8:25:34 AM4/15/12
to fhem-...@googlegroups.com
was heisst keine Reaktion? Wo eingegeben? Sprechen wir vom gleichen?

Zumindest bei {$value{myTwilight};;} MUSS es ja eine "Reaktion" geben spricht der muss den aktuellen Value ausspucken...

Steffen

unread,
Apr 15, 2012, 10:05:20 AM4/15/12
to fhem-...@googlegroups.com
Sorry, war ein fehler von mir also bei {$value{myTwilight}==6;;}  gibt er mir eine "1" aus aber keine Schaltung von Aktor, bei  {$value{myTwilight};;}  gibt er mir eine "6" aus! Woran könnte es nur liegen? Hier nochmal meine cfg
define myTwilight Twilight 52.263115  13.53756  3 12832109
define myN notify myTwilight:light.*{if($value{myTwilight}==7){fhem "set Wz_LampeSofa on";;}      (==7zum Test) und danke nochmal für dein Hilfe!!!
Mfg Ewies

JoWiemann

unread,
Apr 15, 2012, 1:32:15 PM4/15/12
to FHEM users
Hallo Steffen,

anbei ein Auszug aus meiner fhem.cfg, der funktioniert:

define Nachtlicht dummy
attr Nachtlicht fp_Erdgeschoss 100,800,1,
attr Nachtlicht room Nachtlicht

# 50259 Pulheim
define myTwilight Twilight 50.964113 6.800607 3 12834398
attr myTwilight room Nachtlicht

define Sonnenuntergang notify myTwilight:light.* {\
if($value{myTwilight}==9){\
fhem("set Nachtlicht on");;\
}\
}
attr Sonnenuntergang room Nachtlicht

define Sonnenaufgang notify myTwilight:light.* {\
if($value{myTwilight}==4){\
fhem("set Nachtlicht off");;\
}\
}
attr Sonnenaufgang room Nachtlicht

Grüße Jörg

Steffen

unread,
Apr 15, 2012, 1:56:53 PM4/15/12
to fhem-...@googlegroups.com
Hallo!

ist das normal:
DEF
52.263115 13.53756 3 12832109
INDOOR_HORIZON
3
LATITUDE
52.263115
LONGITUDE
13.53756
NAME
myTwilight
NR
29
STATE
8
TYPE
Twilight
WEATHER
12832109
WEATHER_HORIZON
10

Readings
light
42012-04-15 19:52:21
nextEvent
ss2012-04-15 19:52:21
nextEventTime
19:58:052012-04-15 19:52:21
nextUpdate
19:58:152012-04-15 19:52:21
sr
06:12:572012-04-15 19:52:21
sr_astro
03:54:352012-04-15 19:52:21
sr_civil
05:31:012012-04-15 19:52:21
sr_indoor
06:33:122012-04-15 19:52:21
sr_naut
04:45:532012-04-15 19:52:21
sr_weather
07:19:262012-04-15 19:52:21
ss
19:58:052012-04-15 19:52:21
ss_astro
22:16:272012-04-15 19:52:21
ss_civil
20:40:012012-04-15 19:52:21
ss_indoor
19:37:502012-04-15 19:52:21
ss_naut
21:25:092012-04-15 19:52:21
ss_weather
18:51:352012-04-15 19:52:21

das light bei "4" steht und STATE "8"???
danke Jowiemann versuche es mal damit...
mfg Ewies

unimatrix

unread,
Apr 15, 2012, 1:58:10 PM4/15/12
to fhem-...@googlegroups.com
in dem gerade geposteten Beispiel liegt es an einem fehlenden Leerzeichen zwichen * und {

mehr Fehler finde ich da wirklich nicht

und deine anderen Tests zeigen, dass alles stimmt.

VG

Steffen

unread,
Apr 15, 2012, 2:03:07 PM4/15/12
to fhem-...@googlegroups.com
Juhuuuuuuuuuuu....JoWiemann dein vorschlag war der Richtige bei ==9 ging gerade der Aktor on:-)
vielen vielen dank für eure Hilfe und Geduld;-)...jetzt kann ich damit arbeiten und wieder was dazu gelernt.
Wünsche noch einen schönen Abend...
Mfg Ewies 

Steffen

unread,
Apr 16, 2012, 12:39:44 AM4/16/12
to fhem-...@googlegroups.com
Guten Morgen!

Leider ein wenig zu früh gefreut, also an geht der Aktor unter diesen eintrag cfg:
define Sonnenuntergang notify myTwilight:light.* {\ 
  if($value{myTwilight}==9){\ 
    fhem("set Wz_LampeSofa on");;\ 
  }\ 
}

aber bei diesem eintrag in cfg:
define Sonnenaufgang notify myTwilight:light.* {\ 
  if($value{myTwilight}==4){\ 
    fhem("set Wz_LampeSofa off");;\ 
  }\ 
}
Bleibt er an, wieso denn das nun schon wieder müsste doch genau so ausgehen:-(???

Guido

unread,
Apr 16, 2012, 10:41:01 AM4/16/12
to fhem-...@googlegroups.com
Hallo,

hab mich heute mal drangesetzt und das Modul eingerichtet,

nun hab ich mir den thread hier bestimmt schon 3mal von oben bis unten durchgelesen und ich muss sagen ich werde immer verwirrter, mein Ziel ist es erstmal meine Rolos die bis jetzt mit Sunrise und Sunset gesteuert werden nun mithilfe von Twilight zu steuern um eben auch automatisch auf Wetterbedingte Lichtänderungen zu reagieren.

dazu hab ich zum Test twilight definiert und folgendes notify


define Sonnenuntergang notify myTwilight:light.* {\
  if($value{myTwilight}==5){\
    fhem("set Aktor on");;\
  }\
}

Was mir jetzt nicht ganz klar geworden ist Wann liegt welcher Wert vor und was bedeutet dieser Zitat: " Bei light=5 liegt DER Zustand vor, an dem der indoor-Untergang noch nicht passiert ist, aber aufgrund der Wetterlage schon eine Verdunkelung stattgefunden hat (ob das wirklich so ist liegt an der Sinnhaftigkeit der Yahoo-Angaben usw."

Also würde der Zustand light=5 ja nur dann vorliegen wenn aufgrund der Wetterlage schon eine Verdunkelung stattgefunden hat und mein Aktor nur dann schalten richtig ? ist dann alles kleiner 6 Dunkel ?
Welcher Wert wäre dann für Sonnenaufgang einzutragen ? bzw. würde dieses funktionieren ? :  define T_Schalten notify myTwilight:light.* {if($value{myTwilight}<6){fhem "set Aktor on";;}else{fhem "set Aktor off";;}

In der commandref gibts Werte von 0=total night bis 6=maximum Daylight.

Hier im Thread werden aber auch Beispiele mit ==7 - ==9 genannt und was mich dann letztendlich total verwirrt hat war dieser Satz: ==8 bedeutet die Phase, in der das light ==4 wird bei Sonnenuntergang.???

Kann mir hier nochmal jemand in die Spur helfen ?

VG

Guido

UliM

unread,
Apr 16, 2012, 2:18:15 PM4/16/12
to fhem-...@googlegroups.com
Siehe weiter oben:
https://groups.google.com/d/msg/fhem-users/hWXpul_pd1M/4I8OgliYpT4J

Der Wert von STATE ist also gewollt unterschiedlich zu dem von  light .
(Auch wenn ich noch nicht verstanden habe, wann STATE welchen Wert hat ;-)

Gruß, Uli

Steffen

unread,
Apr 17, 2012, 12:52:02 AM4/17/12
to fhem-...@googlegroups.com
Guten Morgen!

Wollte nur nochmal kurz meine Ergebnisse mitteilen nach vielen versuchen, 
es klappt jetzt soweit mit:
 
define Sonnenuntergang notify myTwilight:light.* {\ 
  if($value{myTwilight}==9){\ 
    fhem("set Wz_LampeSofa on");;\ 
  }\ 
}

nur ging da der "Off" befehl mit meinem "HM-LC-SW1-PL" nicht, warum auch immer?! 
Aber bei meinem Up-HM-LC-SW1-FM reagiert er auf beide Befehle im Zusammenhang mt Twilight.
Wünsche noch einen schönen Tag...
Mfg Ewies

unimatrix

unread,
Apr 17, 2012, 2:58:35 AM4/17/12
to fhem-...@googlegroups.com
Das ist einfach nur durchgezählt von 0 - 11


0 -> vor astronomischen Aufgang
1 -> vor nautischem Aufgang
2 -> vor zivilem Aufgang
3 -> vor Sonnenaufgang
4 -> vor Indoor-Aufgang
5 -> vor "Wetter-Aufgang"
6 -> vor "Wetter-Untergang" (also den meisten Tag lang)

Bis hierher ist light = STATE. Von nun an wird light wieder weniger (es wird ja dunkler) aber STATE schreitet vor, um Untergänge von Aafgängen unterscheidbar zu machen.

7 -> vor Indoor-Untergang
8 -> vor Sonnenuntergang
9 -> vor zivilem Untergang
10 -> vor nautischem Untergang
11 -> vor astronomischem Untergang

Bitte auch bedenken, dass in der Nordhälfte Deutschlands die Sonne astronomisch im SOmmer ca. 6 Wochen lang nicht untergeht, State wird also nicht alle Werte durchlaufen und light wird nie 0 sein.

Das o.g. Beispiel zum Aktor schalten funktioniert. Je niedriger light, desto dunkler muss es werden, dass er schaltet...(wobei der Verlauf natürlich sehr abgehackt ist)

VG

Schellberg, Marc

unread,
Apr 17, 2012, 3:21:09 AM4/17/12
to fhem-...@googlegroups.com
Hi,

da habe ich auch nochmal eine Frage zu.
Ich verstehe das so, dass state tagsüber auf 6 steht und wetterabhängig ggf. auf 7 springt (z. B. Gewitterwolke).
Kann state dann wieder von 7 auf 6 zurückspringen, wenn die Wolke weg ist?

Viele Grüße,
Marc



unimatrix

unread,
Apr 17, 2012, 3:49:20 AM4/17/12
to fhem-...@googlegroups.com
ja das geht tatsächlich das ist eine vll etwas "blöde" Implementierung aber so hab ich es gebaut...
Viele Grüße,
Marc



Viele Grüße,
Marc



Viele Grüße,
Marc



Viele Grüße,
Marc



Schellberg, Marc

unread,
Apr 17, 2012, 4:01:46 AM4/17/12
to fhem-...@googlegroups.com
Das finde ich gar nicht blöd!
Ich möchte u. a. meine PIRI Bewegungsmelder hierdurch mit einer Dämmerungsoption ausstatten.
Ich kann dann z. B. tagsüber die PIRIs als Alarmanlage nutzen und wenn's dunkel wird darüber noch zusätzlich Licht einschalten.
D. h. ich muss dann nur prüfen, ob state <> 6 ist.

Viele Grüße,
Marc



unimatrix

unread,
Apr 17, 2012, 4:05:11 AM4/17/12
to fhem-...@googlegroups.com
oder ob light < 6 ist :)

Steffen

unread,
Apr 20, 2012, 4:33:33 AM4/20/12
to fhem-...@googlegroups.com
Hallo!

Ich versuche das um zu setzen
define LampeAbends notify Wz_LampeDeckeUp * {\
if($value{myTwilight}==6){\
If($value{*on* eq *off*}
fhem("set Wz_LampeSofa on");;\
}\
}

Also das Wz_LampeSofa auf notify Wz_LampeDeckeUp reagiert aber nur auf Wert von Twilight(Abends), am besten wäre noch on und off im gegensatz(WZ_LampeDeckeUp on = Wz_LampeSofa off). Könnte mir da jemand bitte weiterhelfen und hat einen rat für mich???
Mfg Ewies

UliM

unread,
Apr 20, 2012, 5:50:30 AM4/20/12
to fhem-...@googlegroups.com
if Value(on eq off) dürfte auch nur seltenst wahr sein...
If (Value("device") eq "off")
funktioniert vll eher wie gewünscht?
Gruß Uli

Steffen

unread,
Apr 21, 2012, 10:47:40 AM4/21/12
to fhem-...@googlegroups.com
Hallo!

so recht will das auch nicht, wäre das so...

define Licht_Abend notify Wz_LampeDeckeU* {\
if($value{myTwilight:light.*}==9){\
if(value("device") eq "off"){\
fhem("set Wz_LampeSofa on");;\
}\
}
oder so...

define Licht_Abend notify Wz_LampeDeckeUp* {\
if($value{myTwilight:light.*}==9){\
if($value{"device"} eq "off"){\
fhem("set Wz_LampeSofa on");;\
}\
}
richtig???

unimatrix

unread,
Apr 21, 2012, 12:54:03 PM4/21/12
to fhem-...@googlegroups.com
bitte schau dir nochmal die commandref an insbesondere zum notify. Mit Twilight hat das Problem nichts zu tun.

VG

UliM

unread,
Apr 21, 2012, 12:59:26 PM4/21/12
to fhem-...@googlegroups.com

define Licht_Abend notify Wz_LampeDeckeUp {\  
  if(ReadingsVal("myTwilight","light",0) == 9){\
  if(Value("device") eq "off"){\
    fhem("set Wz_LampeSofa on");;\
  }\
}
 
wäre einen Versuch wert...

Bedeutet:
Wenn der button Wz_LampeDeckeUp betätigt wird
und zu diesem Zeitpunkt light=9 ist
und außerdem device off ist
dann schalte Wz_LampeSofa an


UliM

unread,
Apr 21, 2012, 1:05:29 PM4/21/12
to fhem-...@googlegroups.com
Hi,
nun hab ich auch noch ein Anliegen....
Du hast irgendwann mal die Mapping-Tabelle yahoo-reading -> light gepostet, finde die aber leider nicht mehr. Kannst Du bitte den Link hier einhängen oder das mit ins Wiki stellen?

Außerdem fänd ich's klasse, wenn Du das yahoo-Wetter-Reading (current) als twilight-device-Reading bereitstellen könntest.
Hintergrund: Das derzeit verwendete Mapping yahoo-Wert -> light ist für meinen Korridor zu 'gutmütig' - ich kann auf das Einschalten des Lichts dort nur bei strahlendem Sonnenschein verzichten, derzeit ist light aber auch dann 6, wenn's leicht bewölkt ist. Für diesen speziellen Raum würde ich dann den yahoo-Wert direkt auswerten.

Gruß, Uli

JoWiemann

unread,
Apr 21, 2012, 2:04:55 PM4/21/12
to FHEM users

unimatrix

unread,
Apr 23, 2012, 10:34:30 AM4/23/12
to fhem-...@googlegroups.com
Das Mapping (siehe unten) ist natürlich meine persönliche Willkür und die Codes die von Yahoo kommen sind auch nicht immer zuverlässig.

Meinst du dass der aktuelle Condition Code mit in die Readings soll? Das kann ich nachher schnell einbauen
VG

UliM

unread,
Apr 23, 2012, 12:34:23 PM4/23/12
to fhem-...@googlegroups.com


Am Montag, 23. April 2012 16:34:30 UTC+2 schrieb unimatrix:
Meinst du dass der aktuelle Condition Code mit in die Readings soll? Das kann ich nachher schnell einbauen

Jepp, so war's gemeint :)
Gruß, Uli

unimatrix

unread,
Apr 23, 2012, 2:56:25 PM4/23/12
to fhem-...@googlegroups.com
ok hab ich gemacht. Bitte mal testen.

VG

UliM

unread,
Apr 23, 2012, 3:48:14 PM4/23/12
to fhem-...@googlegroups.com
Hi,
hab 59_Twilight.pm aus SVN runtergeladen, dann shutdown restart + Brpwser refresh.
Habe twilight nicht neu definiert, also identische fhem.cfg.

Veränderung nach update: WEATHER_HORIZON ist weg, kein neues reading condition.
Das nächste Update hab ich abgewartet.
Muss ich noch irgendwas Ändern?
Gruß, Uli

Twilight_new.JPG
Twilight_old.JPG

unimatrix

unread,
Apr 24, 2012, 6:19:52 AM4/24/12
to fhem-...@googlegroups.com
Ich hab dein Define mal nachgestellt mit deiner Location ID und damit bekommt ich bei Yahoo eine Meldung dass die Location ungültig ist.

Fehlerhaft im Modul ist aber die Verarbeitung dieses Szenarios. Dies habe ich nun korrigiert. Es wird in einem solchen Fall eine Condition "-1" und ein Wetterhorizont von 0 eingetragen, außerdem wird über die unbekannte Location ein Logeintrag erstellt.

Kann es sein dass deine Wetterlocation auch vorher nicht ging? Die Tatsache dass im Bild Twilight_old Weather_Horizon identisch mit Indoor-Horizon war, deutet darauf hin.

Ich hab jetzt mal selbst die Location für deine Postleitzahl rausgesucht, damit bekomme ich: 20066988

Es ist bei dir also eine 0 zuviel am Ende.

Im SVN ist troztdem nun ein Update mit o.g. Änderungen.

VG

UliM

unread,
Apr 25, 2012, 8:33:31 AM4/25/12
to fhem-...@googlegroups.com


Am Dienstag, 24. April 2012 12:19:52 UTC+2 schrieb unimatrix:
Kann es sein dass deine Wetterlocation auch vorher nicht ging? Die Tatsache dass im Bild Twilight_old Weather_Horizon identisch mit Indoor-Horizon war, deutet darauf hin.

Hi,
schwer zu sagen, da ich ja das 'richtige' Verhalten nicht kannte...
Hab die Weather-Location gekürzt - et voilà, condition ist da und sieht gut aus und der Weather-Horizon steht zum ersten Mal auf 11 :)
Danke!
Gruß, Uli

Guido

unread,
May 29, 2012, 5:15:48 AM5/29/12
to fhem-...@googlegroups.com
Hallo,

seit ein paar Tagen läuft twilight nicht mehr rund (gefühlt seitdem ich update housekeeping clean yes durchgeführt habe siehe diesen Thread ), das heist wenn ich morgens schaue warum meine Rolos noch nicht hochgefahren sind steht twilight noch auf 0 und die Zeit der letzten Readings ist immer so zwischen 22 und 23 Uhr.
Im Log (Verbose 3) steht nichts ungewöhnliches drin , beim starten von FHEM per Telnet erscheint allerdings folgende Meldung :

localtime(nan) too large at ./FHEM/59_Twilight.pm line 194, <$fh> line 172.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 195, <$fh> line 172.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 194, <$fh> line 172.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 195, <$fh> line 172.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 194, <$fh> line 172.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 195, <$fh> line 172.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 194.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 195.

werde heute Abend mal auf verbose 5 hochdrehen und mir Morgen mal den Log anschauen ob da mehr drin steht.

Was kann ich noch tuen um den Fehler einzugrenzen ? bzw woher kommen plötzlich die Meldungen das die Zeit zu lang  ist ?

Gruß

Guido

Schellberg, Marc

unread,
May 29, 2012, 7:00:19 AM5/29/12
to fhem-...@googlegroups.com
Bei mir hängt Twilight auch ab nachts. Nach shutdown restart kriege ich wieder Werte...

Viele Grüße,
Marc



--

Guido

unread,
May 31, 2012, 4:36:15 AM5/31/12
to fhem-...@googlegroups.com

Mit Vebose 5 sieht man im Log auch nicht viel mehr außer das um 23:25Uhr twilight scheinbar noch arbeitet:

2012.05.30 23:25:15.135 5: Triggering myTwilight (13 changes)

danach aber erst wieder nach shutdown restart

Hängt das eventuell damit zusammen das sr_astro und ss_astro immoment zur gleichen Zeit bzw. gar nicht stattfinden also die Sonne zur Zeit nie untergeht ?



Bitte auch bedenken, dass in der Nordhälfte Deutschlands die Sonne astronomisch im SOmmer ca. 6 Wochen lang nicht untergeht, State wird also nicht alle Werte durchlaufen und light wird nie 0 sein.

hier meine aktuellen Readings:

condition
342012-05-31 10:08:57
light
62012-05-31 10:08:57
nextEvent
ss_weather2012-05-31 10:08:57
nextEventTime
21:07:102012-05-31 10:08:57
nextUpdate
10:23:572012-05-31 10:08:57
sr
05:29:152012-05-31 10:08:57
sr_astro
01:00:002012-05-31 10:08:57
sr_civil
04:37:502012-05-31 10:08:57
sr_indoor
05:52:272012-05-31 10:08:57
sr_naut
03:32:402012-05-31 10:08:57
sr_weather
05:52:272012-05-31 10:08:57
ss
21:30:232012-05-31 10:08:57
ss_astro
01:00:002012-05-31 10:08:57
ss_civil
22:21:472012-05-31 10:08:57
ss_indoor
21:07:102012-05-31 10:08:57
ss_naut
23:26:572012-05-31 10:08:57
ss_weather
21:07:102012-05-31 10:08:57

Gibt es noch jemand der twilight benutzt außer Marc und mir und auch diese Probleme hat bzw. keine Probleme hat ?

Oder ist dieser Fehler irgendwie Plattformabhänging (bei mir FB 7390) ?

fragende Grüße

Guido

Viele Grüße,
Marc



b50...@googlemail.com

unread,
May 31, 2012, 10:44:48 AM5/31/12
to fhem-...@googlegroups.com
Seit geraumer Zeit funzt es bei mir auch nicht mehr richtig.

Basis Dockstar. Anbei die letzten Daten. Gerade ausgelsesen.



Gruß Klaus

Am 31.05.2012 um 10:36 schrieb Guido:

puschel74

unread,
May 31, 2012, 12:16:22 PM5/31/12
to fhem-...@googlegroups.com
Hallo,

FB7390 und twilight funkt einwandfrei.
Letztes Reading um 18:15:53 am 31.05.2012.

Grüße

Guido

unread,
Jun 3, 2012, 8:51:10 AM6/3/12
to fhem-...@googlegroups.com
Nochmal Hallo,

Leider läuft twilight immer noch nicht rund, bei mir ist es so das es immer beim letzten raedingsupdate vor dem Datumswechsel hängen bleibt und auch erst nach dem Datumswecsel mit shutdown restart weiterläuft.

Die Fehlermeldung nach wie vor:

localtime(nan) too large at ./FHEM/59_Twilight.pm line 194, <$fh> line 170.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 195, <$fh> line 170.
2012.06.03 14:05:09.019 0: Server started (version 5.2+SVN from 2012-06-03 ($Id: fhem.pl 1596 2012-06-02 16:51:25Z mfr69bs $), pid 15137)

zu der Meldung finde ich folgende Information im Netz:
localtime(%f) too large

(W overflow) You called localtime with a number that was larger than it can reliably handle and localtime probably returned the wrong date. This warning is also triggered with NaN (the special not-a-number value).

Jetzt die Frage an die Perl Profis ist das evtl. ein Problem mit den neuen Perlimplementierungen von AVM oder hat das nur mit dem Modul Twilight zu tuen ?

@ Puschel74

Welche Version hast du auf deiner FB laufen ?



Gruß Guido

puschel74

unread,
Jun 3, 2012, 9:11:03 AM6/3/12
to fhem-...@googlegroups.com
Hallo,

das fhem-log sagt mir folgendes:

2012.06.02 21:15:48 0: Server started (version 5.2+SVN from 2012-06-02 ($Id: fhem.pl 1594 2012-06-01 21:34:21Z mfr69bs $), pid 14002)

Grüße

Heiermann

unread,
Jun 3, 2012, 9:39:08 AM6/3/12
to fhem-...@googlegroups.com
Moin,

ich habe gerade mal einen Blick in das fhem-log geworfen, und bin richtig erschrocken: seitdem ich das aktuelle Image für die Fritzbox 7390 von fhem.de installiert habe (primär wegen der neuen Perl-Module), kommt folgende Fehlermeldung:

localtime(nan) too large at ./FHEM/59_Twilight.pm line 194.
localtime(nan) too large at ./FHEM/59_Twilight.pm line 195.

Diese Meldungen kommen recht häufig und "müllen" meine Konfigdatei zu. Was stimmt denn da nicht mehr?

-Heiermann

Am Sonntag, 3. Juni 2012 14:51:10 UTC+2 schrieb Guido:

muellthos

unread,
Jun 3, 2012, 10:37:50 AM6/3/12
to fhem-...@googlegroups.com
Cheers,

ich habe eine Synology DS 212, aber nicht mit der on-board  Perl Version 5.8.6, sondern mit der 5.14.2, die hier im Forum vorgestellt wurde. Damit habe ich den gleichen Effekt.

muellthos

b50...@googlemail.com

unread,
Jun 4, 2012, 9:18:21 AM6/4/12
to fhem-...@googlegroups.com
Ich kann diese Situation bestätigen.

Leider kann ich aber mit LOG Auszügen nicht dienen.

Kann ich aber für heute Abend nach verlangen einmal einstellen.

Gruß Klaus


--
To unsubscribe from this group, send email to

Steffen

unread,
Jun 8, 2012, 1:09:21 AM6/8/12
to fhem-...@googlegroups.com
Hallo!
Ist bei mir zur zeit auch so, bleibt immer kurz vor datum wechsel stehen und immer genau bei Wert state10!
Gibt es schon eine lösung für das Problem???
7170 5.2

Guido

unread,
Jun 8, 2012, 6:29:38 AM6/8/12
to fhem-...@googlegroups.com
Hallo Steffgen,


Gibt es schon eine lösung für das Problem???

leider nein, der Modulerbauer Unimatrix scheint zur Zeit hier nicht aktiv zu sein.

Ich selber habe mir die 59_Twilight.pm schon zigmal angeschaut was aber mangels Perl Verständnis zu nichts geführt hat.

Daher habe ich wieder auf at mit sunset und sunrise umgestellt damit ich nicht jeden Morgen und Abend alles manuell schalten muss.

Hier nochmal der Fehler:

localtime(nan) too large at ./FHEM/59_Twilight.pm line 194. localtime(nan) too large at ./FHEM/59_Twilight.pm line 195.

Vieleicht hat ja jemand anderes hier mit Perlkenntnissen gerade langeweile und kann das mal überprüfen.

Schellberg, Marc

unread,
Jun 8, 2012, 6:45:59 AM6/8/12
to fhem-...@googlegroups.com

Ich habe ein shutdown restart für nachts eingeplant...

Viele Grüße,
Marc

--

Rudolf Koenig

unread,
Jun 9, 2012, 9:48:13 AM6/9/12
to fhem-...@googlegroups.com
> Vieleicht hat ja jemand anderes hier *mit* Perlkenntnissen gerade langeweile
> und kann das mal �berpr�fen.

Hab Twilight mal aus Neugierde angeschaut, das Problem tritt auch bei mir auf.

Debugging:
- fuer sr_astro/ss_astro (Index 0) liefert twilight_calc "nan" zurueck.
Aufgerufen wird es mit:
$latitude = 50.112
$longitude = 8.686
$horizon = -18
$declination = 0.401255711884884
$timezone = 2
$midseconds = 1339192800
$timediff = 0.0106007942518296

- (sin($horizon/57.29578)-sin($latitude/57.29578)*sin($declination)) /
(cos($latitude/57.29578)*cos($declination))
ist -1.03108739627544, asin() davon ist "nan"
Letzteres ist korrekt, das kann ich sogar aus Erinnerung bestaetigen :)

Die Ursache ist dass heute die Sonne auch um Mitternacht nicht tiefer als 18
Grad unter dem Horizont ist. Pruefung: 90 - lat(50) - deklination_von_heute(23)
= 17 < 18

Ich habe diese Werte auf "undefined" gesetzt, light wird auf dieses Wert auch
nicht gesetzt. Eingecheckt, ab morgen per updatefhem verfuegbar. Da es nicht
mein Modul ist, bitte gruendlich testen, und mir ganz einfach zu verstehende
Fehlermeldungen liefern :)

Guido

unread,
Jun 12, 2012, 4:27:41 AM6/12/12
to fhem-...@googlegroups.com
Hallo Rudolf,
schön das du neugierig bist leider hat die gemachte Änderung den eigentlichen Fehler nicht beseitigt, es gibt zwar keine Meldungen mehr im Log aber beim letzten Reading vor dem Datumswechsel läuft es nicht weiter
next Update wird nicht aktualisiert bzw. bleibt auf dem letzten Wert stehen.State ist dann immer auf 10
Ein reload 59_Twilight.pm bringt keine Veränderung es muss ein shutdown restart nach dem Datumswechsel gemacht werden damit wieder aktuelle Werte angezeigt werden.


Hier die letzten Readings von gestern Abend:

Readings
condition             27    2012-06-11 23:44:02
light                     2    2012-06-11 22:33:30
nextEvent   ss_naut    2012-06-11 22:33:30
nextEventTime 23:43:51    2012-06-11 22:33:30
nextUpdate 23:44:01    2012-06-11 22:33:30
sr               05:23:34    2012-06-11 23:44:02
sr_astro      undefined    2012-06-11 23:44:02
sr_civil         04:30:13    2012-06-11 23:44:02
sr_indoor     05:47:23    2012-06-11 23:44:02
sr_naut        03:19:41    2012-06-11 23:44:02
sr_weather   06:24:30    2012-06-11 23:44:02
ss               21:39:58    2012-06-11 23:44:02
ss_astro      undefined    2012-06-11 23:44:02
ss_civil        22:33:20    2012-06-11 23:44:02
ss_indoor     21:16:10    2012-06-11 23:44:02
ss_naut        23:43:51    2012-06-11 23:44:02
ss_weather   20:39:03    2012-06-11 23:44:02


Am Samstag, 9. Juni 2012 15:48:13 UTC+2 schrieb Rudolf Koenig:
> Vieleicht hat ja jemand anderes hier *mit* Perlkenntnissen gerade langeweile
> und kann das mal �berpr�fen.

Rudolf Koenig

unread,
Jun 12, 2012, 4:51:43 AM6/12/12
to fhem-...@googlegroups.com
> Hier die letzten Readings von gestern Abend:

Ich sehe Dein Problem nicht. ss_astro/sr_astro wird (je nach Wohnort) noch eine
Weile auf undefined blieben. Das kann ich nicht "fixen".

Guido

unread,
Jun 12, 2012, 5:46:02 AM6/12/12
to fhem-...@googlegroups.com
ich denke das das:

light                     2    2012-06-11 22:33:30
nextEvent   ss_naut    2012-06-11 22:33:30
nextEventTime 23:43:51    2012-06-11 22:33:30
nextUpdate 23:44:01    2012-06-11 22:33:30
das Problem ist diese Readings haben alle den Zeitstempel 22:33:30 und nicht 23:44:02 also werden nicht upgedatet und somit arbeitet das Modul wahrscheinlich bis 23:44:01 am nächsten Tag nicht weiter.

Hier mein theoretischer Lösungsvorschlag nach meiner persönlichen Logik: sr_astro und ss_astro müssten (solange undefined) als nextEvent übersprungen werden damit nextUpdate nach sr_naut steht.

puschel74

unread,
Jun 12, 2012, 12:50:12 PM6/12/12
to fhem-...@googlegroups.com
Hallo,

werft mal bitte einen Blick auf meine twilight-Readings (soeben aus fhem kopiert):

condition
112012-06-12 18:38:42
light
62012-06-12 18:38:42
nextEvent
ss_weather2012-06-12 18:38:42
nextEventTime
20:06:182012-06-12 18:38:42
nextUpdate
18:53:422012-06-12 18:38:42
sr
05:36:522012-06-12 18:38:42
sr_astro
02:26:102012-06-12 18:38:42
sr_civil
04:50:112012-06-12 18:38:42
sr_indoor
06:05:152012-06-12 18:38:42
sr_naut
03:54:162012-06-12 18:38:42
sr_weather
06:51:442012-06-12 18:38:42
ss
21:21:102012-06-12 18:38:42
ss_astro
00:31:522012-06-12 18:38:42
ss_civil
22:07:502012-06-12 18:38:42
ss_indoor
20:52:472012-06-12 18:38:42
ss_naut
23:03:462012-06-12 18:38:42
ss_weather
20:06:182012-06-12 18:38:42

Wieso hab ich keine undefined drinnen??
Oder hab ich tatsächlich mal Glück mit unserem Standort?

Danke für den Blick drüber und evtl. eine kurze Meldung.

Grüße

Guido

unread,
Jun 13, 2012, 7:22:46 AM6/13/12
to fhem-...@googlegroups.com

Wieso hab ich keine undefined drinnen??
Oder hab ich tatsächlich mal Glück mit unserem Standort?

Ja es sieht ganz danach aus das du Glück hast mit deinem Standort, ich denke du wohnst relativ weit südlich und da geht die Sonne tatsächlich noch ganz unter.
Ich hab eben mal bei mir Testweise die Koordinaten von Oberstdorf  für Twilight eingegeben dann sieht auch mein Reading so ähnlich aus wie deins also es gibt tatsächlich ein ss_astro und ein sr_astro.
Daher läuft es bei dir auch noch rund.

@Rudolf

Ich hab mir deine Änderungen im Modul mal angeschaut du hast ja unter anderm auch die Zeile

 next if($nexttime eq "undefined");

eingefügt das scheint ja ungefähr das zu sein was ich meinte wenn ss_astro bzw sr_astro = undefined sind mach beim nächsten weiter richtig?

aber warum bleibts dann bei ss_naut als nextEvent hängen und setzt nicht sr_naut als nextEvent  ?

Guido

unread,
Jun 15, 2012, 4:44:09 AM6/15/12
to fhem-...@googlegroups.com
Ich habe ein shutdown restart für nachts eingeplant...

Da es ja ein komplexes Problem zu sein scheint und ich von Perl keine Ahnung hab, Twilight aber nutzen möchte, behelfe ich mir (bis die Sonne wieder untergeht) mit einem rereadcfg nach Mitternacht. Es muss kein shutdown restart sein.

folgende Zeile habe ich in meine fhem.cfg eingefügt

define Reread at *00:05:00 rereadcfg



Am Freitag, 8. Juni 2012 12:45:59 UTC+2 schrieb Marc:

Ich habe ein shutdown restart für nachts eingeplant...

Viele Grüße,
Marc

Am 08.06.2012 12:29 schrieb "Guido"
Hallo Steffgen,


Gibt es schon eine lösung für das Problem???

leider nein, der Modulerbauer Unimatrix scheint zur Zeit hier nicht aktiv zu sein.

Ich selber habe mir die 59_Twilight.pm schon zigmal angeschaut was aber mangels Perl Verständnis zu nichts geführt hat.

Daher habe ich wieder auf at mit sunset und sunrise umgestellt damit ich nicht jeden Morgen und Abend alles manuell schalten muss.

Hier nochmal der Fehler:

localtime(nan) too large at ./FHEM/59_Twilight.pm line 194. localtime(nan) too large at ./FHEM/59_Twilight.pm line 195.

Vieleicht hat ja jemand anderes hier mit Perlkenntnissen gerade langeweile und kann das mal überprüfen.


Am Freitag, 8. Juni 2012 07:09:21 UTC+2 schrieb Steffen:
Hallo!
Ist bei mir zur zeit auch so, bleibt immer kurz vor datum wechsel stehen und immer genau bei Wert state10!
Gibt es schon eine lösung für das Problem???
7170 5.2

--
To unsubscribe from this group, send email to

Rudolf Koenig

unread,
Jun 16, 2012, 3:54:02 AM6/16/12
to fhem-...@googlegroups.com
> aber warum bleibts dann bei ss_naut als nextEvent h�ngen und setzt nicht
> sr_naut als nextEvent ?

Ich kapiere den Code von unimatrix noch nicht wirklich, ich vermute aber dass
hier statt undefined/next eher 0 bzw. 20000000 erwrtet wird. Getestet hat er
vermutlich mit diesen werten nie, da diese in der Ausgabe komisch auschauen.

Ich habe es jetzt nach besten Wissen :) geaendert und eingecheckt (SVN), koennt
ihr das bitte testen?

Guido

unread,
Jun 17, 2012, 6:39:44 AM6/17/12
to fhem-...@googlegroups.com
hatte mir  gestern direkt die Revision 1621 von  59_twilight.pm aus dem svn geholt um heute Nacht zu testen.

leider bleibt der Fehler wie gehabt: letztes Reading erfolgt um 23:48 Uhr nextUpdate bleibt auf dieser Uhrzeit und so bleibts dann stehen.

INDOOR_HORIZON 4
NAME myTwilight NR 50 STATE 10 TYPE Twilight
WEATHER_HORIZON 7


Readings: 2012-06-16 23:48:39 condition 29 2012-06-16 22:36:43 light 2 2012-06-16 22:36:43 nextEvent ss_naut 2012-06-16 22:36:43 nextEventTime 23:48:29 2012-06-16 22:36:43 nextUpdate 23:48:39 2012-06-16 23:48:39 sr 05:22:53 2012-06-16 23:48:39 sr_astro undefined 2012-06-16 23:48:39 sr_civil 04:29:03 2012-06-16 23:48:39 sr_indoor 05:54:31 2012-06-16 23:48:39 sr_naut 03:17:07 2012-06-16 23:48:39 sr_weather 06:16:52 2012-06-16 23:48:39 ss 21:42:43 2012-06-16 23:48:39 ss_astro undefined 2012-06-16 23:48:39 ss_civil 22:36:33 2012-06-16 23:48:39 ss_indoor 21:11:05 2012-06-16 23:48:39 ss_naut 23:48:29 2012-06-16 23:48:39 ss_weather 20:48:44



Am Samstag, 16. Juni 2012 09:54:02 UTC+2 schrieb Rudolf Koenig:
> aber warum bleibts dann bei ss_naut als nextEvent h�ngen und setzt nicht

Rudolf Koenig

unread,
Jun 26, 2012, 6:36:31 AM6/26/12
to fhem-...@googlegroups.com
> leider bleibt der Fehler wie gehabt: letztes Reading erfolgt um 23:48 Uhr
> nextUpdate bleibt auf dieser Uhrzeit und so bleibts dann stehen.

Ich habe Twilight.pm jetzt durchgelesen (und etwas umformatiert :), ich meine
es jetzt zu verstehen, und auch den Bug behoben zu haben. Hab heute Nacht
"simuliert", danach funktioniert es jetzt. Bitte um Test und Feedback.

Gruss,
Rudi

dudler

unread,
Jun 26, 2012, 11:37:34 AM6/26/12
to fhem-...@googlegroups.com
I would love to test it. Can you provide info how to update it on my FB 7390?

{HT}

Op dinsdag 26 juni 2012 12:36:31 UTC+2 schreef Rudolf Koenig het volgende:

Guido

unread,
Jun 26, 2012, 11:55:45 AM6/26/12
to fhem-...@googlegroups.com
updatefhem 59_Twilight.pm
It is loading more messages.
0 new messages