Hallo,
ich nutze iobroker nun knapp 2 Jahre und möchte jetzt etwas tiefer in die "Programmierung" einsteigen. Bisher nutze ich nur kleinere Blockly-Scripte, wie "wenn der Aktor betätigt wird, schalte dieses Licht ein", oder "schalte die Heizung aus, wenn das Fenster geöffnet wird", usw.
Jetzt kam mir die Idee, den CD-Spieler meiner Kinder gegen eine RFID-Jukebox zu ersetzen, wobei die Jukebox ein Amazon Echo ist und der RFID-Reader ein ESP8266 mit entsprechenden Modulen.
Ich habe nun erreicht, dass beim Auflegen einer RFID-Karte ein MQTT-Datenpunkt mit der entsprechenden ID der Karte beschrieben wird. Auch habe ich ein Blockly, welches anhand dieser ID an Alexa den Befehl zum Abspielen einer Playlist schickt. Bei einigen wenigen Karten ist das so ja noch übersichtlich, aber sobald es in Richtung 20-30-50 Karten geht, wird das unübersichtlich zu pflegen.
Aktuell sieht das Script mit nur zwei Karten-IDs so aus:

Jetzt kam mir der Gedanke, eine "externe" Datenquelle anzubinden. In dieser Datenquelle sind anhand der Karten-ID die Quelle (z.b. Spotify oder Amazon Music) und der zugehörige Alexa-Befehl hinterlegt (z.B. "Spiele Playlist Leo Lausemaus Folge 1"). Legt mein Sohn die Karte mit der ID 6970fbb2 auf, soll sich das Script aus der Datenquelle die Quelle und den Befehl für Alexa raussuchen und in die Variablen schreiben, welche dann im Script weiterverwendet werden.
Wie erreiche ich das und mit welcher Datenquelle?
In Powershell würde ich jetzt als Datenquelle vermutlich eine XML schreiben und diese dann zur Laufzeit einlesen. Hier bin ich allerdings überfragt.
Auf meine Synology hätte ich eine MariaDB (MySQL), aber ich habe nichts gefunden, wie man sowas lösen könnte.
Dann ist mir noch der Gedanke gekommen, dass ich ja die ganzen Karten als Datenpunkte unter userdata pflegen könnte, aber auch hier habe ich nichts gefunden, wie man einen ganzen Ordner einlesen kann und vor allem auch als zweidimensionalen Array speichern kann.
Jemand eine Idee?
Viele Grüße
Tobias