FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Firetic am 28 März 2018, 09:48:10

Titel: Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 28 März 2018, 09:48:10
Ich habe irgendwie in den letzten Tagen Probleme mit dem SUNRISE Modul.
Irgendwie scheint es irgendwie ein Problem mit dem HORIZON Parameter zu geben  :-[ Aufgefallen ist mir das es einen deutlichen Unterschied zwischen dem REAL (HORIZON = 0.0) und CIVIL (HORIZON = -6.0) Parameter gibt - da habe ich mich mal näher rangetastet...

defmod SetDummy2 at *{sunrise("HORIZON=-3.0",0)} set Tageslicht hell ergibt mir als nächste Ausführungszeit "Next: 07:00:09"
defmod SetDummy2 at *{sunrise("HORIZON=-3.1",0)} set Tageslicht hell   ergibt mir als nächste Ausführungszeit "Next: 03:59:30"

defmod SetDummy1 at *{sunset("HORIZON=-1.5",0)} set Tageslicht dunkel ergibt mir als nächste Ausführungszeit "Next: 19:59:50"
defmod SetDummy1 at *{sunset("HORIZON=-1.6",0)} set Tageslicht dunkel ergibt mir als nächste Ausführungszeit "Next: 02:00:29"

Habe auch mal beide Module neu installiert, was aber keine Änderung gebracht hat  :-\

Mir sind jetzt die Ideen ausgegangen... Vielleicht hat ja noch jemand eine Idee was ich noch probieren könnte.

Gruß Firetic
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: miot am 28 März 2018, 10:24:56
Hallo,

hast Du die Attribute fuer latitude und longitude geprueft?  Sind die korrekt?
Mehr faellt mir dazu leider auch nicht ein.

Gruss
Michael
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: rudolfkoenig am 28 März 2018, 10:29:19
Fuer die voreingestellten Werte von latitude/longitude bekomme ich:
fhem> defmod SetDummy2 at *{sunrise("HORIZON=-3.0",0)} set Tageslicht hell
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-29 06:56:24

fhem> defmod SetDummy2 at *{sunrise("HORIZON=-3.1",0)} set Tageslicht hell
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-29 06:55:46

fhem> defmod SetDummy2 at *{sunset("HORIZON=-1.5",0)} set Tageslicht dunkel
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-28 19:54:08

fhem> defmod SetDummy2 at *{sunset("HORIZON=-1.6",0)} set Tageslicht dunkel
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-28 19:54:46

Schaut ok aus fuer mich...
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Otto123 am 28 März 2018, 10:33:34
Moin,

ich kann das bestätigen, habe das vorhin auch mal durchgespielt. Meine Zeiten liegen wie die von Rudi grob ca 1 min auseinander bei 6:40:xx

Gruß Otto
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 28 März 2018, 10:46:04
Meiner Meinung nach ist das korrekt eingestellt:


latitude 51.255404
longitude 7.466133


Das Twilight Modul scheint auch ohne Probleme zu funktionieren - das greift doch glaube ich auch darauf zurück!?

Auch die Systemzeit ist korrekt eingestellt...
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: rudolfkoenig am 28 März 2018, 10:50:19
fhem> attr global latitude 51.255404
fhem> attr global longitude 7.466133
fhem> defmod SetDummy2 at *{sunrise("HORIZON=-3.0",0)} set Tageslicht hell
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-29 07:00:09

fhem> defmod SetDummy2 at *{sunrise("HORIZON=-3.1",0)} set Tageslicht hell
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-29 06:59:30

fhem> defmod SetDummy2 at *{sunset("HORIZON=-1.5",0)} set Tageslicht dunkel
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-28 19:59:50

fhem> defmod SetDummy2 at *{sunset("HORIZON=-1.6",0)} set Tageslicht dunkel
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-28 20:00:29

Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 28 März 2018, 10:59:20
Ich verzweifel jetzt langsam  :'(

Soviel kann ich doch eigentlich gar nicht falsch machen  ::)
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: ph1959de am 28 März 2018, 10:59:30
Zitat von: Firetic am 28 März 2018, 10:46:04
Das Twilight Modul scheint auch ohne Probleme zu funktionieren - das greift doch glaube ich auch darauf zurück!?
Nein, beim Twilight Modul sind die Koordinaten Pflichtangabe im DEF:
define <name> Twilight <latitude> <longitude> [<indoor_horizon> [<Weather_Position>]]

will heißen: Twilight verwendet nicht die Koordinaten aus global!
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 28 März 2018, 11:10:13
Stimmt - das war mir entfallen...

Habe gerade nochmal die Werte überprüft. Sind aber die gleichen in der "Global" und "Twilight" Definition.
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 28 März 2018, 11:58:31
Habe mal die Definition von  latitude und longitude gelöscht. Dann scheint es zu funktionieren (er nimmt ja dann wohl die Werte für Frankfurt)...

Kann ich mir möglicherweise durch meine global Definition irgendwie einen Fehler reingeholt haben?

Hier einfach mal meine Global-def (also hier noch vorm rauslöschen der beiden Werte)

attr global userattr cmdIcon devStateIcon devStateStyle icon msgContactAudio msgContactLight msgContactMail msgContactPush msgContactScreen msgParams msgPriority msgRecipient msgRecipientAudio msgRecipientLight msgRecipientMail msgRecipientPush msgRecipientScreen msgRecipientText msgTitle msgTitleShrt msgType:text,push,mail,screen,light,audio,queue sortby webCmd webCmdLabel:textField-long widgetOverride
attr global autoload_undefined_devices 1
attr global autosave 0
attr global exclude_from_update 17_EGPM2LAN.pm
attr global language DE
attr global latitude 51.265952
attr global logfile ./log/fhem-%Y-%m-%d.log
attr global longitude 7.475378
attr global modpath .
attr global stacktrace 0
attr global statefile ./log/fhem.save
attr global updateInBackground 1
attr global verbose 3
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: rudolfkoenig am 28 März 2018, 12:20:36
Mit deinen global Attributen:
fhem> defmod SetDummy2 at *{sunrise("HORIZON=-3.1",0)} set Tageslicht hell
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-29 06:59:27

fhem> defmod SetDummy2 at *{sunrise("HORIZON=-27.6",0)} set Tageslicht hell
fhem> li SetDummy2 TRIGGERTIME_FMT
SetDummy2                2018-03-29 03:59:10
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 04 April 2018, 08:23:20
Danke erstmal für deine ganze Mühe  :)

Hab nochmal alles mögliche versucht - glaube ich muss mein System nochmal komplett neu aufsetzten  :-[

Eines ist mir noch aufgefallen (vielleicht hat jemand ja einen Geistesblitz dazu):

{sunset("CIVIL",0)} direkt über die Oberfläche liefert mir den korrekten Wert "20:41:11" im at steht allerdings für die nächste Ausführung "Next: 02:41:11"

ebenso beim Sonnenaufgang:

{sunrise("CIVIL",0)} direkt über die Oberfläche liefert mir den korrekten Wert "30:24:24" im at steht allerdings für die nächste Ausführung "Next: 03:24:24"


Irgendwie scheint mein System einen Drehen in den Stunden zu haben  ???
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: ph1959de am 04 April 2018, 08:54:38
Dann gib uns doch bitte mal die "list" Ausgabe von Deinen "at" ... ich glaube, bisher haben wir nur die Definitionen (aus der .cfg?) gesehen.
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 04 April 2018, 08:59:46
Stimmt  :)

Hier mal die "list" Ausgabe:

Internals:
   COMMAND    set Tageslicht dunkel
   DEF        *{sunset("CIVIL",0)} set Tageslicht dunkel
   NAME       SetDummy1
   NR         173
   NTM        02:41:11
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      Next: 02:41:11
   TIMESPEC   {sunset("CIVIL",0)}
   TRIGGERTIME 1522888871
   TRIGGERTIME_FMT 2018-04-05 02:41:11
   TYPE       at
   READINGS:
     2018-04-04 08:16:42   state           Next: 02:41:11
Attributes:
   alias      Sonnenuntergang
   group      Info
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: rudolfkoenig am 04 April 2018, 21:05:02
ZitatIrgendwie scheint mein System einen Drehen in den Stunden zu haben
Faszinierend.

Kannst du bitte Folgendes ueber die Eingebezeile pruefen

{ join(",", GetTimeSpec('{sunrise("CIVIL",0)}')) }
{ join(",", GetTimeSpec('{sunset("CIVIL",0)}')) }

Es erzeugt jeweils eine Warnung in der fhem.log, das kann aber ignoriert werden.
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 05 April 2018, 06:05:43
Zitat von: rudolfkoenig am 04 April 2018, 21:05:02
Faszinierend.
Ja irgendwie sehr seltsam :o

Nach der Eingabe erhalte ich als Rückgabe:

,6,24,24,sunrise("CIVIL",0)
,2,42,56,sunset("CIVIL",0)


Wirst du daraus schon schlauer  ;D
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: rudolfkoenig am 05 April 2018, 08:48:49
Ein bisschen: Sunset ist um 20:42:46, GetTimeSpec (fhem.pl, Zeile 3366) hat auf deinem Rechner daraus aber 2,42,46 gemacht, irgendwas ist mit der Regexp-Bibliothek anders. Was liefert
{ "20:42:46" =~ m/^([0-9]+):([0-5][0-9]):([0-5][0-9])$/;; "$1,$2,$3" }
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 05 April 2018, 09:05:44
Das scheint zu klappen...

20,42,46
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: rudolfkoenig am 05 April 2018, 09:15:00
Kannst du bitte die folgende Zeile:
Log 1, "TSPEC: $tspec => /$hr/$min/$sec/";
in fhem.pl/3368, nach der vorhandenen Zeile
    ($hr, $min, $sec) = ($1, $2, $3);
einbauen, FHEM neu starten, danach die zwei { join... Zeilen von vorhin ausfuehren, und die TSPEC Zeilen aus dem FHEM-Log hier mitteilen?
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 05 April 2018, 10:15:01
Super das hat die Lösung gebracht - ich war mal wieder selber Schuld  :o

Ich habe deine Änderung in die fhem.pl eingepflegt und mich nach einem Neustart gewundert das ich keine Ausgabe im LOG erhalte.  :-\

Nachdem ich mir die Änderung genauer angeschaut habe, schien mir die aufgerufene Funktion "GetTimeSpec" doch irgendwie bekannt vorzukommen - ich habe diese auch in meiner MyUtils-Datei angelegt :-X
Nachdem ich diese bereinigt habe funktioniert alles wieder wie gewohnt...

Vielen vielen Dank für deine Hilfe - darauf wäre ich glaube ich nicht gekommen. Mich wundert nur das es diese eigentlich schon ewig in meiner MyUtils-Datei gibt?!

Gruß Firetic
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: rudolfkoenig am 05 April 2018, 11:16:05
Es duerfte auch eine Warnung der Art
  PERL WARNING: Subroutine GetTimeSpec redefined at ./FHEM/99_myUtils.pm line ...
als erste Zeile bei jedem FHEM Start gekommen sein...

Wie auch immer, freut mich, dass das Problem geloest ist.
Titel: Antw:Problem mit SUNRISE_EL und at
Beitrag von: Firetic am 05 April 2018, 11:25:46
Stimmt - die Warnung kam wirklich. Hab ich irgendwie immer überlesen...
War zwischen den "PERL WARNING: Smartmatch is experimental..." Meldungen versteckt :o

Vielen Dank auf jeden Fall nochmal  :)