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. Skripten / Logik
  4. Wenn Datenpunkt älter als 14 Tage, dann

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.6k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.1k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.8k

Wenn Datenpunkt älter als 14 Tage, dann

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
15 Beiträge 4 Kommentatoren 780 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.
  • 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
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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 Offline
      HomoranH Offline
      Homoran
      Global Moderator Administrators
      schrieb am zuletzt editiert von 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 - 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 -

      OliverIOO 1 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von
          #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 Antwort Letzte Antwort
          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
            schrieb am zuletzt editiert von
            #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 Antworten Letzte Antwort
            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
              schrieb am zuletzt editiert von
              #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 Antwort Letzte Antwort
              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 Offline
                HomoranH Offline
                Homoran
                Global Moderator Administrators
                schrieb am zuletzt editiert von
                #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 - 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
                • OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von 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 Antwort Letzte Antwort
                  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 Offline
                    HomoranH Offline
                    Homoran
                    Global Moderator Administrators
                    schrieb am zuletzt editiert von
                    #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 - 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 -

                    OliverIOO 1 Antwort Letzte Antwort
                    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
                      schrieb am zuletzt editiert von
                      #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 Antwort Letzte Antwort
                      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
                        schrieb am zuletzt editiert von
                        #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 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

                        346

                        Online

                        32.4k

                        Benutzer

                        81.5k

                        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