NEWS
Metro Tile ValueList + Wertebereich
-
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.
-
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:
-
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); }); -
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) -
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); });
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