Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Einsteigerfragen
  4. [gelöst] Zeitstempel anpassen für Vergleich

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    712

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

[gelöst] Zeitstempel anpassen für Vergleich

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
7 Beiträge 3 Kommentatoren 590 Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Claus1985 0C Offline
    Claus1985 0C Offline
    Claus1985 0
    schrieb am zuletzt editiert von Claus1985 0
    #1

    Hallo Zusammen,

    folgendes Problem. Ich möchte die Zeitstempel "letzte Änderung" von zwei Werten miteinander vergleichen und wenn diese gleich sind etwas ausführen.

    Problem ist, dass die Zeitstempel zu genau sind und das damit unmöglich ist.

    Gibt es eine Möglichkeit die Zeit auf Sekunden aufzurunden um die Werte dann miteinander vergleichen zu können?

    Danke und Gruß,

    Claus

    HomoranH 1 Antwort Letzte Antwort
    0
    • Claus1985 0C Claus1985 0

      Hallo Zusammen,

      folgendes Problem. Ich möchte die Zeitstempel "letzte Änderung" von zwei Werten miteinander vergleichen und wenn diese gleich sind etwas ausführen.

      Problem ist, dass die Zeitstempel zu genau sind und das damit unmöglich ist.

      Gibt es eine Möglichkeit die Zeit auf Sekunden aufzurunden um die Werte dann miteinander vergleichen zu können?

      Danke und Gruß,

      Claus

      HomoranH Nicht stören
      HomoranH Nicht stören
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von Homoran
      #2

      @claus1985-0 du brauchst doch nur auf eine Differenz zwischen +/- xyz Millisekunden zu prüfen
      Betrag von (TSa-TSb) < x msec

      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

      Claus1985 0C 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @claus1985-0 du brauchst doch nur auf eine Differenz zwischen +/- xyz Millisekunden zu prüfen
        Betrag von (TSa-TSb) < x msec

        Claus1985 0C Offline
        Claus1985 0C Offline
        Claus1985 0
        schrieb am zuletzt editiert von Claus1985 0
        #3

        @homoran Ich glaube ich verstehe die Logik hinter dem "letzte Änderung" Wert noch nicht.. Wenn ich bei den Objekten gucke steht da im Klartext der letzte Änderungszeitpunkt und der unterscheidet sich zwischen den beiden Werten nur in Millisekunden:

        Bildschirmfoto 2024-01-04 um 14.07.44.png

        Wenn ich mir die Werte im Debug ausgeben lasse, sind die allerdings Grund verschieden:

        Bildschirmfoto 2024-01-04 um 13.58.03.png
        Bildschirmfoto 2024-01-04 um 13.59.00.png

        HomoranH 1 Antwort Letzte Antwort
        0
        • Claus1985 0C Claus1985 0

          @homoran Ich glaube ich verstehe die Logik hinter dem "letzte Änderung" Wert noch nicht.. Wenn ich bei den Objekten gucke steht da im Klartext der letzte Änderungszeitpunkt und der unterscheidet sich zwischen den beiden Werten nur in Millisekunden:

          Bildschirmfoto 2024-01-04 um 14.07.44.png

          Wenn ich mir die Werte im Debug ausgeben lasse, sind die allerdings Grund verschieden:

          Bildschirmfoto 2024-01-04 um 13.58.03.png
          Bildschirmfoto 2024-01-04 um 13.59.00.png

          HomoranH Nicht stören
          HomoranH Nicht stören
          Homoran
          Global Moderator Administrators
          schrieb am zuletzt editiert von Homoran
          #4

          @claus1985-0 sagte in Zeitstempel anpassen für Vergleich:

          Wenn ich mir die Werte im Debug ausgeben lasse, sind die allerdings Grund verschieden:

          das ist der Unixtimestamp in Millisekunden (seit dem 01.01.1970)
          die musst du subtrahieren und erhältst eine Differenz in Millisekunden

          Möglich, dass ich nicht alles richtig entziffern konnte.
          bitte keibe Screenshots von code
          Diesen als Text in code-tags posten!

          kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

          Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

          der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

          Claus1985 0C 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @claus1985-0 sagte in Zeitstempel anpassen für Vergleich:

            Wenn ich mir die Werte im Debug ausgeben lasse, sind die allerdings Grund verschieden:

            das ist der Unixtimestamp in Millisekunden (seit dem 01.01.1970)
            die musst du subtrahieren und erhältst eine Differenz in Millisekunden

            Möglich, dass ich nicht alles richtig entziffern konnte.
            bitte keibe Screenshots von code
            Diesen als Text in code-tags posten!

            Claus1985 0C Offline
            Claus1985 0C Offline
            Claus1985 0
            schrieb am zuletzt editiert von
            #5

            @homoran Hm irgendwie scheint da was in Blockly falsch zu laufen..
            Ich verwende folgenden Code:

            on({ id: 'loxone.0.1add0b61-0042-12f2-ffff59e675957bea.AI6.rgb' /* Alle Lampen in WZ, EZ u. Flur EG: Stehlampen EZ: RGB */, change: 'ne' }, async (obj) => {
              let value = obj.state.val;
              let oldValue = obj.oldState.val;
              console.warn(getState('loxone.0.1add0b61-0042-12f2-ffff59e675957bea.AI6.level').ts);
            });
            

            Wenn ich im Objekte Browser gucke, zeigt er mir die richtige Zeit an, wenn ich den Unix Timestamp umwandle ist der Timestamp 3 Minuten alt..

            Gibt es da etwas zu beachten was ich übersehe?

            H 1 Antwort Letzte Antwort
            0
            • Claus1985 0C Claus1985 0

              @homoran Hm irgendwie scheint da was in Blockly falsch zu laufen..
              Ich verwende folgenden Code:

              on({ id: 'loxone.0.1add0b61-0042-12f2-ffff59e675957bea.AI6.rgb' /* Alle Lampen in WZ, EZ u. Flur EG: Stehlampen EZ: RGB */, change: 'ne' }, async (obj) => {
                let value = obj.state.val;
                let oldValue = obj.oldState.val;
                console.warn(getState('loxone.0.1add0b61-0042-12f2-ffff59e675957bea.AI6.level').ts);
              });
              

              Wenn ich im Objekte Browser gucke, zeigt er mir die richtige Zeit an, wenn ich den Unix Timestamp umwandle ist der Timestamp 3 Minuten alt..

              Gibt es da etwas zu beachten was ich übersehe?

              H Offline
              H Offline
              homecineplexx
              schrieb am zuletzt editiert von
              #6

              @claus1985-0 said in Zeitstempel anpassen für Vergleich:

              on({ id: 'loxone.0.1add0b61-0042-12f2-ffff59e675957bea.AI6.rgb' /* Alle Lampen in WZ, EZ u. Flur EG: Stehlampen EZ: RGB */, change: 'ne' }, async (obj) => {
              let value = obj.state.val;
              let oldValue = obj.oldState.val;
              console.warn(getState('loxone.0.1add0b61-0042-12f2-ffff59e675957bea.AI6.level').ts);
              });

              Dir ist aber schon bewusst, dass du den Zeitstempel von .level nur dann holst, wenn sich .rgb geändert hat? Sind 2 verschiedene Datenpunkte!

              Claus1985 0C 1 Antwort Letzte Antwort
              0
              • H homecineplexx

                @claus1985-0 said in Zeitstempel anpassen für Vergleich:

                on({ id: 'loxone.0.1add0b61-0042-12f2-ffff59e675957bea.AI6.rgb' /* Alle Lampen in WZ, EZ u. Flur EG: Stehlampen EZ: RGB */, change: 'ne' }, async (obj) => {
                let value = obj.state.val;
                let oldValue = obj.oldState.val;
                console.warn(getState('loxone.0.1add0b61-0042-12f2-ffff59e675957bea.AI6.level').ts);
                });

                Dir ist aber schon bewusst, dass du den Zeitstempel von .level nur dann holst, wenn sich .rgb geändert hat? Sind 2 verschiedene Datenpunkte!

                Claus1985 0C Offline
                Claus1985 0C Offline
                Claus1985 0
                schrieb am zuletzt editiert von
                #7

                @homecineplexx Hab den Fehler gefunden... Das Skript hat die Werte bei Veränderung quasi sofort gelesen. Das Problem war, dass der Adapter der die Werte liefert 50ms Zeit benötigt um die Werte zu aktualisieren. D.h. das Skript hat immer den vorherigen Wert gegriffen weil der Adapter zu langsam war.. Hab nun ein Delay von 50ms eingebaut und es funktioniert wie es soll.

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                508

                Online

                32.6k

                Benutzer

                82.0k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe