Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wenn Datenpunkt älter als 14 Tage, dann

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    364

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

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

Wenn Datenpunkt älter als 14 Tage, dann

Scheduled Pinned Locked Moved Skripten / Logik
15 Posts 4 Posters 910 Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Lukas VFL99L Lukas VFL99

    Moin,

    ich hab da mal eine Frage und zwar habe ich mir eine Visualisierung gebastelt für ein Lagersystem. Jetzt würde ich gerne auf der Vis anzeigen wenn ein Objekt dort schon länger als 14 Tage liegt. Also wenn der Datenpunkt älter als 14 Tage ist. Ist das irgendwie möglich? Und wenn ja könnte man dann die Farbe des Objektes auf der Vis ändern?

    Danke schonmal

    OliverIOO Offline
    OliverIOO Offline
    OliverIO
    wrote on last edited by OliverIO
    #4

    @lukas-vfl99

    ein binding könnte so aussehen

    {lastchange:0_userdata.0.test1.lc;((new Date()-lastchange)/1000/60/24)>14}
    

    durch das anhängen von lc an den datenpunktnamen, erhält man den zeitstempel der letzen änderung. ich hoffe ich habe die umrechnung von millisekunden in tage korrekt berechnet, bitte nochmal prüfen

    https://github.com/ioBroker/ioBroker.vis

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

    paul53P HomoranH 2 Replies Last reply
    1
    • OliverIOO OliverIO

      @lukas-vfl99

      ein binding könnte so aussehen

      {lastchange:0_userdata.0.test1.lc;((new Date()-lastchange)/1000/60/24)>14}
      

      durch das anhängen von lc an den datenpunktnamen, erhält man den zeitstempel der letzen änderung. ich hoffe ich habe die umrechnung von millisekunden in tage korrekt berechnet, bitte nochmal prüfen

      https://github.com/ioBroker/ioBroker.vis

      paul53P Offline
      paul53P Offline
      paul53
      wrote on last edited by
      #5

      @oliverio sagte: umrechnung von millisekunden in tage korrekt berechnet

      60 --> 3600

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Reply Last reply
      0
      • OliverIOO OliverIO

        @lukas-vfl99

        ein binding könnte so aussehen

        {lastchange:0_userdata.0.test1.lc;((new Date()-lastchange)/1000/60/24)>14}
        

        durch das anhängen von lc an den datenpunktnamen, erhält man den zeitstempel der letzen änderung. ich hoffe ich habe die umrechnung von millisekunden in tage korrekt berechnet, bitte nochmal prüfen

        https://github.com/ioBroker/ioBroker.vis

        HomoranH Do not disturb
        HomoranH Do not disturb
        Homoran
        Global Moderator Administrators
        wrote on last edited by Homoran
        #6

        @oliverio Dann braucht @Lukas-VFL99 das Skript gar nicht, oder?
        Allerdings müsste das dann in Border.color oder backgroun.color eingetragen und noch die Farben in dem Binding definiert werden.

        kein Support per PN! - Fragen im Forum stellen -
        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        OliverIOO 1 Reply Last reply
        0
        • HomoranH Homoran

          @oliverio Dann braucht @Lukas-VFL99 das Skript gar nicht, oder?
          Allerdings müsste das dann in Border.color oder backgroun.color eingetragen und noch die Farben in dem Binding definiert werden.

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          wrote on last edited by
          #7

          @homoran
          das hat er ja nicht gesagt. er will nur was anzeigen.
          Wir schauen wie es weitergeht.
          Er hat auf jedenfall schon mal ein true oder ein false
          da noch ein ?: Operator dran zu machen ist ja nicht schwer

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

          Lukas VFL99L 1 Reply Last reply
          1
          • OliverIOO OliverIO

            @homoran
            das hat er ja nicht gesagt. er will nur was anzeigen.
            Wir schauen wie es weitergeht.
            Er hat auf jedenfall schon mal ein true oder ein false
            da noch ein ?: Operator dran zu machen ist ja nicht schwer

            Lukas VFL99L Offline
            Lukas VFL99L Offline
            Lukas VFL99
            wrote on last edited by
            #8

            @oliverio @Homoran danke schonmal für eure schnelle Rückmeldung.
            Bis jetzt sieht die Vis so aus 0af757dc-cf3c-4654-998b-a2000dc2230b-image.png
            Das ganze sind circa 75 Plätze die als basic-HTML einen Datenpunkt wiedergeben.
            In der Background.color steht bis jetzt --> {wert:0_userdata.0.Papa.Platz1; wert == "fällig" ? "#e31c0e": wert == "" ? "#039403" : "#203d75"}.
            Damit lasse ich die Farbe auf grün ändern wenn der Datenpunkt leer ist. Wenn ich euch jetzt richtig verstanden habe müsste ich da also noch eine If-Abfrage rein schreiben oder?
            Die würde dann ja ungefähr so aussehen --> {lastchange:0_userdata.0.Papa.Platz1.lc; lastchange == "((new Date()-lastchange)/1000/60/24)>14" ? "#d6061f": wert:0_userdata.0.Papa.Platz1; wert == "fällig" ? "#e31c0e": wert == "" ? "#039403" : "#203d75"}

            Lukas VFL99L 1 Reply Last reply
            0
            • Lukas VFL99L Lukas VFL99

              @oliverio @Homoran danke schonmal für eure schnelle Rückmeldung.
              Bis jetzt sieht die Vis so aus 0af757dc-cf3c-4654-998b-a2000dc2230b-image.png
              Das ganze sind circa 75 Plätze die als basic-HTML einen Datenpunkt wiedergeben.
              In der Background.color steht bis jetzt --> {wert:0_userdata.0.Papa.Platz1; wert == "fällig" ? "#e31c0e": wert == "" ? "#039403" : "#203d75"}.
              Damit lasse ich die Farbe auf grün ändern wenn der Datenpunkt leer ist. Wenn ich euch jetzt richtig verstanden habe müsste ich da also noch eine If-Abfrage rein schreiben oder?
              Die würde dann ja ungefähr so aussehen --> {lastchange:0_userdata.0.Papa.Platz1.lc; lastchange == "((new Date()-lastchange)/1000/60/24)>14" ? "#d6061f": wert:0_userdata.0.Papa.Platz1; wert == "fällig" ? "#e31c0e": wert == "" ? "#039403" : "#203d75"}

              Lukas VFL99L Offline
              Lukas VFL99L Offline
              Lukas VFL99
              wrote on last edited by
              #9

              @OliverIO So ich habe gerade noch mal ein wenig rum gespielt und getestet.
              Ich schaffe es jetzt, dass sich der Hintergrund nach 2 Minuten ändert. Allerdings schaffe ich es nicht das sich der Hintergrund ändert wenn nichts im Datenpunkt steht wie mache ich das? Also wie führe ich mein vorheriges Binding mit dem neuen zusammen?

              Mein altes Binding --> {wert:0_userdata.0.Papa.Platz1; wert == "" ? "#039403" : "#203d75"}
              Mein neues Binding zum testen --> {lastchange:0_userdata.0.Papa.Platz1.lc;((new Date()-lastchange)/1000/60)>2 ? "#d6061f" : "#00000"}

              OliverIOO HomoranH 2 Replies Last reply
              0
              • Lukas VFL99L Lukas VFL99

                @OliverIO So ich habe gerade noch mal ein wenig rum gespielt und getestet.
                Ich schaffe es jetzt, dass sich der Hintergrund nach 2 Minuten ändert. Allerdings schaffe ich es nicht das sich der Hintergrund ändert wenn nichts im Datenpunkt steht wie mache ich das? Also wie führe ich mein vorheriges Binding mit dem neuen zusammen?

                Mein altes Binding --> {wert:0_userdata.0.Papa.Platz1; wert == "" ? "#039403" : "#203d75"}
                Mein neues Binding zum testen --> {lastchange:0_userdata.0.Papa.Platz1.lc;((new Date()-lastchange)/1000/60)>2 ? "#d6061f" : "#00000"}

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                wrote on last edited by
                #10

                @lukas-vfl99
                das sind 2 bedingungen und ergibt insgesamt 4 zustände

                <14 & ==""
                <14 & ==""

                14 & !=""
                14 & !=""

                dazu musst du mit mehreren verschachtelten ?: operatoren arbeiten. da kann man leicht fehler machen. aber den abruf der 2 parameter und logische verknüpfung habe ich dire beispielhaft hier:

                {lastchange:0_userdata.0.Papa.Platz1.lc;wert:0_userdata.0.Papa.Platz1;((new Date()-lastchange)/1000/60)>2 && wert == ""? "#d6061f" : "#00000"}
                

                Die verschachtelungen musst du selbst austüfteln. am besten die verschiedenen Anteile immer in Klammer setzen sonst überlagern sich die verschiedenen Bedingungen noch

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

                Lukas VFL99L 1 Reply Last reply
                0
                • Lukas VFL99L Lukas VFL99

                  @OliverIO So ich habe gerade noch mal ein wenig rum gespielt und getestet.
                  Ich schaffe es jetzt, dass sich der Hintergrund nach 2 Minuten ändert. Allerdings schaffe ich es nicht das sich der Hintergrund ändert wenn nichts im Datenpunkt steht wie mache ich das? Also wie führe ich mein vorheriges Binding mit dem neuen zusammen?

                  Mein altes Binding --> {wert:0_userdata.0.Papa.Platz1; wert == "" ? "#039403" : "#203d75"}
                  Mein neues Binding zum testen --> {lastchange:0_userdata.0.Papa.Platz1.lc;((new Date()-lastchange)/1000/60)>2 ? "#d6061f" : "#00000"}

                  HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #11

                  @lukas-vfl99 sagte in Wenn Datenpunkt älter als 14 Tage, dann:

                  wie führe ich mein vorheriges Binding mit dem neuen zusammen?

                  ich hätte (bei Standardwidgets) das neue Binding im Rahmen gesetzt, so dass ein roter Rahmen entsteht, wenn > 14 Tage.

                  Achtung
                  Die Anzahl Bindings je View ist begrenzt!

                  ich weiß nicht mehr wie, ob auf Anzahl Zeichen, oder Anzahl Binings.
                  Bei 80 Widgets mit je 2 Bindings alleine in diesem View läppert sich das

                  kein Support per PN! - Fragen im Forum stellen -
                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  1 Reply Last reply
                  0
                  • OliverIOO Offline
                    OliverIOO Offline
                    OliverIO
                    wrote on last edited by OliverIO
                    #12

                    @homoran
                    ja ist richtig, die begrenzung liegt bei 50, allerdings pro widget und nicht pro view
                    https://github.com/ioBroker/ioBroker.vis/blob/70b05af47dfd768ea0e6ca463310783f4c68fe5e/www/js/visUtils.js#L34

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

                    HomoranH 1 Reply Last reply
                    0
                    • OliverIOO OliverIO

                      @homoran
                      ja ist richtig, die begrenzung liegt bei 50, allerdings pro widget und nicht pro view
                      https://github.com/ioBroker/ioBroker.vis/blob/70b05af47dfd768ea0e6ca463310783f4c68fe5e/www/js/visUtils.js#L34

                      HomoranH Do not disturb
                      HomoranH Do not disturb
                      Homoran
                      Global Moderator Administrators
                      wrote on last edited by
                      #13

                      @oliverio sagte in Wenn Datenpunkt älter als 14 Tage, dann:

                      allerdings pro widget

                      if (oid.length > 50) {
                      console.warn('Too many bindings in one widget: ' + oid.length + '[max = 50]');

                      ist das die ganze Begrenzung?
                      50 (IDs???) pro Widget wird schon schwierig, oder worauf bezieht sich das?

                      kein Support per PN! - Fragen im Forum stellen -
                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                      Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                      OliverIOO 1 Reply Last reply
                      0
                      • HomoranH Homoran

                        @oliverio sagte in Wenn Datenpunkt älter als 14 Tage, dann:

                        allerdings pro widget

                        if (oid.length > 50) {
                        console.warn('Too many bindings in one widget: ' + oid.length + '[max = 50]');

                        ist das die ganze Begrenzung?
                        50 (IDs???) pro Widget wird schon schwierig, oder worauf bezieht sich das?

                        OliverIOO Offline
                        OliverIOO Offline
                        OliverIO
                        wrote on last edited by
                        #14

                        @homoran
                        ja pro widget, also keine gefahr.
                        es könnte von der performance etwas schwierig werden, aber probier einfach mal

                        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 Reply Last reply
                        0
                        • OliverIOO OliverIO

                          @lukas-vfl99
                          das sind 2 bedingungen und ergibt insgesamt 4 zustände

                          <14 & ==""
                          <14 & ==""

                          14 & !=""
                          14 & !=""

                          dazu musst du mit mehreren verschachtelten ?: operatoren arbeiten. da kann man leicht fehler machen. aber den abruf der 2 parameter und logische verknüpfung habe ich dire beispielhaft hier:

                          {lastchange:0_userdata.0.Papa.Platz1.lc;wert:0_userdata.0.Papa.Platz1;((new Date()-lastchange)/1000/60)>2 && wert == ""? "#d6061f" : "#00000"}
                          

                          Die verschachtelungen musst du selbst austüfteln. am besten die verschiedenen Anteile immer in Klammer setzen sonst überlagern sich die verschiedenen Bedingungen noch

                          Lukas VFL99L Offline
                          Lukas VFL99L Offline
                          Lukas VFL99
                          wrote on last edited by
                          #15

                          @oliverio @Homoran danke danke danke
                          Hab's jetzt folgender Maßen gelöst. Muss morgen Mal gucken ob die Umrechnung in Tage passt aber die 2 Minuten funktionieren sehr gut soweit.

                          {lastchange:0_userdata.0.Papa.Platz1.lc;wert:0_userdata.0.Papa.Platz1;((new Date()-lastchange)/1000/60) > 2 ? "#d6061f" : wert == "" ? "#FFFFF" : "#00000"}

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          662

                          Online

                          32.7k

                          Users

                          82.5k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Home
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe