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. Zeitdifferenz in Bindings?

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

Zeitdifferenz in Bindings?

Geplant Angeheftet Gesperrt Verschoben Visualisierung
vis
43 Beiträge 6 Kommentatoren 3.5k Aufrufe 8 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.
  • T Termina

    @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?

    SBorgS Offline
    SBorgS Offline
    SBorg
    Forum Testing Most Active
    schrieb am zuletzt editiert von
    #17

    @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.

    LG SBorg ( SBorg auf GitHub)
    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      Termina
      schrieb am zuletzt editiert von Termina
      #18

      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 Antwort Letzte Antwort
      0
      • T 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?

        ? Offline
        ? Offline
        Ein ehemaliger Benutzer
        schrieb am zuletzt editiert von Ein ehemaliger Benutzer
        #19

        @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 Antwort Letzte Antwort
        0
        • ? Ein ehemaliger Benutzer

          @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 Offline
          T Offline
          Termina
          schrieb am zuletzt editiert von
          #20

          @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 Antwort Letzte Antwort
          0
          • T Termina

            @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 Offline
            T Offline
            Termina
            schrieb am zuletzt editiert von Termina
            #21

            @Termina sagte in Zeitdifferenz in Bindings?:

            @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?

            ...also selbstverständlich mit meinen Datenpunkten angepasst! :)

            ? 2 Antworten Letzte Antwort
            0
            • T Termina

              @Termina sagte in Zeitdifferenz in Bindings?:

              @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?

              ...also selbstverständlich mit meinen Datenpunkten angepasst! :)

              ? Offline
              ? Offline
              Ein ehemaliger Benutzer
              schrieb am zuletzt editiert von
              #22

              @Termina eigentlich nicht. Bei mir greift diese Zeitdifferenz von 30min. Also im Skript in mSek.

              1 Antwort Letzte Antwort
              0
              • T Termina

                @Termina sagte in Zeitdifferenz in Bindings?:

                @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?

                ...also selbstverständlich mit meinen Datenpunkten angepasst! :)

                ? Offline
                ? Offline
                Ein ehemaliger Benutzer
                schrieb am zuletzt editiert von
                #23

                @Termina kannst du es Mal mit einem anderen DP ausprobieren?

                1 Antwort Letzte Antwort
                0
                • OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #24

                  @HeinrichB sagte in Zeitdifferenz in Bindings?:

                  <table>
                      <tr>
                          <td>
                              {akt:system.adapter.admin.0.alive.ts; zstempel:sonoff.0.ZBox.Time.ts; akt - zstempel }
                          </td>
                      </tr>
                  </table>
                  

                  oder die Entscheidungslogik weglassen, dann sieht man was das Ergebnis der Berechnung ist.
                  undefined ist glaube ich auch false

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  ? 1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @HeinrichB sagte in Zeitdifferenz in Bindings?:

                    <table>
                        <tr>
                            <td>
                                {akt:system.adapter.admin.0.alive.ts; zstempel:sonoff.0.ZBox.Time.ts; akt - zstempel }
                            </td>
                        </tr>
                    </table>
                    

                    oder die Entscheidungslogik weglassen, dann sieht man was das Ergebnis der Berechnung ist.
                    undefined ist glaube ich auch false

                    ? Offline
                    ? Offline
                    Ein ehemaliger Benutzer
                    schrieb am zuletzt editiert von
                    #25

                    @OliverIO bei mir geht es. Das Code Schnippsel war als Beispiel gedacht

                    1 Antwort Letzte Antwort
                    0
                    • SBorgS Offline
                      SBorgS Offline
                      SBorg
                      Forum Testing Most Active
                      schrieb am zuletzt editiert von SBorg
                      #26

                      ...oder ich bin heute die "Oberpfeife" schlecht hin. Irgendwie hinterlässt allmählich 1 Jahr Baulärm der Großbaustelle gegenüber doch wohl so seine Spuren...

                      Der Fehler ist ziemlich trivial. Es heißt nicht ".tc" sondern ".lc" was @Termina nutzt. That's all :confounded:
                      Ich ändere es oben noch ab, nicht dass da noch andere drüber stolpern...

                      Daher könnte auch das "undefined" am Anfang kommen, da er den nicht vorhandenen Wert vom Datenpunkt sucht...

                      LG SBorg ( SBorg auf GitHub)
                      Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                      T 1 Antwort Letzte Antwort
                      0
                      • SBorgS SBorg

                        ...oder ich bin heute die "Oberpfeife" schlecht hin. Irgendwie hinterlässt allmählich 1 Jahr Baulärm der Großbaustelle gegenüber doch wohl so seine Spuren...

                        Der Fehler ist ziemlich trivial. Es heißt nicht ".tc" sondern ".lc" was @Termina nutzt. That's all :confounded:
                        Ich ändere es oben noch ab, nicht dass da noch andere drüber stolpern...

                        Daher könnte auch das "undefined" am Anfang kommen, da er den nicht vorhandenen Wert vom Datenpunkt sucht...

                        T Offline
                        T Offline
                        Termina
                        schrieb am zuletzt editiert von
                        #27

                        @SBorg
                        Sry, konnte ich jetzt erst testen - es funktioniert! :) Vielen Dank dafür.

                        Unabhängig davon und ein anderes Thema (vielleicht kann mir jemand Probleme mit dem DasWetter-Adapter weiterhelfen!?
                        Das undefined kommt leider beim ersten Aufrufs der Runtime trotzdem. Ich scheine da irgendwo eine falsche Einstellung zu haben, denn ich habe öfter bei den Deconzsensoren oder auch beim "DasWetter" keine Übermittlung der Datenpunkten und somit z.B. "NULL" stehen. :(
                        Im Editor habe ich "Immer rendern" angehakt - trotzdem diese Probleme. Aber wie gesagt, gehört hier dann wohl nicht zum Thema Bindings.

                        Ganz lieben Dank an alle hier für die Unterstützung! :+1:

                        1 Antwort Letzte Antwort
                        0
                        • R Offline
                          R Offline
                          Ramses123
                          schrieb am zuletzt editiert von
                          #28

                          Kennt vielleicht jemand mal einen Seite, wo das Thema Bindings richtig schön (auch für Anfänger) erklärt wird?

                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • R Ramses123

                            Kennt vielleicht jemand mal einen Seite, wo das Thema Bindings richtig schön (auch für Anfänger) erklärt wird?

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von
                            #29

                            @Ramses123
                            Ich hatte schon einmal in Kurzform versucht in meinem Thread das zu erklären. Allerdings muss man sich da als Anfänger herantasten

                            ja das mit dem binding ist nicht so einfach zu erklären.
                            Hier erst einmal zur offiziellen Doku
                            https://github.com/ioBroker/ioBroker.vis
                            Binding of Objects

                            Mit der Bindung kann man aktuell Berechnungen vornehmen, die nur im Client (also Browser) durchgeführt werden.
                            Es gibt einige Möglichkeiten dort direkt die Daten aus Datenpunkten einzuspeisen und im begrenzten Maße Möglichkeiten dort Entscheidungen zu treffen.
                            Diese Bindung kann ich in alle Eigenschaftenfelder eines widgets eintragen. Je nachdem wo, entstehen dann unterschiedliche Effekte. Wenn die Bindung eingetragen wird, dann wird genau diese Stelle mit dem Berechnungsergebnis aus der Bindung ersetzt. Also muss nicht nur die Bindung drin stehen, sondern ich kann auch normalen Text/Anweisungen mischen oder sogar mehr wie eine Bindung eintragen
                            trägt man es in das HTML-Feld eines HTML-widgets ein, dann kann man Text oder sogar richtiges HTML ausgeben.
                            trägt man das in anderes Feld wie bspw color ein, dann könnte man auf Basis eines Datenpunktes, der sagen wir mal eine der Zahlen 1,2,3 enthalten kann entscheiden welche Farbe ein Text haben soll. Das selbe geht auch mit Hintergrundfarben.
                            Wenn man es in die Größenfelder eines widgets eintrage, dann kann man sogar dynamische Balken realisieren usw.
                            In die Bindung kann man auch javascriptbefehle eintragen. Genau das mache ich mir zunutze, in dem ich eine Funktion bereitstelle, die nichts anders sagt als Wahr oder Falsch.
                            Auf Basis dieser Auswertung kann ich dann verschiedene Texte erzeugen

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            T 1 Antwort Letzte Antwort
                            0
                            • OliverIOO OliverIO

                              @Ramses123
                              Ich hatte schon einmal in Kurzform versucht in meinem Thread das zu erklären. Allerdings muss man sich da als Anfänger herantasten

                              ja das mit dem binding ist nicht so einfach zu erklären.
                              Hier erst einmal zur offiziellen Doku
                              https://github.com/ioBroker/ioBroker.vis
                              Binding of Objects

                              Mit der Bindung kann man aktuell Berechnungen vornehmen, die nur im Client (also Browser) durchgeführt werden.
                              Es gibt einige Möglichkeiten dort direkt die Daten aus Datenpunkten einzuspeisen und im begrenzten Maße Möglichkeiten dort Entscheidungen zu treffen.
                              Diese Bindung kann ich in alle Eigenschaftenfelder eines widgets eintragen. Je nachdem wo, entstehen dann unterschiedliche Effekte. Wenn die Bindung eingetragen wird, dann wird genau diese Stelle mit dem Berechnungsergebnis aus der Bindung ersetzt. Also muss nicht nur die Bindung drin stehen, sondern ich kann auch normalen Text/Anweisungen mischen oder sogar mehr wie eine Bindung eintragen
                              trägt man es in das HTML-Feld eines HTML-widgets ein, dann kann man Text oder sogar richtiges HTML ausgeben.
                              trägt man das in anderes Feld wie bspw color ein, dann könnte man auf Basis eines Datenpunktes, der sagen wir mal eine der Zahlen 1,2,3 enthalten kann entscheiden welche Farbe ein Text haben soll. Das selbe geht auch mit Hintergrundfarben.
                              Wenn man es in die Größenfelder eines widgets eintrage, dann kann man sogar dynamische Balken realisieren usw.
                              In die Bindung kann man auch javascriptbefehle eintragen. Genau das mache ich mir zunutze, in dem ich eine Funktion bereitstelle, die nichts anders sagt als Wahr oder Falsch.
                              Auf Basis dieser Auswertung kann ich dann verschiedene Texte erzeugen

                              T Offline
                              T Offline
                              Termina
                              schrieb am zuletzt editiert von Termina
                              #30

                              @OliverIO
                              Ich würde dies nun gerne noch ein wenig ausweiten. Bisher wurden ja die 1800000ms abgefragt. Ich habe aber teilweise viele zu überprüfende Datenpunkte und möchte teilweise unterschiedliche Abfragen starten. Ich zeig mal ein Beispiel:

                              {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:0_userdata.0.Aqara_max_Updatezeit; akt - zstempel > uptime ? "red" : "#4d4f51"}
                              

                              Dies funktioniert, wenn ich in bei der Abfrage für 30 min in den Datenpunkt 1800000 eintrage. Wie bekomme ich es nun hin, dass ich beim Datenpunkt nur die Minuten eintrage - also Datenpunkt x 60000?

                              Folgendes funktionierte nicht:

                              {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:0_userdata.0.Aqara_max_Updatezeit; akt - zstempel > uptime x 60000 ? "red" : "#4d4f51"}
                              

                              oder

                              {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                              

                              Des Weiteren habe ich gemäß Github auch folgendes mal per HTML-Widget probiert:

                              {0_userdata.0.Aqara_max_Updatezeit \"*(4)"}
                              

                              antwort ist leider : undefined

                              Möchte das halt gerne später in der VIS über ein Input-Widget jederzeit anpassen und visualisieren können. Geht das? Jemand eine Idee?

                              OliverIOO 1 Antwort Letzte Antwort
                              0
                              • T Termina

                                @OliverIO
                                Ich würde dies nun gerne noch ein wenig ausweiten. Bisher wurden ja die 1800000ms abgefragt. Ich habe aber teilweise viele zu überprüfende Datenpunkte und möchte teilweise unterschiedliche Abfragen starten. Ich zeig mal ein Beispiel:

                                {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:0_userdata.0.Aqara_max_Updatezeit; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                

                                Dies funktioniert, wenn ich in bei der Abfrage für 30 min in den Datenpunkt 1800000 eintrage. Wie bekomme ich es nun hin, dass ich beim Datenpunkt nur die Minuten eintrage - also Datenpunkt x 60000?

                                Folgendes funktionierte nicht:

                                {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:0_userdata.0.Aqara_max_Updatezeit; akt - zstempel > uptime x 60000 ? "red" : "#4d4f51"}
                                

                                oder

                                {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                

                                Des Weiteren habe ich gemäß Github auch folgendes mal per HTML-Widget probiert:

                                {0_userdata.0.Aqara_max_Updatezeit \"*(4)"}
                                

                                antwort ist leider : undefined

                                Möchte das halt gerne später in der VIS über ein Input-Widget jederzeit anpassen und visualisieren können. Geht das? Jemand eine Idee?

                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                schrieb am zuletzt editiert von OliverIO
                                #31

                                @Termina sagte in Zeitdifferenz in Bindings?:

                                @OliverIO

                                {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:0_userdata.0.Aqara_max_Updatezeit; akt - zstempel > uptime x 60000 ? "red" : "#4d4f51"}
                                

                                Dur versuchst 2 Operationen in einem zu vermanschen.
                                Dieses Binding steht bei dir ja im color-Feld und hat als Ergebnis einen Farbwert.
                                Durch deine Erweiterung mit x60000 multisplizierst die Uptime mit 60000. Als Ergebnis die Überprüfung nie erfolgreich sein, wenn in uptime millisekunden drin steht. Vor Augen kannst du dir das mal führen, wenn du das im Excel mal schritt für Schritt durchführst
                                akt:system

                                • .adapter.admin.0.alive.ts das bedeutet, hole den Wert aus dem Datenpunkt und speichere ihn in die variable akt
                                • zstempel:deconz.0.Sensors.33.temperature.lc das bedeutet, hole den Wert aus dem Datenpunkt und speichere ihn in die variable akt
                                • uptime:0_userdata.0.Aqara_max_Updatezeit das bedeutet, hole den Wert aus dem Datenpunkt und speichere ihn in die variable uptime
                                • akt - zstempel > uptime x 60000 das ist die eigentliche Berechnung: also die Zahl in zstempel von akt abziehen. und prüfen ob er größer ist als die Zahl in uptime. Dein Fehler ist die Multiplikation mit 60000, daraus werden Äpfel zu Birnen und das wird nie zutreffen. Auch willst du sicherlich durch 60000 teilen wegen Milisekunden auf Minuten Ergebnis aus dieser Berechnung folgt der boolschen Algebra und ist entweder wahr/true oder falsch/false.
                                • ausdruck ? wahraktion : falschaktion : das mit dem ? und dem doppelpunkt ist ein ternäre Ausdruck, den es in vielen programmiersprachen gibt. Umgangssprachlich kann man sagen: prüfe den ausdruck und mache bei wahr die wahraktion oder bei falsch die falschaktion hinter dem doppelpunkt

                                da dies im feld color drin steht, kann das nur die Farbe beeinflussen.
                                Ich weiß jetzt nicht, welches Steuerelement du hier verwendest. Ich würde es mit Basic Number versuchen.
                                unter erweiterte Einstellungen gibt es das Feld Multiplikation. und wie wir alle noch aus der Schule wissen, ist die Multiplikation mit einer Zahl kleiner 1 eine Division :)

                                {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                

                                Das geht auch nicht, da dann vis dann nicht versteht welchen Datenpunkt du meinst. ausserdem gehen verschachtelte geschweifte Klammern nicht.

                                {0_userdata.0.Aqara_max_Updatezeit \"*(4)"}
                                

                                antwort ist leider : undefined

                                Auch hier versteht vis den Datenpunkt nicht. Die Berechnung muss separat nach einem weiteren semicolon durchgeführt werden.

                                Möchte das halt gerne später in der VIS über ein Input-Widget jederzeit anpassen und visualisieren können. Geht das? Jemand eine Idee?

                                Umsetzbar ist grundsätzlich immer alles. Manches halt mit etwas mehr Aufwand. Dein Problem ist, das die Datenpunkte in Millisekunden geführt werden und du aber nur Minuten angezeigt der eingeben möchtest. Ob das integriert in einem widget geht, glaub ich nicht. von daher würde ich dein Input-widget auf dein uptime-dp legen. Dieser Datenpunkt wird aber nur Minuten beinhalten. Dann passt auch eines deiner oben genannten ausdrücke wieder in dem du uptime vor dem vergleich mit 60000 multipizierst (da ja jetzt hier minuten drin stehen und du den wert zum vergleich auf die ebene millisekunden bringen möchtest.

                                {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                T 1 Antwort Letzte Antwort
                                0
                                • OliverIOO OliverIO

                                  @Termina sagte in Zeitdifferenz in Bindings?:

                                  @OliverIO

                                  {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:0_userdata.0.Aqara_max_Updatezeit; akt - zstempel > uptime x 60000 ? "red" : "#4d4f51"}
                                  

                                  Dur versuchst 2 Operationen in einem zu vermanschen.
                                  Dieses Binding steht bei dir ja im color-Feld und hat als Ergebnis einen Farbwert.
                                  Durch deine Erweiterung mit x60000 multisplizierst die Uptime mit 60000. Als Ergebnis die Überprüfung nie erfolgreich sein, wenn in uptime millisekunden drin steht. Vor Augen kannst du dir das mal führen, wenn du das im Excel mal schritt für Schritt durchführst
                                  akt:system

                                  • .adapter.admin.0.alive.ts das bedeutet, hole den Wert aus dem Datenpunkt und speichere ihn in die variable akt
                                  • zstempel:deconz.0.Sensors.33.temperature.lc das bedeutet, hole den Wert aus dem Datenpunkt und speichere ihn in die variable akt
                                  • uptime:0_userdata.0.Aqara_max_Updatezeit das bedeutet, hole den Wert aus dem Datenpunkt und speichere ihn in die variable uptime
                                  • akt - zstempel > uptime x 60000 das ist die eigentliche Berechnung: also die Zahl in zstempel von akt abziehen. und prüfen ob er größer ist als die Zahl in uptime. Dein Fehler ist die Multiplikation mit 60000, daraus werden Äpfel zu Birnen und das wird nie zutreffen. Auch willst du sicherlich durch 60000 teilen wegen Milisekunden auf Minuten Ergebnis aus dieser Berechnung folgt der boolschen Algebra und ist entweder wahr/true oder falsch/false.
                                  • ausdruck ? wahraktion : falschaktion : das mit dem ? und dem doppelpunkt ist ein ternäre Ausdruck, den es in vielen programmiersprachen gibt. Umgangssprachlich kann man sagen: prüfe den ausdruck und mache bei wahr die wahraktion oder bei falsch die falschaktion hinter dem doppelpunkt

                                  da dies im feld color drin steht, kann das nur die Farbe beeinflussen.
                                  Ich weiß jetzt nicht, welches Steuerelement du hier verwendest. Ich würde es mit Basic Number versuchen.
                                  unter erweiterte Einstellungen gibt es das Feld Multiplikation. und wie wir alle noch aus der Schule wissen, ist die Multiplikation mit einer Zahl kleiner 1 eine Division :)

                                  {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                  

                                  Das geht auch nicht, da dann vis dann nicht versteht welchen Datenpunkt du meinst. ausserdem gehen verschachtelte geschweifte Klammern nicht.

                                  {0_userdata.0.Aqara_max_Updatezeit \"*(4)"}
                                  

                                  antwort ist leider : undefined

                                  Auch hier versteht vis den Datenpunkt nicht. Die Berechnung muss separat nach einem weiteren semicolon durchgeführt werden.

                                  Möchte das halt gerne später in der VIS über ein Input-Widget jederzeit anpassen und visualisieren können. Geht das? Jemand eine Idee?

                                  Umsetzbar ist grundsätzlich immer alles. Manches halt mit etwas mehr Aufwand. Dein Problem ist, das die Datenpunkte in Millisekunden geführt werden und du aber nur Minuten angezeigt der eingeben möchtest. Ob das integriert in einem widget geht, glaub ich nicht. von daher würde ich dein Input-widget auf dein uptime-dp legen. Dieser Datenpunkt wird aber nur Minuten beinhalten. Dann passt auch eines deiner oben genannten ausdrücke wieder in dem du uptime vor dem vergleich mit 60000 multipizierst (da ja jetzt hier minuten drin stehen und du den wert zum vergleich auf die ebene millisekunden bringen möchtest.

                                  {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                  
                                  T Offline
                                  T Offline
                                  Termina
                                  schrieb am zuletzt editiert von
                                  #32

                                  @OliverIO sagte in Zeitdifferenz in Bindings?:
                                  ...
                                  Hui, nun ist mir ein wenig schwindelig ;) :relieved:

                                  Dein letzter Absatz scheint aber das zu beinhalten, was ich gerne möchte. Nun weiß ich nicht, was Du mir mit dem Code sagen möchtest, denn das ist ja "meiner" und funktioniert ja nicht.

                                  Umsetzbar ist grundsätzlich immer alles. Manches halt mit etwas mehr Aufwand. Dein Problem ist, das die Datenpunkte in Millisekunden geführt werden und du aber nur Minuten angezeigt der eingeben möchtest. Ob das integriert in einem widget geht, glaub ich nicht. von daher würde ich dein Input-widget auf dein uptime-dp legen. Dieser Datenpunkt wird aber nur Minuten beinhalten. Dann passt auch eines deiner oben genannten ausdrücke wieder in dem du uptime vor dem vergleich mit 60000 multipizierst (da ja jetzt hier minuten drin stehen und du den wert zum vergleich auf die ebene millisekunden bringen möchtest.

                                  {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                  

                                  Ich möchte ja gerne je nach Situation alle Datenpunkte farblich anzeigen lassen, die seit x-Minuten (0_userdata.0.Aqara_max_Updatezeit) keine neuen Daten mehr geliefert haben. Den Wert x-Minuten möchte ich dann individuell im VIS ändern können. Das funktioniert auch einwandfrei, sobald ich keine Berechnung im Binding mache und im Input ms-Werte eintrage. Dies ist aber ja eher weniger komfortabel. Oder siehst Du da grundsätzlich keine Möglichkeit? Konnt Dir trotz mehrmaligem Lesens nicht zu 100% folgen, was Du mir sagen möchtest - sry! :innocent:

                                  SBorgS OliverIOO 2 Antworten Letzte Antwort
                                  0
                                  • T Termina

                                    @OliverIO sagte in Zeitdifferenz in Bindings?:
                                    ...
                                    Hui, nun ist mir ein wenig schwindelig ;) :relieved:

                                    Dein letzter Absatz scheint aber das zu beinhalten, was ich gerne möchte. Nun weiß ich nicht, was Du mir mit dem Code sagen möchtest, denn das ist ja "meiner" und funktioniert ja nicht.

                                    Umsetzbar ist grundsätzlich immer alles. Manches halt mit etwas mehr Aufwand. Dein Problem ist, das die Datenpunkte in Millisekunden geführt werden und du aber nur Minuten angezeigt der eingeben möchtest. Ob das integriert in einem widget geht, glaub ich nicht. von daher würde ich dein Input-widget auf dein uptime-dp legen. Dieser Datenpunkt wird aber nur Minuten beinhalten. Dann passt auch eines deiner oben genannten ausdrücke wieder in dem du uptime vor dem vergleich mit 60000 multipizierst (da ja jetzt hier minuten drin stehen und du den wert zum vergleich auf die ebene millisekunden bringen möchtest.

                                    {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                    

                                    Ich möchte ja gerne je nach Situation alle Datenpunkte farblich anzeigen lassen, die seit x-Minuten (0_userdata.0.Aqara_max_Updatezeit) keine neuen Daten mehr geliefert haben. Den Wert x-Minuten möchte ich dann individuell im VIS ändern können. Das funktioniert auch einwandfrei, sobald ich keine Berechnung im Binding mache und im Input ms-Werte eintrage. Dies ist aber ja eher weniger komfortabel. Oder siehst Du da grundsätzlich keine Möglichkeit? Konnt Dir trotz mehrmaligem Lesens nicht zu 100% folgen, was Du mir sagen möchtest - sry! :innocent:

                                    SBorgS Offline
                                    SBorgS Offline
                                    SBorg
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #33

                                    @Termina

                                    {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:0_userdata.0.Aqara_max_Updatezeit; akt - zstempel > (uptime*(60000)) ? "red" : "#4d4f51"} 
                                    

                                    Solange deine "uptime" in Ganzzahlminuten ist :blush:

                                    LG SBorg ( SBorg auf GitHub)
                                    Projekte: Lebensmittelwarnung.de | WLAN-Wetterstation | PimpMyStation

                                    1 Antwort Letzte Antwort
                                    1
                                    • T Termina

                                      @OliverIO sagte in Zeitdifferenz in Bindings?:
                                      ...
                                      Hui, nun ist mir ein wenig schwindelig ;) :relieved:

                                      Dein letzter Absatz scheint aber das zu beinhalten, was ich gerne möchte. Nun weiß ich nicht, was Du mir mit dem Code sagen möchtest, denn das ist ja "meiner" und funktioniert ja nicht.

                                      Umsetzbar ist grundsätzlich immer alles. Manches halt mit etwas mehr Aufwand. Dein Problem ist, das die Datenpunkte in Millisekunden geführt werden und du aber nur Minuten angezeigt der eingeben möchtest. Ob das integriert in einem widget geht, glaub ich nicht. von daher würde ich dein Input-widget auf dein uptime-dp legen. Dieser Datenpunkt wird aber nur Minuten beinhalten. Dann passt auch eines deiner oben genannten ausdrücke wieder in dem du uptime vor dem vergleich mit 60000 multipizierst (da ja jetzt hier minuten drin stehen und du den wert zum vergleich auf die ebene millisekunden bringen möchtest.

                                      {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                      

                                      Ich möchte ja gerne je nach Situation alle Datenpunkte farblich anzeigen lassen, die seit x-Minuten (0_userdata.0.Aqara_max_Updatezeit) keine neuen Daten mehr geliefert haben. Den Wert x-Minuten möchte ich dann individuell im VIS ändern können. Das funktioniert auch einwandfrei, sobald ich keine Berechnung im Binding mache und im Input ms-Werte eintrage. Dies ist aber ja eher weniger komfortabel. Oder siehst Du da grundsätzlich keine Möglichkeit? Konnt Dir trotz mehrmaligem Lesens nicht zu 100% folgen, was Du mir sagen möchtest - sry! :innocent:

                                      OliverIOO Offline
                                      OliverIOO Offline
                                      OliverIO
                                      schrieb am zuletzt editiert von OliverIO
                                      #34

                                      @Termina

                                      ok dann schritt für schritt

                                      1. lege ein input widget an und setze es auf deinen datenpunkt
                                        0_userdata.0.Aqara_max_Updatezeit
                                      2. trage mal in diesen datenpunk eine minutenzahl ein
                                      3. trage diesen ausdruck in einem input widget in color ein. problem ist, das hier die Farbe sich nur auf das Inputlabel auswirkt und nicht auf die Farbe der Eingabezahl.
                                      {akt:system.adapter.admin.0.alive.ts; zstempel:deconz.0.Sensors.33.temperature.lc; uptime:{0_userdata.0.Aqara_max_Updatezeit x 60000}; akt - zstempel > uptime ? "red" : "#4d4f51"}
                                      

                                      das müsste es gewesen sein.

                                      Meine Adapter und Widgets
                                      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                      Links im Profil

                                      1 Antwort Letzte Antwort
                                      0
                                      • T Offline
                                        T Offline
                                        Termina
                                        schrieb am zuletzt editiert von
                                        #35

                                        @SBorg
                                        Vielen Dank, das scheint es gewesen zu sein! :) War bei meinen Tests schon mal nah dran, hatte aber immer geschweifte Klammern genutzt...

                                        @OliverIO
                                        Auch Dir lieben Dank für die Hilfe!

                                        1 Antwort Letzte Antwort
                                        0
                                        • C Offline
                                          C Offline
                                          Coffeelover
                                          schrieb am zuletzt editiert von
                                          #36

                                          Hi,

                                          ich hoffe, ich darf mich mit meinem Anliegen hier mit dranhängen:

                                          Ich habe ein Binding, welches eine Bedingung abprüft. Als Ergebnis soll einer von zwei Datenpunkten ausgegeben werden. Das funktioniert auch. Problem: Ich bekomme diese Werte nicht formatiert.
                                          Ohne die Abfrage funktioniert die Formatierung 1a.

                                          Binding Formatierung:

                                          {tr-064.0.devices.Handy-S9.lastActive-ts;date(DD.MM.YYYY hh:mm)}
                                          
                                          

                                          Abfrage:

                                          {a:fb-checkpresence.0.Name.presence;b:tr-064.0.devices.Handy-S9.lastActive-ts;c:tr-064.0.devices.Handy-S9.lastInactive-ts;a == "false" ? c :: b}
                                          

                                          Wie bekomme ich nun das Ergebnis der Abfrage wieder als Datum?
                                          VG

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          691

                                          Online

                                          32.6k

                                          Benutzer

                                          82.1k

                                          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