NEWS
getstate() in getstate() möglich?
-
Hi,
also eigentlich bekomme ich JS nur in Blockly hin...
Da es da aber einige Einschränkungen gibt, dachte ich mir, ob ich ein fertiges Skript evtl. in JS code konvertieren und dann an der ein oder anderen Stelle von Hand manipulieren/ergänzen könnte...Konkret frage ich mich, ob es möglich ist auch in getstate() eine Variable einzubinden, bzw. ein weiteres getstate() einzubauen?
Also, was ich meine, ist es möglich den getstate() Code wie im setStateDelayed() auch an die Stelle der XXXXXXXXXXXXXXXX zu bekommen?
setStateDelayed((['alexa2.0.Echo-Devices.',getState("alexa2.0.History.serialNumber").val,'.Commands.speak'].join('')), getState("alexa2.0.Echo-Devices.XXXXXXXXXXXXXXXX.Player.volume").val, true, parseInt(0, 10), false);
-
Wenn du sowas meinst:
getState(instanz + pfad0 + 'Konfiguration.minimal.NamensZusatz').val;
ja das geht, lediglich die + (Plus - Zeichen) und die richtige "Klammern-Setzung" sind wichtig.
-
Hmm, also ich meine, dass im diesem getstate
alexa2.0.Echo-Devices.XXXXXXXXXXXXXXXX.Player.volume
die Xs durch das Ergebnis (die Rückgabe?) des getstate von
alexa2.0.History.serialNumber
ersetzt werden, sodass ein kompletter/gültiger Pfad entsteht.
-
@padrino Erst getState() von alexa2.0.History.serialNumber und das Ergebnis verwenden
var serial = getState('alexa2.0.History.serialNumber').val; var vol = getState('alexa2.0.Echo-Devices.' + serial + '.Player.volume').val;
-
Super, danke!
Damit und anschauen, was blockly so "in code" ist, konnte ich mir das basteln
var serial = getState('alexa2.0.History.serialNumber').val; var vol = getState('alexa2.0.Echo-Devices.' + serial + '.Player.volume').val; var ausgabe = ['Die Lautstärke für dieses Gerät ist ', vol ,' Prozent.'].join(''); setState((['alexa2.0.Echo-Devices.', serial ,'.Commands.speak'].join('')), ausgabe);
freu