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. [gelöst]Script für Änderung der Textfarbe bei Wert X

NEWS

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

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

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

[gelöst]Script für Änderung der Textfarbe bei Wert X

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
22 Beiträge 8 Kommentatoren 6.2k 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.
  • coyoteC Offline
    coyoteC Offline
    coyote
    Most Active
    schrieb am zuletzt editiert von
    #13

    Ja, taugen tut sie schon. Funktioniert eigentlich zuverlässig.

    Ja gibt es hier: http://homematic-forum.de/forum/viewtop … 6&start=10

    Hmm, also so wie es aussieht alles was über hm-rega geht wird nicht aktualisiert.

    Neustarts hab ich schon paar hinter mir.

    Vllt ist das hier ein Problem (Auszug aus dem CuXD Full Syslog):

    536_cuxd.png
    Vllt hat jemand ne Idee, woran das liegt…

    Edit: Anscheinend geht der sync wieder, nach npm clean cache.


    oh man, es läuft....so eine Sch...

    Die Variable war falsch "hm-rega.0.CO2" geht nicht, habe jetzt "hm-rega.0.die ID" genommen und jetzt geht es....na klasse :roll:

    Dann aber jetzt eine Frage dazu, wie kann ich die Variable ändern von der ID in einen Namen?

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #14

      Hallo,

      ich würde so etwas lieber mit dem Basic Widget ValueList HTML Style (alternativ val,list Tile (Metro) ValueList 8) in Verbindung mit einem Skript lösen. Das Skript bleibt eigentlich gleich (siehe oben, nur in createState die Werteliste definieren). Spielt keine Rolle, ob in der Variable "rot/grün/blau" oder "1/2/3" oder "niedrig/mittel/hoch" oder so steht. Im Widget kannst du dann für jeden Wert (Standard 2 Werte, erweiterbar) eine eigene Formatierung und sogar einen eigenen Inhalt anzeigen lassen. Damit ist die logische Struktur im Javascript-Adapter Skript immer gleich und die Ausgabe wird nur im VIS-Adapter realisiert.

      261_bildschirmfoto_2015-07-09_um_12.08.53.jpg

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • coyoteC Offline
        coyoteC Offline
        coyote
        Most Active
        schrieb am zuletzt editiert von
        #15

        Hi pix,

        das verstehe ich jetzt leider nicht so ganz. Als "Wert" kann ich dann ja nur X definierte Werte (in deinem 3) angeben.

        Ich habe ja aber Zahlen von sagen wir mal 450-1400, die dazwischen beliebige Werte sein können.

        1 Antwort Letzte Antwort
        0
        • ruhr70R Offline
          ruhr70R Offline
          ruhr70
          schrieb am zuletzt editiert von
          #16

          Das Widget unterstützt bis zu 8 Werte mit jeweils eigenen Formatierungen. Die Werte lauten in der Maximalnutzung 0,1,2,3,4,5,6,7

          Für Deinen Anwendungsfall oben mit den drei gewünschten Farben (und für die meisten anderen) reicht das.

          CO2 bis 1.000 musst Du dann der 0 per Script zuweisen.

          von 1000 bis 1300 die 1

          und über 1300 die 2

          und dann Stil 0 -2 entsprechend versorgen. Ist schnell gemacht.

          Ich mag die Variante mit den {}. Es ist etwas unklarer im Widget, dafür klarer im Wert in den Objekten.

          Ich mag die Flexibilität. Man kann theoretisch alles zur Laufzeit verändern. Buttons bauen, die in Textbereichen Ihre Farbe ändern. Farbverläufe realisieren, wie es bei Dir Sinn machen könnte.

          Such Dir was aus ;-)

          Adapter: Fritzbox, Unify Circuit
          Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

          1 Antwort Letzte Antwort
          0
          • coyoteC Offline
            coyoteC Offline
            coyote
            Most Active
            schrieb am zuletzt editiert von
            #17

            Ah ok, jetzt hab ichs ;)

            Läuft jetzt erst mal so, wie Anfangs angegeben. Farbverlauf wäre vllt was :D

            Danke euch

            1 Antwort Letzte Antwort
            0
            • HomoranH Nicht stören
              HomoranH Nicht stören
              Homoran
              Global Moderator Administrators
              schrieb am zuletzt editiert von
              #18

              Hier gibts die Netatmo im Angebot:

              http://www.conrad.de/ce/de/product/6157 … n=11128598

              Gruß

              Rainer

              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
              • ruhr70R Offline
                ruhr70R Offline
                ruhr70
                schrieb am zuletzt editiert von
                #19

                danke für die Info

                Gesendet von iPhone mit Tapatalk

                Adapter: Fritzbox, Unify Circuit
                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  simpixo
                  schrieb am zuletzt editiert von
                  #20

                  Ahhh man ich verzweifel an den Skripten, denn das ist so gar nicht meins :( vielleicht kann mir ja jemand von euch helfen. Ich möchte gern Luftfeuchtigkeiten verschiedene Farben zuweisen, fast genauso wie das mit dem CO2

                  Aber es funktioniert einfach nicht…. könnt ihr mir auf die Sprünge helfen????? :roll:

                  createState('Temp-Textfarbe', "white"); // Objekt in javascript.0\. für die Textfarbe
                  
                  on('"[b]hm-rpc.0.LEQ0568523.1.HUMIDITY"/*Aussensensor:1.HUMIDITY*/[/b]', function (obj) {
                   obj.newState.val = parseInt(obj.newState.val, 10);
                   log('"hm-rpc.0.LEQ0568523.1.HUMIDITY"/*Aussensensor:1.HUMIDITY*/ ' + obj.newState.val);
                   if (obj.newState.val <= 35) {
                        setState("Temp-Textfarbe","red", true); 
                       }    
                      else if (obj.newState.val >= 36 && obj.newState.val <=65) {
                        setState("Temp-Textfarbe","green", true); 
                     }
                        else if (obj.newState.val >= 100) {
                          setState("Temp-Textfarbe","blue", true); 
                      }
                  });
                  
                  1 Antwort Letzte Antwort
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von
                    #21

                    Das Objekt (obj) wird an die Funktion übergeben:

                    createState('Temp-Textfarbe', "white"); // Objekt in javascript.0\. für die Textfarbe
                    
                    on("hm-rpc.0.LEQ0568523.1.HUMIDITY", function (obj) {
                      var rh = obj.newState.val;
                      log("hm-rpc.0.LEQ0568523.1.HUMIDITY: " + rh + " %");
                      if (rh <= 35) {
                          setState("Temp-Textfarbe","red", true);
                       }   
                       else if (rh >= 36 && rh <=65) {
                          setState("Temp-Textfarbe","green", true);
                       }
                       else {
                          setState("Temp-Textfarbe","blue", true);
                       }
                    });
                    

                    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
                    • H Nicht stören
                      H Nicht stören
                      Hansi1234
                      schrieb am zuletzt editiert von
                      #22

                      Sorry, dass ich diesen alten Beitrag nochmals hochhole, aber ich bin gerade beim gleichen Thema.

                      Das Script funktioniert an sich, leider verzögert. Wann checkt das Script seinen Status? Kann ich das beschleunigen? Meines liegt im common Ordner.

                      var idFarbe = "javascript.0.VIS.FarbeFensterVisu";
                      
                      var idAktor = "Datenpunkte.0.StatusWindowOpen";
                      
                       
                      
                      createState(idFarbe, 'white', {
                      
                          def: 'white',
                      
                          type: 'string',
                      
                          role: 'text'
                      
                      });
                      
                       
                      
                      on(idAktor, function (data) {
                      log('Aktorwert: ' + data.state.val);
                          if (data.state.val === 0) setState(idFarbe, 'green');
                      
                          else if (data.state.val > 0   && data.state.val <= 50)   setState(idFarbe, 'red');
                      
                      });
                      
                      
                      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

                      709

                      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