Habe es nun wie folgt gelöst:
on({
id: "javascript.0.scriptEnabled.TV.ein_aus",
change: 'any'
}, function(obj) {
var current_state = getState("javascript.0.scriptEnabled.TV.ein_aus").val;
// "An"-Status für Alexa generieren
if (current_state === true) {
// Yamaha-Receiver über Szene 1 einschalten (startet gleichzeitig den TV via HDMI-CEC)
setState('yamaha.0.scene', 1);
// Starte den NUC mit WOL-Befehl mit 5 Sekunden Versatz
setTimeout(function() {
exec('sudo etherwake -i eth0 MACADRESSE');
}, 7000);
// Schalte am Receiver auf Profil "KODI" mit 30 Sekunden Versatz
setTimeout(function() {
setState('yamaha.0.inputEnum', "KODI");
}, 30000);
log("Geräte sind gestartet mit Status, " + current_state, "info");
} else {
//Kodi in den Sleep Modus versetzen
setState('kodi.0.system.Suspend', true);
//Yamaha-Receiver ausschalten
setState('yamaha.0.power', false);
// TV prüfen ob an/aus
setState('samsung.0.Power.checkOn', true);
//TV ausschalten
setState('samsung.0.Power.off', true);
log("Geräte sind heruntergefahren mit Status, " + current_state, "info");
}
});
Fehler war, dass ich gar keinen Datenpunkt generieren musste, sondern den des Scriptes selbst der auf "true" und "false" bei an / aus wechselt.
VG