Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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. Temperatur Widget blinkt (ungewollt) nach Binding

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    439

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    365

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    962

Temperatur Widget blinkt (ungewollt) nach Binding

Geplant Angeheftet Gesperrt Verschoben Visualisierung
9 Beiträge 2 Kommentatoren 946 Aufrufe 2 Beobachtet
  • Ä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.
  • F Offline
    F Offline
    Freddy 0
    schrieb am zuletzt editiert von
    #1

    Hallo Ihr,

    nachdem ich mich Weihnachten mit einem Raspberry beschenkt habe und nun die ersten Schritte in IOBroker unternehme, komme ich jetzt doch gerade nicht weiter.
    Ich versuche, die Farbe des Textes eines Temperatur - Widgets nach dem Status der Heizung

    {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus;numberToColor(i)}

    mit folgender Funktion

    function numberToColor(i)
    {
    if ( i < 1 )
    rgb = [0,255,0]; // Grün
    else
    rgb = [255,0,0]; // Rot

    return 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')'; 
    

    }

    zu ändern. Soweit so gut.
    Was jetzt passiert ist, dass das Widget permanent anfängt zu blinken / einen Refresh zu machen. Nehme ich die Farbänderung raus ist alles perfekt.

    Die völlig identische Funktion und deren Aufruf funktionieren in einem "normalen" HTML Widget ohne jegliches Blinken.
    Was mache ich falsch?

    Beste Grüße, Steffen

    iobroker vis - error.jpg

    SBorgS 1 Antwort Letzte Antwort
    0
    • F Freddy 0

      Hallo Ihr,

      nachdem ich mich Weihnachten mit einem Raspberry beschenkt habe und nun die ersten Schritte in IOBroker unternehme, komme ich jetzt doch gerade nicht weiter.
      Ich versuche, die Farbe des Textes eines Temperatur - Widgets nach dem Status der Heizung

      {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus;numberToColor(i)}

      mit folgender Funktion

      function numberToColor(i)
      {
      if ( i < 1 )
      rgb = [0,255,0]; // Grün
      else
      rgb = [255,0,0]; // Rot

      return 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')'; 
      

      }

      zu ändern. Soweit so gut.
      Was jetzt passiert ist, dass das Widget permanent anfängt zu blinken / einen Refresh zu machen. Nehme ich die Farbänderung raus ist alles perfekt.

      Die völlig identische Funktion und deren Aufruf funktionieren in einem "normalen" HTML Widget ohne jegliches Blinken.
      Was mache ich falsch?

      Beste Grüße, Steffen

      iobroker vis - error.jpg

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

      @freddy-0 Hi, da wird im Widget das Binding vor deinem JS geladen, dann kann das Binding/Widget später nichts mit dem Funktionsaufruf anfangen.

      Wenn du hier nur die Farbe ändern möchtest, würde ich das Binding direkt ausführen:

      {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus; parseInt(i)==0 ? "green" : "red" }
      oder per Farbcode
      {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus; parseInt(i)==0 ? "#00ff00" : "#ff0000" }
      

      "parseInt" um sicher zu gehen, dass es wirklich als "number" gelesen wird. Der "kleiner als"-Vergleich würde natürlich ebenfalls funktionieren ;)

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

      F 1 Antwort Letzte Antwort
      0
      • SBorgS SBorg

        @freddy-0 Hi, da wird im Widget das Binding vor deinem JS geladen, dann kann das Binding/Widget später nichts mit dem Funktionsaufruf anfangen.

        Wenn du hier nur die Farbe ändern möchtest, würde ich das Binding direkt ausführen:

        {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus; parseInt(i)==0 ? "green" : "red" }
        oder per Farbcode
        {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus; parseInt(i)==0 ? "#00ff00" : "#ff0000" }
        

        "parseInt" um sicher zu gehen, dass es wirklich als "number" gelesen wird. Der "kleiner als"-Vergleich würde natürlich ebenfalls funktionieren ;)

        F Offline
        F Offline
        Freddy 0
        schrieb am zuletzt editiert von
        #3

        @sborg Merci, aber leider ...

        Das hatte ich auch schon gemacht und es ändert nichts. Das Problem ist ja auch nicht, dass es mit JS nicht ging.
        Es hat ja alles funktioniert, egal of JS oder mit

        {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus; parseInt(i)==0 ? "green" : "red"}
        

        nur leider "blinkt" das Widget dann laufend.
        Hab mal ne kurzes Video gemacht ...

        Video.mov

        Genau dasselbe funktioniert bei nem anderen Widget ohne Probleme.
        Gefühlt löst es irgendwie einen permanenten Reload bei diesem einen Widget aus.

        Beste Grüße, Steffen

        F 1 Antwort Letzte Antwort
        0
        • F Freddy 0

          @sborg Merci, aber leider ...

          Das hatte ich auch schon gemacht und es ändert nichts. Das Problem ist ja auch nicht, dass es mit JS nicht ging.
          Es hat ja alles funktioniert, egal of JS oder mit

          {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus; parseInt(i)==0 ? "green" : "red"}
          

          nur leider "blinkt" das Widget dann laufend.
          Hab mal ne kurzes Video gemacht ...

          Video.mov

          Genau dasselbe funktioniert bei nem anderen Widget ohne Probleme.
          Gefühlt löst es irgendwie einen permanenten Reload bei diesem einen Widget aus.

          Beste Grüße, Steffen

          F Offline
          F Offline
          Freddy 0
          schrieb am zuletzt editiert von Freddy 0
          #4

          hier sieht man es ggf besser.
          vis - Microsoft​ Edge 2021-02-02 16-15-40.mp4

          Der einzige Unterschied zwischen den beiden Obersten ist die Zeile

          {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus; parseInt(i)==0 ? "green" : "red"}
          

          iobroker vis - error 2.jpg

          SBorgS 1 Antwort Letzte Antwort
          0
          • F Freddy 0

            hier sieht man es ggf besser.
            vis - Microsoft​ Edge 2021-02-02 16-15-40.mp4

            Der einzige Unterschied zwischen den beiden Obersten ist die Zeile

            {i:homepilot20.0.Actuator.1010041-32501812.relaisstatus; parseInt(i)==0 ? "green" : "red"}
            

            iobroker vis - error 2.jpg

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

            @freddy-0 Ich habe es eben mal nach gebaut, funktioniert mittels Binding wie es soll und blinkt (unter FireFox) nicht.
            Durch das Binding an sich sollte es auch bei einer Wertänderung nicht blinken, aber lege mal unter "0_userdata" einen einfachen Datenpunkt als "number" an und setzte den Wert auf 0 oder 1. Dann versuche mal das Binding auf den DP ob es dann auch noch blinkt (als Ausschluss auf den "homepilot"; dürfte aber damit nichts zu tun haben).
            Weitere Möglichkeit wäre ggf. noch mal einen anderen Browser testen. VIS, JS etc. alles aktuell?

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

            F 1 Antwort Letzte Antwort
            0
            • SBorgS SBorg

              @freddy-0 Ich habe es eben mal nach gebaut, funktioniert mittels Binding wie es soll und blinkt (unter FireFox) nicht.
              Durch das Binding an sich sollte es auch bei einer Wertänderung nicht blinken, aber lege mal unter "0_userdata" einen einfachen Datenpunkt als "number" an und setzte den Wert auf 0 oder 1. Dann versuche mal das Binding auf den DP ob es dann auch noch blinkt (als Ausschluss auf den "homepilot"; dürfte aber damit nichts zu tun haben).
              Weitere Möglichkeit wäre ggf. noch mal einen anderen Browser testen. VIS, JS etc. alles aktuell?

              F Offline
              F Offline
              Freddy 0
              schrieb am zuletzt editiert von Freddy 0
              #6

              @sborg .. und nochmal Danke ...

              Also, ich habe folgendes probiert:

              1. verschiedene Browser (Edge, Chrome, (beide auf iOS und w10), FF, Safari --> keine Änderung
              2. ich habe einen neuen View erstellt, alle Bezüge zum Homepilot entfernt und Änderungen nur über eine Variable in "0_userdata" gesteuert --> keine Änderung
              3. ein anderes Widget eingebunden und identisch gesteuert --> das Neue arbeitet perfekt, das Alte blinkt weiterhin fröhlich vor sich hin (siehe --> vis - Microsoft​ Edge 2021-02-03 14-31-16.mp4)

              Alles ist auf dem aktuellen Patchlevel.

              Kurz zur Vollständigkeit:

              • das JS script zur Farbänderung
              function numberToColor(i)
              {
                  switch (i) {
                      case "0":
                          rgb = [255,0,0]; 
                          break;
                      
                      case "1":
                          rgb = [0,0,0]; 
                          break;
                      
                      case "2":
                          rgb = [255,255,0]; 
                          break;
                      
                      case "3":
                          rgb = [0,255,255]; 
                          break;
                      
                      case "4":
                          rgb = [255,0,255]; // Grün
                          break;
                      
                      case "5":
                          rgb = [0,255,0]; // Grün
                          break;
                      
                      default:
                          rgb = [0,0,255]; // Grün
                          break;
                  }
                  
                  return 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')'; 
              }
              
              1. das Blockly
                iobroker vis - error 3 (Blockly).jpg

              2. und die Variablen
                iobroker vis - error 3 (Variablen).jpg

              SBorgS 1 Antwort Letzte Antwort
              0
              • F Freddy 0

                @sborg .. und nochmal Danke ...

                Also, ich habe folgendes probiert:

                1. verschiedene Browser (Edge, Chrome, (beide auf iOS und w10), FF, Safari --> keine Änderung
                2. ich habe einen neuen View erstellt, alle Bezüge zum Homepilot entfernt und Änderungen nur über eine Variable in "0_userdata" gesteuert --> keine Änderung
                3. ein anderes Widget eingebunden und identisch gesteuert --> das Neue arbeitet perfekt, das Alte blinkt weiterhin fröhlich vor sich hin (siehe --> vis - Microsoft​ Edge 2021-02-03 14-31-16.mp4)

                Alles ist auf dem aktuellen Patchlevel.

                Kurz zur Vollständigkeit:

                • das JS script zur Farbänderung
                function numberToColor(i)
                {
                    switch (i) {
                        case "0":
                            rgb = [255,0,0]; 
                            break;
                        
                        case "1":
                            rgb = [0,0,0]; 
                            break;
                        
                        case "2":
                            rgb = [255,255,0]; 
                            break;
                        
                        case "3":
                            rgb = [0,255,255]; 
                            break;
                        
                        case "4":
                            rgb = [255,0,255]; // Grün
                            break;
                        
                        case "5":
                            rgb = [0,255,0]; // Grün
                            break;
                        
                        default:
                            rgb = [0,0,255]; // Grün
                            break;
                    }
                    
                    return 'rgb(' + rgb[0] + ',' + rgb[1] + ',' + rgb[2] + ')'; 
                }
                
                1. das Blockly
                  iobroker vis - error 3 (Blockly).jpg

                2. und die Variablen
                  iobroker vis - error 3 (Variablen).jpg

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

                @freddy-0 Sry, war paar Tage weg... ;)
                Also, nach etlichen Test muss ich es leider auf das Widget schieben. Die Farbänderung per Binding funktioniert zwar so, wenn sich aber der Wert in meinem Datenpunkt ändert/aktualisiert blinkt es auch bei mir einmalig kurz (meine Testtemperatur wird im 60 Sekundenraster geschrieben, deswegen ist dies bei mir eher als moderat zu bezeichnen).

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

                1 Antwort Letzte Antwort
                0
                • F Offline
                  F Offline
                  Freddy 0
                  schrieb am zuletzt editiert von
                  #8

                  @sborg vielen vielen Dank für die Arbeit, die Du Dir gemacht hast. Irgendwie war ich ja schon am Verzweifeln, was ich falsch gemacht habe.

                  Macht es Sinn, dafür eine Issue aufzumachen?

                  SBorgS 1 Antwort Letzte Antwort
                  0
                  • F Freddy 0

                    @sborg vielen vielen Dank für die Arbeit, die Du Dir gemacht hast. Irgendwie war ich ja schon am Verzweifeln, was ich falsch gemacht habe.

                    Macht es Sinn, dafür eine Issue aufzumachen?

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

                    @freddy-0 IMO schon. So bekomme ich ev. Fehler mit und kann sie fixen (bei meinen Projekten). Es könnte natürlich auch sein, dass es technisch nicht anders möglich ist.

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

                    1 Antwort Letzte Antwort
                    0

                    Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                    Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                    Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                    Registrieren Anmelden
                    Antworten
                    • In einem neuen Thema antworten
                    Anmelden zum Antworten
                    • Älteste zuerst
                    • Neuste zuerst
                    • Meiste Stimmen


                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    548

                    Online

                    32.8k

                    Benutzer

                    82.8k

                    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