NEWS
Werteliste
-
Schon mal danke für Antwort.
Ich würde ganz gerne den ausgewählten Wert in ein Textfeld schrieben und nicht die ausgewählte Index Nummer.
-
Ich würde ganz gerne den ausgewählten Wert in ein Textfeld schrieben und nicht die ausgewählte Index Nummer. `
Mit folgendem Javascript-Code erhält man den Zustandstext, wenn der Index und die Datenpunkt-ID vorliegen:var txt = getObject(id).common.states[index];
-
So,
ich habe jetzt mal das Textfeld Widget aktiviert, und habe unter "Skripte" folgenden Code eingtragen
var txt = getObject(hm-rega.0.3187).common.states[1];
Dann habe ich ich in dem Textfeld Widget unter Object ID "txt" eingetragen, um auf die Variable im Script zu lesen.
Ist der Ansatz richtig, ich sehe leider nichts im Textfeld?
-
Ich schalte eine Werteliste im VIS wie folgt
Widget0 (sichtbar bei Wertindex = 0, schaltet Index auf 1)
Widget1 (sichtbar bei Wertindex = 1, schaltet Index auf 2)
Widget2 (sichtbar bei Wertindex = 2, schaltet Index auf 0)
usw.
Die liegen alle übereinander und haben jeweils ein anderes Icon, so kann man per Druck die Werteliste durchschalten, es sieht schicker aus und geht ohne JS. Die CCU stellt den Wert eh noch automatisch und ich kann es bei Bedarf ändern bzw. kontrollieren.
Es müßte auch noch ein Widget List geben, wo du selber einträgst, was bei 0,1,2… angezeigt werden soll.
Grüße
Brati
-
So,
ich habe jetzt mal das Textfeld Widget aktiviert, und habe unter "Skripte" folgenden Code eingtragen
var txt = getObject(hm-rega.0.3187).common.states[1];
Dann habe ich ich in dem Textfeld Widget unter Object ID "txt" eingetragen, um auf die Variable im Script zu lesen.
Ist der Ansatz richtig, ich sehe leider nichts im Textfeld? `
Nee, du musst die Variable noch in einen State schreiben und diesen dann anzeigen lassen. Das auslesen muss dann noch auf die Änderung der Variable triggern. Dass kann ich aber von unterwegs nicht schreiben…
-
Dankeschön Brati!
Irgendwie habe ich es aber nicht so recht verstanden.
Anbei mal zwei Bilder, um mein Problem besser zu verdeutlichen.
Danke für deine Hilfe!
1544_13-10-2016_15-20-39.gif
1544_13-10-2016_15-23-51.gif -
ohne zu wissen ob das Skript läuft…
auf jeden Fall reicht es nicht in die ObjectID einfach "txt" zu schreiben.
Dort muss die gesamte Bezeichnung rein. Also etwa javascript.0.xxxxx.
Am besten Auswählen über das Viereck neben dem Feld.
Ok, ich sehe gerade, Dir fehlt auch noch der Datenpunkt an sich.
Im Moment erzeugst du nur einen Wert in einer Variable. Dieser Wert wird aber nirgend gespeichert.
Zuerst musst Du Dir mit createState den Datenpunkt anlegen.
Dann fehlt auch noch der Auslöser für das Befüllen des Wertes. Dieser soll sich ja wahrscheinlich aktualisieren wenn sich etwas ändert.
Ansonsten wird txt immer nur dann gefüllt wenn das Skript gestartet wird.
Aber im Moment hab ich sehr wenig Zeit. Falls Dir bis heute Abend kein anderer geholfen hat und ich noch dazu komme...
Aber eigentlich sind hier immer alle sehr schnell...(und ich meistens zu langsam )
-
Zuerst musst Du Dir mit createState den Datenpunkt anlegen….Dann fehlt auch noch der Auslöser für das Befüllen des Wertes. Dieser soll sich ja wahrscheinlich aktualisieren wenn sich etwas ändert. `
createState("Zustandstext","19"); // Datenpunkt für Zustandstext erzeugen on("hm-rega.0.3187", function(dp) { setState("Zustandstext", dp.common.states[dp.state.val]); });
-
sag ich doch…
Paul war schneller
-
Herzlichen Danke für eure Hilfe!
Nun funktioniert es auch.
-
Fixed? Thema anpassen.