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. Visualisierung
  4. Verstrichene Zeit seit Ereignis in der Vis anzeigen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    898

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

Verstrichene Zeit seit Ereignis in der Vis anzeigen

Geplant Angeheftet Gesperrt Verschoben Visualisierung
6 Beiträge 2 Kommentatoren 534 Aufrufe 1 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.
  • L Offline
    L Offline
    LightsiderTT
    schrieb am zuletzt editiert von LightsiderTT
    #1

    Moin!

    Ich würde gerne in meiner Vis anzeigen, wie lange ein Ereignis (z.B. wann ein Fenster geschlossen wurde, oder die Katze nach Hause gekommen ist) her ist.

    Den Zeitpunkt der letzten Änderung habe ich (entweder spuckt der Adapter ihn aus, oder ich berechne mir ihn mit einem Skript). Ich weiß, dass ich diesen Zeitpunkt (als Datum-Zeit, z.B. "26. Februar 2024 13:39") in der Vis anzeigen kann - aber ich würde das lieber relativ zur aktuellen Zeit anzeigen (also "vor 2 Minuten", "vor 3 Stunden 48 Minuten", usw).

    Ich denke mir so etwas müsste doch relativ einfach umzusetzen sein, weil ich garantiert nicht der erste bin, der das gerne machen würde - aber ich habe dazu bis jetzt nichts gefunden. Mein aktueller Ansatz ist es, das ganze extrem unelegant durch ein Skript zu lösen: das Skript löst jede Minute aus, berechnet die Differenz zwischen einen Zeitpunkt (z.B. wann das Fenster geschlossen wurde) und jetzt, und schreibt diesen Wert in eine Variable, welche ich dann in der Vis anzeigen kann.

    var time_diff;
    
    // Wenn sich Fenster-Status ändert
    on({ id: 'hm-rpc.0.MEQ1485502.1.STATE' /* HM-Sec-SCo MEQ1485502:1.STATE */, change: 'ne' }, async (obj) => {
     let value = obj.state.val;
     let oldValue = obj.oldState.val;
     if (getState('hm-rpc.0.MEQ1485502.1.STATE').val == true) {
       // Wenn das Fenster eben geöffnet wurde
       setState('0_userdata.0.window-open-time.Büro.window-open-time' /* window-open-time */, (new Date().getTime()), true);
       while (getState('hm-rpc.0.MEQ1485502.1.STATE').val == true) {
         setState('0_userdata.0.window-open-time.Büro.window-diff' /* window-diff */, (Math.round(((new Date().getTime()) - getState('0_userdata.0.window-open-time.Büro.window-open-time').val) / 60000)), true);
         await wait(60000);
       }
     } else {
       // Wenn das Fenster eben geschlossen wurde
       setState('0_userdata.0.window-open-time.Büro.window-closed-time' /* window-closed-time */, (new Date().getTime()), true);
       time_diff = (getState('0_userdata.0.window-open-time.Büro.window-closed-time').val - getState('0_userdata.0.window-open-time.Büro.window-open-time').val) / 1000;
       // Nachdem was Fenster geschlossen wurde, berechne die Zeitdifferenz zu jetzt
       setState('0_userdata.0.window-open-time.Büro.window-diff' /* window-diff */, (Math.round(time_diff / 60)), true);
       while (getState('hm-rpc.0.MEQ1485502.1.STATE').val == false) {
         setState('0_userdata.0.window-open-time.Büro.time-since-window-closed' /* time-since-window-closed */, (Math.round(((new Date().getTime()) - getState('0_userdata.0.window-open-time.Büro.window-closed-time').val) / 60000)), true);
         await wait(60000);
       }
     }
    });
    

    Wie gesagt, ich finde diesen Ansatz furchtbar unelegant, und ich wollte fragen, ob es dafür eine bessere Idee gäbe? Ich habe schon im Forum gesucht, bin aber leider nicht fündig geworden. Falls die Frage schon woanders beantwortet wurde und ich die Antwort nur nicht gefunden habe, dann wäre ich über einen Link dankbar :)

    Ein Bonus wäre, wenn ich die Zeitformatierung auch noch anpassen könnte. Mein Skript spuckt aktuell die Minuten seitdem das Fenster geschlossen wurde aus - das funktioniert zwar, ist aber nicht immer ganz einfach zu lesen (z.B. "vor 827 Minuten"). Ich würde das gerne etwas "lesbarer" formatieren, und dabei auch sinnvoll runden - also anstatt "vor 827 Minuten" lieber "vor 14 Stunden" (denn es spielt ja im Alltag keine Rolle, ob das Fenster jetzt 13 Stunden und 47 Minuten oder 14 Stunden geschlossen war). Gibt es dafür schon eine Lösung auf der ich aufbauen kann, oder soll ich das lieber selbst programmieren?

    HomoranH 1 Antwort Letzte Antwort
    0
    • L LightsiderTT

      Moin!

      Ich würde gerne in meiner Vis anzeigen, wie lange ein Ereignis (z.B. wann ein Fenster geschlossen wurde, oder die Katze nach Hause gekommen ist) her ist.

      Den Zeitpunkt der letzten Änderung habe ich (entweder spuckt der Adapter ihn aus, oder ich berechne mir ihn mit einem Skript). Ich weiß, dass ich diesen Zeitpunkt (als Datum-Zeit, z.B. "26. Februar 2024 13:39") in der Vis anzeigen kann - aber ich würde das lieber relativ zur aktuellen Zeit anzeigen (also "vor 2 Minuten", "vor 3 Stunden 48 Minuten", usw).

      Ich denke mir so etwas müsste doch relativ einfach umzusetzen sein, weil ich garantiert nicht der erste bin, der das gerne machen würde - aber ich habe dazu bis jetzt nichts gefunden. Mein aktueller Ansatz ist es, das ganze extrem unelegant durch ein Skript zu lösen: das Skript löst jede Minute aus, berechnet die Differenz zwischen einen Zeitpunkt (z.B. wann das Fenster geschlossen wurde) und jetzt, und schreibt diesen Wert in eine Variable, welche ich dann in der Vis anzeigen kann.

      var time_diff;
      
      // Wenn sich Fenster-Status ändert
      on({ id: 'hm-rpc.0.MEQ1485502.1.STATE' /* HM-Sec-SCo MEQ1485502:1.STATE */, change: 'ne' }, async (obj) => {
       let value = obj.state.val;
       let oldValue = obj.oldState.val;
       if (getState('hm-rpc.0.MEQ1485502.1.STATE').val == true) {
         // Wenn das Fenster eben geöffnet wurde
         setState('0_userdata.0.window-open-time.Büro.window-open-time' /* window-open-time */, (new Date().getTime()), true);
         while (getState('hm-rpc.0.MEQ1485502.1.STATE').val == true) {
           setState('0_userdata.0.window-open-time.Büro.window-diff' /* window-diff */, (Math.round(((new Date().getTime()) - getState('0_userdata.0.window-open-time.Büro.window-open-time').val) / 60000)), true);
           await wait(60000);
         }
       } else {
         // Wenn das Fenster eben geschlossen wurde
         setState('0_userdata.0.window-open-time.Büro.window-closed-time' /* window-closed-time */, (new Date().getTime()), true);
         time_diff = (getState('0_userdata.0.window-open-time.Büro.window-closed-time').val - getState('0_userdata.0.window-open-time.Büro.window-open-time').val) / 1000;
         // Nachdem was Fenster geschlossen wurde, berechne die Zeitdifferenz zu jetzt
         setState('0_userdata.0.window-open-time.Büro.window-diff' /* window-diff */, (Math.round(time_diff / 60)), true);
         while (getState('hm-rpc.0.MEQ1485502.1.STATE').val == false) {
           setState('0_userdata.0.window-open-time.Büro.time-since-window-closed' /* time-since-window-closed */, (Math.round(((new Date().getTime()) - getState('0_userdata.0.window-open-time.Büro.window-closed-time').val) / 60000)), true);
           await wait(60000);
         }
       }
      });
      

      Wie gesagt, ich finde diesen Ansatz furchtbar unelegant, und ich wollte fragen, ob es dafür eine bessere Idee gäbe? Ich habe schon im Forum gesucht, bin aber leider nicht fündig geworden. Falls die Frage schon woanders beantwortet wurde und ich die Antwort nur nicht gefunden habe, dann wäre ich über einen Link dankbar :)

      Ein Bonus wäre, wenn ich die Zeitformatierung auch noch anpassen könnte. Mein Skript spuckt aktuell die Minuten seitdem das Fenster geschlossen wurde aus - das funktioniert zwar, ist aber nicht immer ganz einfach zu lesen (z.B. "vor 827 Minuten"). Ich würde das gerne etwas "lesbarer" formatieren, und dabei auch sinnvoll runden - also anstatt "vor 827 Minuten" lieber "vor 14 Stunden" (denn es spielt ja im Alltag keine Rolle, ob das Fenster jetzt 13 Stunden und 47 Minuten oder 14 Stunden geschlossen war). Gibt es dafür schon eine Lösung auf der ich aufbauen kann, oder soll ich das lieber selbst programmieren?

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

      @lightsidertt sagte in Verstrichene Zeit seit Ereignis in der Vis anzeigen:

      lieber relativ zur aktuellen Zeit anzeigen (also "vor 2 Minuten", "vor 3 Stunden 48 Minuten", usw).

      bietet das Widget diese Option nicht?
      Screenshot_20240302-114736_Firefox.jpg

      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 -

      L 1 Antwort Letzte Antwort
      0
      • HomoranH Homoran

        @lightsidertt sagte in Verstrichene Zeit seit Ereignis in der Vis anzeigen:

        lieber relativ zur aktuellen Zeit anzeigen (also "vor 2 Minuten", "vor 3 Stunden 48 Minuten", usw).

        bietet das Widget diese Option nicht?
        Screenshot_20240302-114736_Firefox.jpg

        L Offline
        L Offline
        LightsiderTT
        schrieb am zuletzt editiert von
        #3

        @homoran Danke für deine Antwort - aber welches Widget ist das?

        Ich kenne die "TimesValue", "Timestamp Value", "Timestamp", und "Last change Timestamp" widgets. Das letzte zeigt immerhin das Datum/Uhrzeit an, an dem ein Wert zuletzt geändert wurde, aber immer nur absolut ("der Wert wurde am 2.3.2024 um 10:32 geändert"). Oder gibt's da eine Einstellung, die ich übersehen habe?

        Screenshot 2024-03-02 115216.png

        HomoranH 1 Antwort Letzte Antwort
        0
        • L LightsiderTT

          @homoran Danke für deine Antwort - aber welches Widget ist das?

          Ich kenne die "TimesValue", "Timestamp Value", "Timestamp", und "Last change Timestamp" widgets. Das letzte zeigt immerhin das Datum/Uhrzeit an, an dem ein Wert zuletzt geändert wurde, aber immer nur absolut ("der Wert wurde am 2.3.2024 um 10:32 geändert"). Oder gibt's da eine Einstellung, die ich übersehen habe?

          Screenshot 2024-03-02 115216.png

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

          @lightsidertt sagte in Verstrichene Zeit seit Ereignis in der Vis anzeigen:

          aber welches Widget ist das?

          jedes :joy:

          ziemlich unten in den Einstellungen

          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 -

          L 1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @lightsidertt sagte in Verstrichene Zeit seit Ereignis in der Vis anzeigen:

            aber welches Widget ist das?

            jedes :joy:

            ziemlich unten in den Einstellungen

            L Offline
            L Offline
            LightsiderTT
            schrieb am zuletzt editiert von LightsiderTT
            #5

            @homoran

            Ah, über die "Zeige letzte Änderung"-Einstellung?

            Screenshot 2024-03-02 123300.png

            Das ist schon mal super - vielen Dank! :) Ich werde mal damit herumexperimentieren.

            HomoranH 1 Antwort Letzte Antwort
            0
            • L LightsiderTT

              @homoran

              Ah, über die "Zeige letzte Änderung"-Einstellung?

              Screenshot 2024-03-02 123300.png

              Das ist schon mal super - vielen Dank! :) Ich werde mal damit herumexperimentieren.

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

              @lightsidertt sagte in Verstrichene Zeit seit Ereignis in der Vis anzeigen:

              Ah, über die "Zeige letzte Änderung"-Einstellung?

              jepp, sieht doch schon mal gut aus

              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 -

              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

              400

              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