Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Metro Tile ValueList + Wertebereich

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Metro Tile ValueList + Wertebereich

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kekz last edited by

      Hallo zusammen,

      ich würde gern für das Widget Tile ValueList unterschiedliche Hintergrundfarben für definierte Temperaturbereiche wählen.

      Bisher kenne ich nur den Weg über ein Script mit switch-Syntax. Allerdings kann man da keinen Wertebereich festlegen bzw. ich weiß nicht wie.

      Geht das evtl. über eine if-Funktion?

      Müsste doch eigentlich ganz simpel sein.

      Vielleicht kann mir jemand weiterhelfen. :mrgreen:

      Grüße.

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo kekz,

        ja das geht mit if-Abfragen. Poste dein Skript, dann können wir es hier anpassen.

        Gruß

        Pix

        1 Reply Last reply Reply Quote 0
        • K
          kekz last edited by

          Ich hatte es hiermit versucht:

          createState('aussentemp.number',0, function () {
          });
          function checkState() {
          	if ('hm-rpc.0.MEQ0832314.1.TEMPERATURE' <= 0) {
          		setState(aussentemp.number, 0);
          		}
          	if ('hm-rpc.0.MEQ0832314.1.TEMPERATURE' > 0 && 'hm-rpc.0.MEQ0832314.1.TEMPERATURE' <= 10) {
          		setState(aussentemp.number, 0);
          		}
          	if ('hm-rpc.0.MEQ0832314.1.TEMPERATURE' > 10 && 'hm-rpc.0.MEQ0832314.1.TEMPERATURE' <= 20) {
          		setState(aussentemp.number, 1);
          		}
          	if ('hm-rpc.0.MEQ0832314.1.TEMPERATURE' > 20 && 'hm-rpc.0.MEQ0832314.1.TEMPERATURE' <= 27) {
          		setState(aussentemp.number, 2);
          		}
          	if ('hm-rpc.0.MEQ0832314.1.TEMPERATURE' > 27 && 'hm-rpc.0.MEQ0832314.1.TEMPERATURE' <= 32) {
          		setState(aussentemp.number, 3);
          	    }
          	if ('hm-rpc.0.MEQ0832314.1.TEMPERATURE' > 32) {
          		setState(aussentemp.number, 4);
          		}
          	}
          

          Die Variable wird wohl angelegt, aber der Zustand bleibt immer auf 0.

          Kenne mich auch leider überhaupt nicht aus :roll:

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by

            createState('aussentemp.number', 0);
            
            function checkState(at) {
               if (at <= 0) {
                  setState(aussentemp.number, 0);
               }
               if (at > 0 && at <= 10) {
                  setState(aussentemp.number, 0);
               }
               if (at > 10 && at <= 20) {
                  setState(aussentemp.number, 1);
               }
               if (at > 20 && at <= 27) {
                  setState(aussentemp.number, 2);
               }
               if (at > 27 && at <= 32) {
                  setState(aussentemp.number, 3);
                }
               if (at > 32) {
                  setState(aussentemp.number, 4);
               }
            }
            
            checkState(getState('hm-rpc.0.MEQ0832314.1.TEMPERATURE').val);  // Script start
            
            on('hm-rpc.0.MEQ0832314.1.TEMPERATURE', function(dp) {  // Wertänderung
               checkState(dp.state.val);
            });
            
            1 Reply Last reply Reply Quote 0
            • K
              kekz last edited by

              Besten Dank 🙂

              Bekomme aber noch folgende Fehlermeldung:

              javascript.0 script.js.common.aussentemp_number: ReferenceError: aussentemp is not defined at checkState (script.js.common.aussentemp_number:14:16) at script.js.common.aussentemp_number:24:1 at ContextifyScript.Script.runInContext (vm.js:35:29)
              
              1 Reply Last reply Reply Quote 0
              • paul53
                paul53 last edited by

                @kekz:

                Bekomme aber noch folgende Fehlermeldung: `
                Bei setState fehlen überall die Hochkommata (habe ich leider übersehen).

                      setState('aussentemp.number', 0);
                
                
                1 Reply Last reply Reply Quote 0
                • K
                  kekz last edited by

                  Ah, jetzt funktioniert es!

                  Danke 🙂

                  1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 last edited by

                    Es geht noch etwas eleganter:

                    createState('aussentemp.number', 0);
                    
                    function checkState(at) {
                       var wert = 0;
                       if (at > 10) wert = 1; 
                       if (at > 20) wert = 2;  
                       if (at > 27) wert = 3;
                       if (at > 32) wert = 4;
                       setState('aussentemp.number', wert);
                    }
                    
                    checkState(getState('hm-rpc.0.MEQ0832314.1.TEMPERATURE').val);  // Script start
                    
                    on('hm-rpc.0.MEQ0832314.1.TEMPERATURE', function(dp) {  // Wertänderung
                       checkState(dp.state.val);
                    });
                    
                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    582
                    Online

                    32.1k
                    Users

                    80.7k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    1278
                    Loading More Posts
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes
                    Reply
                    • Reply as topic
                    Log in to reply
                    Community
                    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                    The ioBroker Community 2014-2023
                    logo