Uhrzeit am HM-CC-TC verstellt sich

Begonnen von Guest, 01 Dezember 2011, 15:11:01

Vorheriges Thema - Nächstes Thema

Oskar

                                                     

Hört mich keiner?

Ich hatte das doch schon geschrieben.
Am 10.12.2011 um 08:44 schrieb Rudolf Koenig:

>> heute morgen ging die Uhrzeit drei Stunden vor. :-(
>
> Dann warte ich mal mit dem patch-einbau :)

schneekoenig:fhem oskar$ svn diff FHEM/00_HMLAN.pm
Index: FHEM/00_HMLAN.pm
===================================================================
--- FHEM/00_HMLAN.pm   (revision 1127)
+++ FHEM/00_HMLAN.pm   (working copy)
@@ -348,7 +348,13 @@
  my $id  = AttrVal($name, "hmId", undef);
  my $key = AttrVal($name, "hmKey", "");        # 36(!) hex digits

-  my $s2000 = sprintf("%02X", time()-946681200); # sec since 2000
+  my $toff = 946681200; # seconds between 2000 - 1970
+  my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) =
localtime(time);
+  $toff += 3600; # correction for GMT
+  $toff += 3600 if !$isdst;
+  my $thistime = time()-$toff;
+
+  my $s2000 = sprintf("%02X", $thistime);
  HMLAN_SimpleWrite($hash, "A$id") if($id);
  HMLAN_SimpleWrite($hash, "C");
  HMLAN_SimpleWrite($hash, "Y01,01,$key");

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

rudolfkoenig

                                                   

On Sat, Dec 10, 2011 at 11:01:24AM +0100, Jan-Hinrich Fessel wrote:
> Hört mich keiner?

Doch, aber ich dachte, dass PoLe23 Dein Patch schon verwendet.

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

Oskar

                                                     

Oha,

On 10 Dez., 11:06, Rudolf Koenig wrote:
> On Sat, Dec 10, 2011 at 11:01:24AM +0100, Jan-Hinrich Fessel wrote:
> > H rt mich keiner?

Ich soll nicht so jammern, ich hätt ja mal im Web nachkucken können,
ob meine Mail angekommen war...

> Doch, aber ich dachte, dass PoLe23 Dein Patch schon verwendet.

Offensichtlich nicht ;)

Grüße
    Oskar

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

Guest

Originally posted by: <email address deleted>

Hallo,

ich hatte das hier geändert.

  my $s2000 = sprintf("%02X", time()-946681200); # sec since 2000
durch
  my $s2000 = sprintf("%02X", time()-946677600);

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

Oskar

                                                     

Am 10.12.2011 um 15:01 schrieb PoLe23:

> Hallo,
>
> ich hatte das hier geändert.
>
>  my $s2000 = sprintf("%02X", time()-946681200); # sec since 2000
> durch
>  my $s2000 = sprintf("%02X", time()-946677600);

das ist dann offensichtlich falsch, wie ich schon schrieb.

Was mich insgesamt wundert, ist aber, das die in meinem Patch "von-GMT-zu-MEZ-korrigierte" Zeit eigentlich genau der GMT-Wert ist:

[schneefix:trunk/fhem/FHEM] oskar% perl -e '{my $t=gmtime(946684800); printf "%s\n", $t;}'
Sat Jan  1 00:00:00 2000

bzw: [schneefix:trunk/fhem/FHEM] oskar% perl -e '{my $t=gmtime(946681200+3600); printf "%s\n", $t;}'
Sat Jan  1 00:00:00 2000

Es scheint so, als wenn das HMLAN immer auf lokalzeit läuft und keine Sommerzeit kennt.  
Also ist mein Patch, obwohl er derzeit korrekt läuft nicht richtig kommentiert und auch falsch.  

Für jetzt reicht es,
 my $s2000 = sprintf("%02X", time()-946681200); # sec since 2000
durch
 my $s2000 = sprintf("%02X", time()-946684800);

zu ersetzen.

Komplett müßte das dann so aussehen:


schneekoenig:fhem oskar$ svn diff FHEM/00_HMLAN.pm
Index: FHEM/00_HMLAN.pm
===================================================================
--- FHEM/00_HMLAN.pm   (revision 1127)
+++ FHEM/00_HMLAN.pm   (working copy)
@@ -348,7 +348,13 @@
   my $id  = AttrVal($name, "hmId", undef);
   my $key = AttrVal($name, "hmKey", "");        # 36(!) hex digits
 
-  my $s2000 = sprintf("%02X", time()-946681200); # sec since 2000
+  my $toff = 946684800; # seconds between 01.01.2000, 00:00 and THE EPOCH
+  my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
+  $toff += 1*3600; # Timezone offset from UTC * 3600 (MEZ=1)
+  $toff -= 3600 if $isdst;
+  my $thistime = time()-$toff;
+
+  my $s2000 = sprintf("%02X", $thistime);
   HMLAN_SimpleWrite($hash, "A$id") if($id);
   HMLAN_SimpleWrite($hash, "C");
   HMLAN_SimpleWrite($hash, "Y01,01,$key");



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

Guest

Originally posted by: <email address deleted>

Hallo,

habe es jetzt in my $s2000 = sprintf("%02X", time()-946684800);
geändert und heute morgen ging die Uhrzeit nur eine Stunde vor.
Wir kommen dem Ziel immer näher! :-)

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

Oskar

                                                     

Am 12.12.2011 um 09:15 schrieb PoLe23:

> Hallo,
>
> habe es jetzt in my $s2000 = sprintf("%02X", time()-946684800);
> geändert und heute morgen ging die Uhrzeit nur eine Stunde vor.
> Wir kommen dem Ziel immer näher! :-)

Stimmt.  Jetzt läuft die Uhr auf Sommerzeit.  Sozusagen.

Versuch doch mal den Patch aus der vergangenen Mail, falls Du weißt, wie mans macht, ansonsten würde der Patch für dieses Halbjahr in Mitteleuropa nicht 946684800 ergeben, sondern 946684800+3600, also 946688400.

Jetzt habe ich aber lange genug diese blöden Zahlen falsch zusammengerechnet;-(

Direktcheck würde im Übrigen so funktionieren:
Datei ändern.
Entweder reload 00_HMLAN.pm eingeben (telnet oder http) und das HMLAN kurz vom Netz trennen.
Oder (besser) das fhem komplett neustarten.
Batterie aus TC entfernen, wieder rein.  SYN kommt dann, aber als nächstes steht dann da 2010 oder so, um das Datum einzugeben.
Stattdessen einfach Batterie nochmal raus, wieder rein, SYN sehen und über hoffentlich korrekte Uhrzeit freuen.

Grüße
   Oskar

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

Guest

Originally posted by: <email address deleted>

Hallo,

wie genau spiele ich den Patch ein? (updatefhem?)

On 12 Dez., 10:42, Jan-Hinrich Fessel wrote:
> Am 12.12.2011 um 09:15 schrieb PoLe23:
>
> > Hallo,
>
> > habe es jetzt in my $s2000 = sprintf("%02X", time()-946684800);
> > geändert und heute morgen ging die Uhrzeit nur eine Stunde vor.
> > Wir kommen dem Ziel immer näher! :-)
>
> Stimmt.  Jetzt läuft die Uhr auf Sommerzeit.  Sozusagen.
>
> Versuch doch mal den Patch aus der vergangenen Mail, falls Du weißt, wie mans macht, ansonsten würde der Patch für dieses Halbjahr in Mitteleuropa nicht 946684800 ergeben, sondern 946684800+3600, also 946688400.
>
> Jetzt habe ich aber lange genug diese blöden Zahlen falsch zusammengerechnet;-(
>
> Direktcheck würde im Übrigen so funktionieren:
> Datei ändern.
> Entweder reload 00_HMLAN.pm eingeben (telnet oder http) und das HMLAN kurz vom Netz trennen.
> Oder (besser) das fhem komplett neustarten.
> Batterie aus TC entfernen, wieder rein.  SYN kommt dann, aber als nächstes steht dann da 2010 oder so, um das Datum einzugeben.
> Stattdessen einfach Batterie nochmal raus, wieder rein, SYN sehen und über hoffentlich korrekte Uhrzeit freuen.
>
> Grüße
>         Oskar

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

Oskar

                                                     

Am 12.12.2011 um 11:01 schrieb PoLe23:

> Hallo,
>
> wie genau spiele ich den Patch ein?

patch zu_patchendes_file < patch (aus der mail in eine Datei kopiert)

Alternativ kann in diesem Falle (einfacher Patch) man auch die Zeilen mit dem "-" vorne händisch durch die Zeilen mit dem "+" vorne ersetzen.  Dabei das "+ " wegmachen.

> (updatefhem?)

Nein.  Weil, dann wäre der Patch ja schon eingescheckt.  Das möchte ich aber erst, wenn jemand anders verifiziert hat, das es funktioniert.  Da wohl niemand anderes (HALLO DA DRAUSSEN) ausser uns Beiden HMLAN und HM-CC-TC benutzt, bist das Du ;-)

Wie gesagt, in Produktivumgebungen nur das machen, womit man sich halbwegs auskennt...

Grüße
   Oskar

> On 12 Dez., 10:42, Jan-Hinrich Fessel wrote:
>> Am 12.12.2011 um 09:15 schrieb PoLe23:
>>
>>> Hallo,
>>
>>> habe es jetzt in my $s2000 = sprintf("%02X", time()-946684800);
>>> geändert und heute morgen ging die Uhrzeit nur eine Stunde vor.
>>> Wir kommen dem Ziel immer näher! :-)
>>
>> Stimmt.  Jetzt läuft die Uhr auf Sommerzeit.  Sozusagen.
>>
>> Versuch doch mal den Patch aus der vergangenen Mail, falls Du weißt, wie mans macht, ansonsten würde der Patch für dieses Halbjahr in Mitteleuropa nicht 946684800 ergeben, sondern 946684800+3600, also 946688400.
>>
>> Jetzt habe ich aber lange genug diese blöden Zahlen falsch zusammengerechnet;-(
>>
>> Direktcheck würde im Übrigen so funktionieren:
>> Datei ändern.
>> Entweder reload 00_HMLAN.pm eingeben (telnet oder http) und das HMLAN kurz vom Netz trennen.
>> Oder (besser) das fhem komplett neustarten.
>> Batterie aus TC entfernen, wieder rein.  SYN kommt dann, aber als nächstes steht dann da 2010 oder so, um das Datum einzugeben.
>> Stattdessen einfach Batterie nochmal raus, wieder rein, SYN sehen und über hoffentlich korrekte Uhrzeit freuen.
>>
>> Grüße
>>         Oskar
>
> --
> 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
--
fhem geht auch auf mac os x

Guest

Originally posted by: <email address deleted>

hallo,

ich habe keine Mail erhalten.

Gruß
Gregor

On 12 Dez., 14:10, Jan-Hinrich Fessel wrote:
> Am 12.12.2011 um 11:01 schrieb PoLe23:
>
> > Hallo,
>
> > wie genau spiele ich den Patch ein?
>
> patch zu_patchendes_file < patch (aus der mail in eine Datei kopiert)
>
> Alternativ kann in diesem Falle (einfacher Patch) man auch die Zeilen mit dem "-" vorne händisch durch die Zeilen mit dem "+" vorne ersetzen.  Dabei das "+ " wegmachen.
>
> > (updatefhem?)
>
> Nein.  Weil, dann wäre der Patch ja schon eingescheckt.  Das möchte ich aber erst, wenn jemand anders verifiziert hat, das es funktioniert.  Da wohl niemand anderes (HALLO DA DRAUSSEN) ausser uns Beiden HMLAN und HM-CC-TC benutzt, bist das Du ;-)
>
> Wie gesagt, in Produktivumgebungen nur das machen, womit man sich halbwegs auskennt...
>
> Grüße
>         Oskar
>
>
>
>
>
>
>
> > On 12 Dez., 10:42, Jan-Hinrich Fessel wrote:
> >> Am 12.12.2011 um 09:15 schrieb PoLe23:
>
> >>> Hallo,
>
> >>> habe es jetzt in my $s2000 = sprintf("%02X", time()-946684800);
> >>> geändert und heute morgen ging die Uhrzeit nur eine Stunde vor.
> >>> Wir kommen dem Ziel immer näher! :-)
>
> >> Stimmt.  Jetzt läuft die Uhr auf Sommerzeit.  Sozusagen.
>
> >> Versuch doch mal den Patch aus der vergangenen Mail, falls Du weißt, wie mans macht, ansonsten würde der Patch für dieses Halbjahr in Mitteleuropa nicht 946684800 ergeben, sondern 946684800+3600, also 946688400.
>
> >> Jetzt habe ich aber lange genug diese blöden Zahlen falsch zusammengerechnet;-(
>
> >> Direktcheck würde im Übrigen so funktionieren:
> >> Datei ändern.
> >> Entweder reload 00_HMLAN.pm eingeben (telnet oder http) und das HMLAN kurz vom Netz trennen.
> >> Oder (besser) das fhem komplett neustarten.
> >> Batterie aus TC entfernen, wieder rein.  SYN kommt dann, aber als nächstes steht dann da 2010 oder so, um das Datum einzugeben.
> >> Stattdessen einfach Batterie nochmal raus, wieder rein, SYN sehen und über hoffentlich korrekte Uhrzeit freuen.
>
> >> Grüße
> >>         Oskar
>
> > --
> > 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

Oskar

                                                     

Am 12.12.2011 um 14:39 schrieb PoLe23:

> hallo,
>
> ich habe keine Mail erhalten.

Ach, mist.  Ich meinte natürlich aus dem Google-Groups-Artikel.  Ich krieg das immer durcheinander, weil ich das hauptsächlich per Mail bediene (und nicht im Browser).
>
> Gruß
> Gregor
>
> On 12 Dez., 14:10, Jan-Hinrich Fessel wrote:
>> Am 12.12.2011 um 11:01 schrieb PoLe23:
>>
>>> Hallo,
>>
>>> wie genau spiele ich den Patch ein?
>>
>> patch zu_patchendes_file < patch (aus der mail in eine Datei kopiert)
>>
>> Alternativ kann in diesem Falle (einfacher Patch) man auch die Zeilen mit dem "-" vorne händisch durch die Zeilen mit dem "+" vorne ersetzen.  Dabei das "+ " wegmachen.
>>
>>> (updatefhem?)
>>
>> Nein.  Weil, dann wäre der Patch ja schon eingescheckt.  Das möchte ich aber erst, wenn jemand anders verifiziert hat, das es funktioniert.  Da wohl niemand anderes (HALLO DA DRAUSSEN) ausser uns Beiden HMLAN und HM-CC-TC benutzt, bist das Du ;-)
>>
>> Wie gesagt, in Produktivumgebungen nur das machen, womit man sich halbwegs auskennt...
>>
>> Grüße
>>         Oskar
>>
>>
>>
>>
>>
>>
>>
>>> On 12 Dez., 10:42, Jan-Hinrich Fessel wrote:
>>>> Am 12.12.2011 um 09:15 schrieb PoLe23:
>>
>>>>> Hallo,
>>
>>>>> habe es jetzt in my $s2000 = sprintf("%02X", time()-946684800);
>>>>> geändert und heute morgen ging die Uhrzeit nur eine Stunde vor.
>>>>> Wir kommen dem Ziel immer näher! :-)
>>
>>>> Stimmt.  Jetzt läuft die Uhr auf Sommerzeit.  Sozusagen.
>>
>>>> Versuch doch mal den Patch aus der vergangenen Mail, falls Du weißt, wie mans macht, ansonsten würde der Patch für dieses Halbjahr in Mitteleuropa nicht 946684800 ergeben, sondern 946684800+3600, also 946688400.
>>
>>>> Jetzt habe ich aber lange genug diese blöden Zahlen falsch zusammengerechnet;-(
>>
>>>> Direktcheck würde im Übrigen so funktionieren:
>>>> Datei ändern.
>>>> Entweder reload 00_HMLAN.pm eingeben (telnet oder http) und das HMLAN kurz vom Netz trennen.
>>>> Oder (besser) das fhem komplett neustarten.
>>>> Batterie aus TC entfernen, wieder rein.  SYN kommt dann, aber als nächstes steht dann da 2010 oder so, um das Datum einzugeben.
>>>> Stattdessen einfach Batterie nochmal raus, wieder rein, SYN sehen und über hoffentlich korrekte Uhrzeit freuen.
>>
>>>> Grüße
>>>>         Oskar
>>
>>> --
>>> 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
--
fhem geht auch auf mac os x

Guest

Originally posted by: <email address deleted>

Ok,

damit ich das jetzt verstehe, da jetzt ziemliche viele Zahlen in
Umlauf sind.
Ich soll jetzt den Wert auf 946681200 setzen?

On 12 Dez., 14:50, Jan-Hinrich Fessel wrote:
> Am 12.12.2011 um 14:39 schrieb PoLe23:
>
> > hallo,
>
> > ich habe keine Mail erhalten.
>
> Ach, mist.  Ich meinte natürlich aus dem Google-Groups-Artikel.  Ich krieg das immer durcheinander, weil ich das hauptsächlich per Mail bediene (und nicht im Browser).
>
>
>
>
>
>
>
>
>
> > Gruß
> > Gregor
>
> > On 12 Dez., 14:10, Jan-Hinrich Fessel wrote:
> >> Am 12.12.2011 um 11:01 schrieb PoLe23:
>
> >>> Hallo,
>
> >>> wie genau spiele ich den Patch ein?
>
> >> patch zu_patchendes_file < patch (aus der mail in eine Datei kopiert)
>
> >> Alternativ kann in diesem Falle (einfacher Patch) man auch die Zeilen mit dem "-" vorne händisch durch die Zeilen mit dem "+" vorne ersetzen.  Dabei das "+ " wegmachen.
>
> >>> (updatefhem?)
>
> >> Nein.  Weil, dann wäre der Patch ja schon eingescheckt.  Das möchte ich aber erst, wenn jemand anders verifiziert hat, das es funktioniert.  Da wohl niemand anderes (HALLO DA DRAUSSEN) ausser uns Beiden HMLAN und HM-CC-TC benutzt, bist das Du ;-)
>
> >> Wie gesagt, in Produktivumgebungen nur das machen, womit man sich halbwegs auskennt...
>
> >> Grüße
> >>         Oskar
>
> >>> On 12 Dez., 10:42, Jan-Hinrich Fessel wrote:
> >>>> Am 12.12.2011 um 09:15 schrieb PoLe23:
>
> >>>>> Hallo,
>
> >>>>> habe es jetzt in my $s2000 = sprintf("%02X", time()-946684800);
> >>>>> geändert und heute morgen ging die Uhrzeit nur eine Stunde vor.
> >>>>> Wir kommen dem Ziel immer näher! :-)
>
> >>>> Stimmt.  Jetzt läuft die Uhr auf Sommerzeit.  Sozusagen.
>
> >>>> Versuch doch mal den Patch aus der vergangenen Mail, falls Du weißt, wie mans macht, ansonsten würde der Patch für dieses Halbjahr in Mitteleuropa nicht 946684800 ergeben, sondern 946684800+3600, also 946688400.
>
> >>>> Jetzt habe ich aber lange genug diese blöden Zahlen falsch zusammengerechnet;-(
>
> >>>> Direktcheck würde im Übrigen so funktionieren:
> >>>> Datei ändern.
> >>>> Entweder reload 00_HMLAN.pm eingeben (telnet oder http) und das HMLAN kurz vom Netz trennen.
> >>>> Oder (besser) das fhem komplett neustarten.
> >>>> Batterie aus TC entfernen, wieder rein.  SYN kommt dann, aber als nächstes steht dann da 2010 oder so, um das Datum einzugeben.
> >>>> Stattdessen einfach Batterie nochmal raus, wieder rein, SYN sehen und über hoffentlich korrekte Uhrzeit freuen.
>
> >>>> Grüße
> >>>>         Oskar
>
> >>> --
> >>> 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

Oskar

                                                     

Am 12.12.2011 um 15:34 schrieb PoLe23:

> Ok,
>
> damit ich das jetzt verstehe, da jetzt ziemliche viele Zahlen in
> Umlauf sind.
> Ich soll jetzt den Wert auf 946681200 setzen?
>

Nein, bitte auf 946688400

Grüße
   Oskar

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

Guest

Originally posted by: <email address deleted>

OK :-)
Werde es heute abend testen.

On 12 Dez., 15:57, Jan-Hinrich Fessel wrote:
> Am 12.12.2011 um 15:34 schrieb PoLe23:
>
> > Ok,
>
> > damit ich das jetzt verstehe, da jetzt ziemliche viele Zahlen in
> > Umlauf sind.
> > Ich soll jetzt den Wert auf 946681200 setzen?
>
> Nein, bitte auf 946688400
>
> Grüße
>         Oskar

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

rudolfkoenig

                                                   

> schneekoenig:fhem oskar$ svn diff FHEM/00_HMLAN.pm

Hab dein Patch geaendert, damit time() nur einmal aufgerufen wird, und
eingebaut, ist per updatefhem verfuegbar, bitte testen.

Weiterhin ungeloest:
- GMT offset ist hardcoded
- Die Uhrzeit wird nur beim Initialisieren der HMLAN gesetzt, wird also bei der
  Winterzeit/Somerzeit Umstellung nicht geaendert.

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