NEWS
(GELÖST) ID Selektoren bei True in Datenpunkt schreiben
-
@djmarc75 sagte: Alle, auch die auf FALSE sind.
Das verhindert
falls Wert vom Objekt ID id
Oder ist "false" ein String?
Poste mal den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
-
var Liste, Futterliste, i; Liste = Array.prototype.slice.apply($("*(functions=pepper)")); on({id: Liste, change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; Futterliste = []; for (var i_index in Liste) { i = Liste[i_index]; if (getState(i).val == true) { Futterliste.push((obj.common ? obj.common.name : "")); } } setState("0_userdata.0.Pepper.Aufgaben.Frischfutter.Futterliste"/*Futterliste*/, (Futterliste.join(',')), true); });
-
Es verhält sich im Moment so, dass, immer wenn ich einen Datenpunkt auf ändere, die Anzahl der auf True gesetzten stimmt, aber es wird, als Beispiel dann dreimal "Tomate" angezeigt, obwohl Gurke, Tomate und Karotte ausgewählt sind. Quasi immer der zuletzt geänderte wird dann angezeigt.
-
@djmarc75 sagte: dreimal "Tomate" angezeigt, obwohl Gurke, Tomate und Karotte ausgewählt sind.
Sorry, mein Fehler: Name enthält den Namen des Trigger-Datenpunktes, der sich in der Schleife nicht ändert. Du benötigst anstelle von Name eine JS-Funktion getName(id) mit Ergebnis mit folgendem Inhalt:
return getObject(id).common.name;
-
@paul53
Du bist spitze !!!
Vielen Dank und ich setzte den Post gleich mal auf gelöst !!!!MERCI
-
@paul53
Muss nochmal was nachfragen...Gibt es auch die Möglichkeit den ganzen Objektpfad auszulesen und diesen dann in einen Datenpunkt zu schreiben ?
-
@djmarc75 sagte: Gibt es auch die Möglichkeit den ganzen Objektpfad auszulesen und diesen dann in einen Datenpunkt zu schreiben ?
Mit Objektpfad meinst Du die ID? Die liegt ja bereits als Variable
id
vor. -
@paul53 said in (GELÖST) ID Selektoren bei True in Datenpunkt schreiben:
Mit Objektpfad meinst Du die ID? Die liegt ja bereits als Variable id vor.
0_userdata.0.Spotify.Variablen_zur_Steuerung.Headset
z.B. diesen kompletten Pfad wenn Wert true in einen Datenpunkt schreiben.
-
@djmarc75 sagte: z.B. diesen kompletten Pfad wenn Wert true in einen Datenpunkt schreiben.
Das ist der Inhalt der Variablen id. Also einfach die Funktion getName(id) weglassen und id in die Liste schreiben.
-
@paul53
Perfekt, wie immer.
Danke