@liv-in-sky
Danke Dir 🙂
Hier nun mein fertiges Script: (der Urpsprungscredit geht an @liv-in-sky , im Thread oben steht das Blockly mit dem Trigger)
var cacheSelector = $('[id=alexa2.0.Echo-Devices.*.*Alarm.*.enabled]');
//log("Ausgelesene Alarme: ");
//log(cacheSelector);
var count = 0;
var len = 0;
var weckerArray = [];
var str2 = "";
var weckerOnOff = "";
cacheSelector.each(function(id, i) {
count++;
//log("Alarm de_aktiviert: " + id);
//var weckerOnOff = getState(id).val;
var str = id.substring(0,id.indexOf('enabled')-1);
//log("Alarm: " + str + " ist aktiviert? " + weckerOnOff);
if (id.indexOf('Music') > 0) {
str2 = id.substring(0,id.indexOf('MusicAlarm')-1);
} else {
str2 = id.substring(0,id.indexOf('Alarm')-1);
}
var echoName = getObject(str2).common.name;
var weckerName = getObject(str).common.name;
// aktiver Alarm?
if (getState(id).val) {
log("Auf Gerät " + echoName + " ist Wecker " + weckerName + " aktiviert.");
weckerOnOff="On";
} else {
// deaktiver Alarm
log("Auf Gerät " + echoName + " ist Wecker " + weckerName + " inaktiv.");
weckerOnOff="Off";
}
var weckerEntry = {Echo:echoName, Wecker:weckerName, OnOff:weckerOnOff};
// in len wird die neue Anzahl Elemente im Array geschrieben
len = weckerArray.push(weckerEntry);
log("Element " + len + " angefügt.");
});
log("Insgesamt sind " + count + " Wecker definiert.");
// JSON erstellen und in Datenpunkt schreiben
var weckerJSON = JSON.stringify(weckerArray);
setState("javascript.0.aw_sonstiges.ListeWecker", weckerJSON);
log("JSON in Datenpunkt geschrieben.")
In der VIS wird das derzeit ganz simpel mittels einer JSON-Tabelle angezeigt.