NEWS
Hilfe für Script mit mehreren Werten gesucht
-
Ich habe ein Problem das ich irgendwie nicht gelöst bekomme und hoffe es kann mir hier jemand helfen.
Ich bekomme aus einem Objekt verschiedene Werte geliefert.
Diese Werte möchte ich jetzt in VIS darstellen. Dazu habe ich gedacht das ich einen Datenpunkt schreiben lasse und dem entsprechend dem Wert eine Zahl zuordne.
In VIS nehme ich dann ein "image 8" und lese die entsprechenden Zahlen aus.
Am Ende soll das eine Farbfläche werden die entsprechend der Werte die Farbe ändert.
Die Werte bewegen sich zwischen 0 und 500.
Dabei sollen dann folgende Werte eingeteilt werden:
0-50 = 0
51-100 = 1
101-150 = 2
151-200 = 3
201-300 = 4
301-500 = 5
Mir fällt aber beim besten Willen nichts ein wie ich das realisieren könnte.
Vielleicht bin ich einfach nur zu alt für den Sch…
-
Die Werte bewegen sich zwischen 0 und 500.
Dabei sollen dann folgende Werte eingeteilt werden:
0-50 = 0
51-100 = 1
101-150 = 2
151-200 = 3
201-300 = 4
301-500 = 5 `
var y = 0; if(x > 50) y = 1; if(x > 100) y = 2; if(x > 150) y = 3; if(x > 200) y = 4; if(x > 300) y = 5; setState(idFarbe, y, true);
-
Ich Danke dir ganz herzlich.
Ich bin was Javasript angeht absoluter Anfänger und renne mit solchen Problemen voll an die Wand.
Dabei ist es im nachhinein betrachtet ja wirklich simpel :oops:
Dank deiner Hilfe habe ich jetzt endlich meine Anzeigefläche gebastelt:
var Luftguete = "javascript.1.Luftguete"/*Luftguete*/; var x = getState(Luftguete).val; var y = 0; if(x > 50) y = 1; if(x > 100) y = 2; if(x > 150) y = 3; if(x > 200) y = 4; if(x > 300) y = 5; setState("javascript.1.Luftqualität"/*Luftqualität*/, y, true);
-
Wenn dies das ganze Skript ist, solltest Du bedenken, dass die Befehle nur <u>einmal</u> bei Skriptstart ausgeführt werden. Es wird ein Trigger benötigt.
const Luftguete = "javascript.1.Luftguete"/*Luftguete*/; function setQualitaet(x) { var y = 0; if(x > 50) y = 1; if(x > 100) y = 2; if(x > 150) y = 3; if(x > 200) y = 4; if(x > 300) y = 5; setState("javascript.1.Luftqualität"/*Luftqualität*/, y, true); } setQualitaet(getState(Luftguete).val); // Skriptstart on(Luftguete, function(dp) { // triggert bei Wertänderung setQualitaet(dp.state.val); });
-
Oh, Danke.
Das habe ich wirklich nicht bedacht.
Ich habe mich schon gewundert warum das nicht aktualisiert :oops:
Hier ist übrigens die ganze Geschichte: