Falsche Zeit am HM-TC-IT-WM-W-EU

Begonnen von locodriver, 19 Oktober 2014, 15:18:37

Vorheriges Thema - Nächstes Thema

frank

kann nicht schaden. die logzeile für cul_hm wäre noch besser.

attr mein_hmlan logIDs mein_tc
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

MarcelK

Zitat von: strauch am 23 Januar 2015, 23:55:27
Zeit verstellen will ich nicht unbedingt machen.
Weniger invasiv und mit gleichem Lern-Effekt wäre das Einfügen der Zeile "return 0x11223344;" nach "sub CUL_HM_secSince2000() {". Sollte eigentlich auch keine weitere Nebenwirkungen haben.

strauch

@marvel und Frank euren code wurde ich im system das mitloggt einfügen. An welche Stelle?

Gesendet von meinem Nexus 4 mit Tapatalk

FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

frank

Zitat@marvel und Frank euren code wurde ich im system das mitloggt einfügen. An welche Stelle?
der entsprechende elsif-block ist ca in zeile 1474. marvel meint ja eine fake zeit zu senden. das könnte man ja auch in diesem block tun, hat dann auch weniger auswirkungen:

    elsif($mTp eq "3F" && $ioId eq $dst) { # Timestamp request

     ####################################################
#      my $s2000 = sprintf("%02X", CUL_HM_secSince2000());
      my $s2000 = sprintf("%02X", (CUL_HM_secSince2000() - 3600));
     ####################################################

      push @ack,$shash,"${mNo}803F$ioId${src}0204$s2000";
      push @evtEt,[$shash,1,"time-request"];

     ####################################################
      Log 1,"----- time-request----- sekunden: $s2000";
     ####################################################
    }


also die eine zeile zur berechnung der sekunden ändern. die subtraktion mit 3600 sollte die zeit um eine stunde zurücksetzen. und den fhem.log-eintrag einfügen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

strauch

Auch das schau ich mir noch mal heute Abend in Ruhe an. Und werde dann noch mal loggen.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

MarcelK

Zitat von: frank am 24 Januar 2015, 12:11:52
der entsprechende elsif-block ist ca in zeile 1474. marvel meint ja eine fake zeit zu senden. das könnte man ja auch in diesem block tun, hat dann auch weniger auswirkungen:
Ich weiß zwar nicht wer Marvel ist ;), aber solange man den partyMode nicht nutzt hat meine Änderung auch kaum mehr Auswirkungen. Egal, kann man so oder so machen.

Zitat von: strauch@marvel und Frank euren code wurde ich im system das mitloggt einfügen. An welche Stelle?

Ich antworte mal für Marvel: es bringt leider nichts das mitloggende System zu ändern. Die Änderung müsste schon am produktiven System erfolgen. Schlimmstenfalls geht dann der WM ne Stunde falsch, mehr passiert bei Franks Änderung defintitiv nicht. Da man am alten Log gesehen hat dass ein Sync um 19:04 passiert würde es evtl jetzt sogar reichen von 18:45 bis 19:15 zu loggen.

Grüße, Marcel

strauch

Danke, vielleicht lerne ich einen TC am Produktivsystem ab und lerne ihn an mein Testsystem an. Am Produktivsystem ist mir der eingriff zu Massiv, zumal ich ja auch die automatische Zeitanpassung im System abschalten muss.
Würde es vielleicht auch reichen die Uhrzeit am TC zu verstellen, statt am System?
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

MarcelK

Es sollte keinerlei Auswirkungen am System haben. Welche Zeitanpassung musst Du abschalten? Ausser dem gezeigten Code nichts am System ändern! System-Zeit muss mit dieser Version richtig bleiben!

Im Prinzip bewirkt die Änderung dass FHEM eine bewusst falsche Zeit sendet (und zwar NUR an die TC, nicht an die anderen Komponenten). Der ganze Grund für den Thread ist aber ja, dass die Zeit von FHEM bisher immer komplett ignoriert wurde. Insofern erwarte ich wirklich nicht dass es irgendeine Auswirkung hat, ausser dass das Log eindeutiger ausfällt. Worst case ist dass der TC danach ne Stunde falsch läuft, aber wie gesagt, der Grund für den Thread ist ja dass eben kein Zeit-Sync zwischen FHEM und TC erfolgt.

Würde es ja selbst machen, aber nach meinem Umzug ist der größte Teil der Heizungs-Steuerung noch verpackt... erst am WE könnte ich evtl mal was machen.

frank

ZitatAm Produktivsystem ist mir der eingriff zu Massiv, zumal ich ja auch die automatische Zeitanpassung im System abschalten muss.
du brauchst nichts abschalten. nur die kleine änderung in cul_hm einfügen. dann bekommen deine tc von fhem nur eine falsche zeit übermittelt (aktuelle systemzeit minus 1 std). alles andere läuft wie bisher. wahrscheinlich werden die tc noch nicht einmal verstellt, wie dieser thread ja gezeigt hat, da der hmlan weiterhin seine zeit verteilt. die bleibt ja unangetastet und setzt sich ja anscheinend durch.

ZitatWürde es vielleicht auch reichen die Uhrzeit am TC zu verstellen, statt am System?
nee. wie gesagt du stellst erstmal keine zeit um. dafür die kleine änderung in cul_hm. wir simulieren sozusagen eine falsche systemzeit.

edit:  da war ich wohl zu langsam, trotzdem hier noch mal.  :(
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

strauch

ok hab ich gerafft. Ich werds heute Abend umsetzten. Ich hoffe ich schaffe das vor 19 Uhr :-) und mitloggen.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

strauch

Zitat von: frank am 24 Januar 2015, 12:11:52

    elsif($mTp eq "3F" && $ioId eq $dst) { # Timestamp request

     ####################################################
#      my $s2000 = sprintf("%02X", CUL_HM_secSince2000());
      my $s2000 = sprintf("%02X", (CUL_HM_secSince2000() - 3600));
     ####################################################

      push @ack,$shash,"${mNo}803F$ioId${src}0204$s2000";
      push @evtEt,[$shash,1,"time-request"];

     ####################################################
      Log 1,"----- time-request----- sekunden: $s2000";
     ####################################################
    }



Also diese Zeilen habe ich eingefügt und werde ich tauschen+neustart, sobald der Rechner zum mitloggen läuft.
Ich hab die LogIDs auf dem Produktivsystem auf die ID des TC gestellt. Soll ich da auch Verbose auf 5 stellen für das Gerät? Oder reicht normal?
Auf dem System zum mitloggen, werde ich vom CUL Verbose auf 4 reduzieren (Habs auf 5 wegen dem Displaytaster an dem ich parallel rumfurwerke ;-).)
Ich schau das ich den ab heute mittag mitloggen lasse und dann heute Abend wenn alle kleinen im Bett sind werde ich das Ergebnis mal checken und posten.
Hab ich irgendwas vergessen?
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

frank

ZitatAlso diese Zeilen habe ich eingefügt
nicht den ganzen block einfügen. der ist ja schon vorhanden. nur die änderungen. oder den ganzen elsif-block tauschen.

ZitatSoll ich da auch Verbose auf 5 stellen für das Gerät? Oder reicht normal?
ist nicht notwendig.

Zitatwerde ich vom CUL Verbose auf 4 reduzieren (Habs auf 5 wegen dem Displaytaster an dem ich parallel rumfurwerke ;-).)
wie du willst. für diesen test reicht 4.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

strauch

Ich hab nur die notwendigen Zeilen hinzugefügt. Er loggt jetzt. Hoffe hab alles richtig gemacht. Ergebnis gibt es dann heute Abend.... Soll ich dann mit grep auch die Zeilen mit A03F und 803F ausfiltern?
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

frank

ZitatSoll ich dann mit grep auch die Zeilen mit A03F und 803F ausfiltern?
besser du suchst so die relevanten zeitpunkte, und postest dann alles, was um diese zeitpunkte herum geloggt wurde. sonst geht vielleicht etwas wichtiges verloren.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

strauch

Bisher noch keine Zeitumstellung, mal schauen wie es heute Abend ausschaut.
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.