Moin luxxilex,
die Antwort von GZI betrachtet wohl nur einen kleinen Teil deines Projektes
In Summe sind das schon ein paar mehr notwendige Schritte. Ich habe zwar gerade keine "Paradelösung" zur Hande, aber ggf. eine Anleitung, wie du dich rantasten könntest:
1. Du brauchst die Erweiterung CUxD. Damit kannst du ein virtuelles Gerät in Homematic registrieren, welches wiederum "Konsolenbefehle" ausführt.
Code: Alles auswählen
! wichtig: die Device-ID musst du ggf. nach dem Registrieren des Devices anpassen!
string execdevice = "CUxD.CUX2801001:1";
! Hier kann deine URL rein
string url = "www.google.de";
! das ist der Befehl, den CUxD für dich ausführt.
string downloader = "LD_LIBRARY_PATH=/usr/local/addons/cuxd /usr/local/addons/cuxd/curl";
! Befehl zusammen...
string cmd = downloader # " " # url;
! ...und abdafür
string return = dom.GetObject(execdevice # ".CMD_SETS").State(cmd);
In der Variable return wäre dann bei optimaler URL dein auswertbarer String...
2. Aufsplitten in Einzelwerte
Hier wäre es natürlich enorm von Vorteil, wenn du ein Array und keine Liste hättest (Stichwort: definierte Länge = definierte Anzahl von Werten).
Grundsätzlich ist das im Beitrag von GZI genannte Beispiel aber gar nicht so schlecht, um eine passende foreach Schleife zu basteln.
3. Speichern in Systemvariablen
a) die Variablen musst du vorher in Homematic typengerecht anlegen. Ich gehe mal davon aus, dass dir bekannt ist, wie dies geht.
b) die Syntax zum Schreiben von Werten in Systemvariablen lautet:
Code: Alles auswählen
string value;
dom.GetObject("systemvariable").State(value);
Grundsätzlich ist das Ganze also durchaus machbar. Persönlicher Tipp: schnapp dir ein bestehendes Script von "irgendwas" und nimm die Codeschnipsel als Beispiel für Herangehensweisen. Hier im Forum findest du (auch von mir) einige Scripte, die ein vergleichbares Vorgehen nutzen.
"Clever klauen" ist das Stichwort