Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Zeitdifferenz in Bindings?

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Zeitdifferenz in Bindings?

    This topic has been deleted. Only users with topic management privileges can see it.
    • ?
      A Former User last edited by

      Hallo,

      aktuell zeige ich einen Zeitstempel wie folgt an

      {sonoff.0.ZBox.Time;date(DD.MM.YY hh:mm)}
      

      Nun habe ich die Idee, dass ich da lieber eine Zeitdifferenz in Verbindung mit einer farblichen Markierung, ob die Zeit überschritten wurd.
      Also, falls (Aktuelle Zeit - Zeitstempel) > 30min, dann rot ansonsten weiss.

      Ginge das in den Bindings? Danke

      SBorg 1 Reply Last reply Reply Quote 0
      • SBorg
        SBorg Forum Testing Most Active @Guest last edited by

        @HeinrichB Ja 🙂

        ...verraten wie soll ich auch noch?
        Ungetestet (geht gerade nicht):

        {akt:system.adapter.admin.0.alive.ts; zstempel:sonoff.0.ZBox.Time.ts; akt-zstempel > 1800000 ? #red : #white}
        
        ? 1 Reply Last reply Reply Quote 0
        • ?
          A Former User @SBorg last edited by

          @SBorg said in Zeitdifferenz in Bindings?:

          {akt:system.adapter.admin.0.alive.ts; zstempel:sonoff.0.ZBox.Time.ts; akt-zstempel > 1800000 ? #red : #white}

          Danke Dir vielmals. Ich schau es mir an. Man kann also auch zwei Variablen in Bindings definieren. Das ist interessant 🙂

          SBorg 1 Reply Last reply Reply Quote 0
          • SBorg
            SBorg Forum Testing Most Active @Guest last edited by

            @HeinrichB sagte in Zeitdifferenz in Bindings?:

            Man kann also auch zwei Variablen in Bindings definieren.

            Oh ja 🙂
            Falls dir die 1800000 nicht geläufig sind: 30min x 60sec x 1000ms (da ".ts" Unixzeitstempel in ms nach dem 01.01.1970 sind)
            Der "admin-alive" wird ca. alle 12 Sekunden neu geschrieben, enthällt also einen relativ aktuellen Zeitstempel.

            T 1 Reply Last reply Reply Quote 0
            • T
              Termina @SBorg last edited by

              @SBorg
              Super Sache! Da Suche ich auch nach. Ich habe mal versucht das für meine Zwecke umzubauen.

              Ich möchte damit überprüfen, ob meine Temperatursensoren innerhalb der letzten 30 Minuten einen aktuellen Wert gesendet haben.

              Dieses Binding hat leider nicht funktioniert:

              {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.47.lastupdated; akt-zstempel > 1800000 ? #red : #4d4f51}
              

              Der Wert des Datenpunktes vom Sensor wird so dargestellt:
              2020-02-12T11:26:48.000Z

              Gibt es da eine Möglichkeit? Möchte damit einfach erkennen, ob ein Sensor vielleicht die Verbindung verloren hat.

              SBorg 1 Reply Last reply Reply Quote 0
              • SBorg
                SBorg Forum Testing Most Active @Termina last edited by SBorg

                @Termina Salopp gesagt vergleichst du "Äpfel mit Birnen" 😉
                Die Endung ".ts" ist ein Unixzeitstempel im Format 59599393875 (Beispiel). Den kannst du nicht "einfach" mit einem Datum vergleichen.
                zB.

                {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.47.lastupdated.lc; akt-zstempel > 1800000 ? #red : #4d4f51}
                

                ".lc" enthällt den Unixzeitstempel wann sich der Wert das letzte mal geändert hat, ".ts" wann er das letzte mal aktualisiert wurde.

                T 1 Reply Last reply Reply Quote 0
                • T
                  Termina @SBorg last edited by

                  @SBorg
                  Ich lerne gerne dazu! 🙂

                  Wenn ich das nun aber richtig verstehe, sollte es mit der Endung ts oder tc (je nach belieben) nun aber funktionieren, oder wird da dieser Datenpunkt auch in der "wirklichen Welt" erwartet?

                  Es funktioniert nämlich leider nicht, ich habe aber unter Objekten auch nirgends Zugriff auf den ...admin...alive Datenpunkt. Kann das auch ein Grund sein?

                  SBorg 1 Reply Last reply Reply Quote 0
                  • SBorg
                    SBorg Forum Testing Most Active @Termina last edited by SBorg

                    @Termina sagte in Zeitdifferenz in Bindings?:

                    Ich lerne gerne dazu!

                    🙂 Ich erkläre es auch gerne, nur halt nicht immer ganz ausführlich, da ich sonst zig mal einen halben Roman schreibe und mein "Gegenüber" das aber schon ev. weiß. Also ggf. einfach noch mal nachfragen falls was unklar ist.

                    Zuerst: funktioniert nicht? Ich habe es zwar nicht getestet, weiß also nicht ob es wirklich funktioniert, aber weißt du, dass Bindings im Editor prinzipiell nicht funktionieren? Sie funktionieren erst in der VIS.

                    Den Datenpunkt "admin..." siehst du erst wenn du oben auf "Expertenmodus/-ansicht" umschaltest.
                    Die Bindings kannst du auch erst mal in einem HTML-Widget testen. IMHO eh die beste Wahl, da man hier auch ggf. Fehler sieht.

                    {system.adapter.admin.0.alive.ts}
                    {deconz.0.Sensors.47.lastupdated.lc}
                    

                    zeigt dir dann bspw. den Inhalt an. Sollte da "NaN", undefined oder ähnliches kommen, hast du hier schon einen Fehler. Dann brauchst du auch nicht weiter bei der Berechnung etc. zu suchen 😉

                    T ? 2 Replies Last reply Reply Quote 0
                    • T
                      Termina @SBorg last edited by

                      @SBorg
                      Klasse Tipp und vielen Dank für die ausführlichere Erklärung. Das mit dem Editor und der Runtime wusste ich zufällig. 🙂

                      Im HTML-Widget zeigt er für beide Datenpunkte Unix-Zeiten an.
                      Setze ich allerdings nun das Binding in die Schrift

                      {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.47.temperature.tc; akt-zstempel > 180000 ? #red : #green}
                      

                      zeigt er mir die Schrift in der Runtime trotzdem in weiss an - wie kann das denn sein!?

                      1 Reply Last reply Reply Quote 0
                      • T
                        Termina last edited by

                        Einen kleinen Fehler habe ich gefunden - die Farben müssen bei der Definition anscheinend in Anführungszeichen.

                        Trotzdem ist die Farbe bei folgendem Binding leider grün, obwohl sie doch rot sein müsste...

                        {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.47.temperature.tc; akt-zstempel > 1 ? "red" : "green"}
                        
                        SBorg 1 Reply Last reply Reply Quote 0
                        • ?
                          A Former User @SBorg last edited by

                          @SBorg

                          Vielen Dank nochmals.
                          Ich musst eine leichte Anpassung machen, aber jetzt klappt es für.

                          {akt:system.adapter.admin.0.alive.ts; zstempel:sonoff.0.ZBox.Time.ts; akt - zstempel > 1800000 ? "❌" : "✅"}
                          

                          Vielleicht hilft es auch den anderen 🙂

                          1 Reply Last reply Reply Quote 0
                          • SBorg
                            SBorg Forum Testing Most Active @Termina last edited by

                            @Termina sagte in Zeitdifferenz in Bindings?:

                            die Farben

                            Farbdefinitionen brauchen eine # davor, also #red oder #ff0000
                            Im HTML-Widget siehst du dann bspw. dass er green ausgibt 😉

                            T OliverIO 2 Replies Last reply Reply Quote 0
                            • T
                              Termina @SBorg last edited by

                              @SBorg Aber dann gibt er die Schrift in weiß aus, obwohl nur rot oder grün angegeben ist...

                              1 Reply Last reply Reply Quote 0
                              • OliverIO
                                OliverIO @SBorg last edited by

                                @SBorg

                                Das Rautezeichen # ist ein Zeichen dafür, dass nun Hexcode kommt.
                                Wenn ich Klarnamen für Farben nehmen, dann keine Raute.

                                SBorg 1 Reply Last reply Reply Quote 1
                                • SBorg
                                  SBorg Forum Testing Most Active @OliverIO last edited by

                                  @OliverIO Oh mann... findekeinensmilymithandaufdiestirnklatsch

                                  1 Reply Last reply Reply Quote 0
                                  • T
                                    Termina last edited by

                                    @OliverIO @SBorg
                                    Also bei mir ist es im Moment so, dass wenn ich die Daten in ein HTML schreibe, wird mir zunächst "undefined" bei Aufruf der Runtime geschrieben. Erst nach ein paar Sekunden erscheint dort die Unix - Zeit.

                                    Kann es daran liegen, dass er im Binding die Berechnung nicht machen kann?

                                    SBorg 1 Reply Last reply Reply Quote 0
                                    • SBorg
                                      SBorg Forum Testing Most Active @Termina last edited by

                                      @Termina Eigentlich nicht. Die beiden Zeitstempel existieren ja und die Berechnung wird auf dem Client (=das Gerät von dem du die VIS aufrufst) zur Laufzeit ausgeführt. Die beiden Zeitstempel existieren doch immer und sind befüllt? Notfalls lass die beiden Datenpunkte noch mal mit ausgeben. Da muss ein Wert direkt ab Aufruf drin stehen.

                                      ...oder deine VIS wäre so "mächtig", dass er tatsächlich schon anzeigt bevor er zum eigentlichen rechnen kommt.

                                      1 Reply Last reply Reply Quote 0
                                      • T
                                        Termina last edited by Termina

                                        Binding:

                                        {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.47.temperature.tc; akt - zstempel > 1 ? "red" : "green"}
                                        

                                        Bei Aufruf der Runtime sieht es so aus:
                                        Binding_Sensoren_undefined.png

                                        Nach ein paar Sekunden in der Runtime so:
                                        Binding_Sensoren_mit Werte.png

                                        Aufgrund meines Bindings -siehe oben- hätte es aber doch rot sein müssen, oder?

                                        ? 1 Reply Last reply Reply Quote 0
                                        • ?
                                          A Former User @Termina last edited by A Former User

                                          @Termina @SBorg

                                          Kann es sein, dass die Farben nur in Widget mit Format-Charakter klappt?
                                          Schau dir mal meine Lösung oben an. Nur zum Test, ob es dann klappt.
                                          Ich habe es in eine HTML-Tabelle gepackt

                                          <table>
                                              <tr>
                                                  <td>
                                                      {akt:system.adapter.admin.0.alive.ts; zstempel:sonoff.0.ZBox.Time.ts; akt - zstempel > 1800000 ? "❌" : "✅"}
                                                  </td>
                                              </tr>
                                          </table>
                                          
                                          T 1 Reply Last reply Reply Quote 0
                                          • T
                                            Termina @Guest last edited by

                                            @HeinrichB
                                            Vielen Dank für Deine Unterstützung. Aber selbst wenn ich >1 schreibe, macht er mir den grünen Haken... Ist das bei allen so?

                                            T 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            533
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            vis
                                            6
                                            43
                                            2376
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo