Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler bei Zeit->Aktuell->Unixzeit in ms (Lokalzeit)

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Fehler bei Zeit->Aktuell->Unixzeit in ms (Lokalzeit)

    Liebe Forumsmitglieder
    sehr geehrte Enertexmitarbeiter

    Ich habe vermutlich einen Fehler gefunden im EIBPC2 im Logikeditor.

    Die UnixZeit(Lokal) scheint keine aktuelle Uhrzeit anzugeben, sondern die Zeit, zu der der EIBPC zuletzt gestartet wurde - dabei umgerechnet auf Lokalzeit.
    Wird diese Zeit nochmals mit Unixzeit-String(lokalzeit) umgewandelt, passt der Wert gar nicht mehr. Hier macht also nur die Umwandlung mit Unixzeit-String (UTC) sinn.
    Aber die Möglichkeit die tatsächliche UTC-Zeit anzugeben gibt es hier nicht, da nur die Lokalzeit angegeben wird.

    Auch die Bezeichung, dass die Unixzeit in ms(Lokalzeit) eigentlich nur die Startzeit angibt ist sehr verwirrend.
    Hier würde ich anregen, dass der Knoten umgenannt wird z.B. in Unixzeit (Startzeitpunkt) .

    Wie oben schon erwähnt würde ich auch anregen die Formel anpassen, dass diese die UTC-Zeit angibt, die wiederrum in Lokalzeit umgerechnet werden kann; dann machen auch beide Umrechnungsknoten Unixzeit-String(UTC) und (Lokalzeit) wieder Sinn, auch im Zusammenhang mit der entsprechenden UnixZeit

    Freundliche Grüße
    Stefan Haßfurter

    #2
    Hallo Stefan,

    stimmt, der Knoten Aktuell/Unixzeit in ms (Lokalzeit) aktualisiert sich nicht wie er sollte -> wird in EibStudio-Version 4.111 behoben sein. Danke für den Hinweis.

    Die Konfiguration Unixzeit in ms (UTC) funktioniert wie sie sollte.

    Für die Lokalzeit muss man von der Unixzeit die Differenz difftime() abziehen
    Du kannst im Experten die folgende Zeile als Workaround verwenden:
    Code:
    lokalzeitInMs=convert(convert(utctime(), 0s64) + difftime(), 0u64)

    Kommentar


      #3
      Hallo,
      wann steht den die 4.111 bereit?
      Hab auch ein Problem mit unix und wüsste gerne ob das damit auch behoben wird:
      Statusaenderung = utctime();
      StatusDelta = split(localtimeconvert(utctime() - Statusaenderung),11u16,19u16);
      Wenn sich der Status binnen 10 Sekunden ändert bekomme ich diese Ausgabe:
      Delta : 01:00:10
      Dh also immer eine Stunde Differenz

      Grüße Hannes

      Kommentar


        #4
        Zitat von HannesKannes Beitrag anzeigen
        wann steht den die 4.111 bereit?
        Voraussichtlich im August.

        Dein beobachtetes Phänomen ist aber davon unabhängig und wäre Firmware statt EibStudio.
        Ursache ist, dass du hier ja eine reine Zeitdifferenz haben willst, wobei egal ist, ob der Bezug zur Lokalzeit- oder zur UTC-Zeit besteht.

        Die Funktion localtimeconvert berücksichtigt die Differenz zw. UTC und Lokalzeit. Verwendet die Funktion
        Code:
        utcconvert()
        , dann bekommst du den Relativzähler.

        Kommentar


          #5
          Ja das stimmt. Hätte man selber merken können.Kaum macht mans richtig schon funktionierts... Vielen Dank!!!!

          Kommentar

          Lädt...
          X