will man mit einem HomeMatic-Skript ein bestimmtes Element einer Liste ändern, so geht das meines Wissens nach nur mit einer foreach-Schleife. Hier mal ein Beispiel:
Code: Alles auswählen
string list = "Dies|ist|ein|Test";
string changeIndex = 3;
integer cnt = 0;
string newList = ""; string element;
foreach(element, list.Split("|")){
if(cnt == changeIndex){element = "Erfolg";}
newList = newList#element#"|";
cnt = cnt + 1;
}
list = newList.Substr(0, newList.Length()-1);
WriteLine(list);
In anderen Programmiersprachen wäre das mit einem simplen Einzeiler der Form
Code: Alles auswählen
string list = "Dies|ist|ein|Test";
string changeIndex = 3;
list.NewValueByIndex(changeIndex) = "Erfolg";
Gruß,
Thorsten