NEWS
[Gelöst] Blockly BWM Alexa
-
Hallo zusammen,
ich habe ein einfaches Skript gebaut womit das Licht im Bad und Alexa angehen sollen, sobald eine Bewegung erkannt wurde. Das funktioniert soweit auch. Das Problem ist, dass bei jeder Bewegung das Radio immer wieder von vorne anfängt.
Man müsste eine Funktion einbauen, dass er überprüft, ob Alexa bereits läuft. Falls ja, dann soll er die Bewegung ignorieren.
Kann mir jemand auf die Sprünge helfen?var timeout; on({id: 'zigbee.0.0017880106f4edd1.occupancy', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})(); if ((obj.state ? obj.state.val : "") == true) { setState("hue.0.Bad.level"/*Bad.level*/, 100); setState("alexa2.0.Echo-Devices.G090XG0793251VJ3.Player.TuneIn-Station"/*TuneIn-Station*/, 's78666'); setState("alexa2.0.Echo-Devices.G090XG0793251VJ3.Player.volume"/*volume*/, 15); } else { timeout = setTimeout(function () { getState("alexa2.0.Echo-Devices.G090XG0793251VJ3.Player.controlPause", function (err, state) { setState("alexa2.0.Echo-Devices.G090XG0793251VJ3.Player.controlPause"/*controlPause*/, state ? !state.val : true); }); setState("hue.0.Bad.level"/*Bad.level*/, 0); }, 60000); } }); //JTNDeG1sJTIweG1sbnMlM0QlMjJodHRwcyUzQSUyRiUyRmRldmVsb3BlcnMuZ29vZ2xlLmNvbSUyRmJsb2NrbHklMkZ4bWwlMjIlM0UlM0N2YXJpYWJsZXMlM0UlM0N2YXJpYWJsZSUyMHR5cGUlM0QlMjJ0aW1lb3V0JTIyJTIwaWQlM0QlMjJ0aW1lb3V0JTIyJTNFdGltZW91dCUzQyUyRnZhcmlhYmxlJTNFJTNDJTJGdmFyaWFibGVzJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyb25fZXh0JTIyJTIwaWQlM0QlMjJhKSUyM1BJWmNoJTQwN0tRZzdZVWhnQ2klMjIlMjB4JTNEJTIyLTIzNyUyMiUyMHklM0QlMjIxNjMlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBpdGVtcyUzRCUyMjElMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMkNPTkRJVElPTiUyMiUzRWFueSUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQUNLX0NPTkRJVElPTiUyMiUzRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyT0lEMCUyMiUzRSUzQ3NoYWRvdyUyMHR5cGUlM0QlMjJmaWVsZF9vaWQlMjIlMjBpZCUzRCUyMlRyaEIxWX50KFdMUXBaOSU1QlFyVCUzQiUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMm9pZCUyMiUzRXppZ2JlZS4wLjAwMTc4ODAxMDZmNGVkZDEub2NjdXBhbmN5JTNDJTJGZmllbGQlM0UlM0MlMkZzaGFkb3clM0UlM0MlMkZ2YWx1ZSUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJTVEFURU1FTlQlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJ0aW1lb3V0c19jbGVhcnRpbWVvdXQlMjIlMjBpZCUzRCUyMmwtYyU2MC5FaS0hJTJDVTJKeSUyM1BXLm55JTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTkFNRSUyMiUzRXRpbWVvdXQlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sc19pZiUyMiUyMGlkJTNEJTIyQzFJdy5jeU1UJTQwNm82SlBqSXAlNUVTJTIyJTNFJTNDbXV0YXRpb24lMjBlbHNlJTNEJTIyMSUyMiUzRSUzQyUyRm11dGF0aW9uJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIySUYwJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybG9naWNfY29tcGFyZSUyMiUyMGlkJTNEJTIyc1dUYiU2MCU3QyF2UUxEJTYwVUE4blolMkZYdSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9QJTIyJTNFRVElM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkElMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJvbl9zb3VyY2UlMjIlMjBpZCUzRCUyMiUzQnQtQyUyQyUyQyU3QiU1RVg5bGxidTQwbXUlMkNxJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyQVRUUiUyMiUzRXN0YXRlLnZhbCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMkIlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJsb2dpY19ib29sZWFuJTIyJTIwaWQlM0QlMjJJYyUzQn5EMXNRJTdENSUyM1FFR1pBJTJGaCUyM0IlMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJCT09MJTIyJTNFVFJVRSUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0NzdGF0ZW1lbnQlMjBuYW1lJTNEJTIyRE8wJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIyY29udHJvbCUyMiUyMGlkJTNEJTIySCU1RWhqaiUyM3clNDAlNUQlM0FNbnVOfiU1RWZlZTIlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VodWUuMC5CYWQubGV2ZWwlM0MlMkZmaWVsZCUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMldJVEhfREVMQVklMjIlM0VGQUxTRSUzQyUyRmZpZWxkJTNFJTNDdmFsdWUlMjBuYW1lJTNEJTIyVkFMVUUlMjIlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJtYXRoX251bWJlciUyMiUyMGlkJTNEJTIyZiUyNGpKJTdCMSU3QmwlM0FMKiUyQmp4bHUlNUIlMjNnNSUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTEwMCUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjI0Z2ElM0QlM0RpJTVCcX42JTIzJTNBMjktRyUzRjVfQyUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWFsZXhhMi4wLkVjaG8tRGV2aWNlcy5HMDkwWEcwNzkzMjUxVkozLlBsYXllci5UdW5lSW4tU3RhdGlvbiUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRleHQlMjIlMjBpZCUzRCUyMilnMnhGYjNLdiUyNGwlNURMc1ROJTIzUkRJJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVEVYVCUyMiUzRXM3ODY2NiUzQyUyRmZpZWxkJTNFJTNDJTJGYmxvY2slM0UlM0MlMkZ2YWx1ZSUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjIlN0J1JTNGYiU2MFdIKiU3QzhmYUclN0RMQ0t5WFQlMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VhbGV4YTIuMC5FY2hvLURldmljZXMuRzA5MFhHMDc5MzI1MVZKMy5QbGF5ZXIudm9sdW1lJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ3ZhbHVlJTIwbmFtZSUzRCUyMlZBTFVFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIybWF0aF9udW1iZXIlMjIlMjBpZCUzRCUyMkEhMCU0MGQ4V2NteiUyNG9uJTdDKjh0V1NNJTIyJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyTlVNJTIyJTNFMTUlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQ3N0YXRlbWVudCUyMG5hbWUlM0QlMjJFTFNFJTIyJTNFJTNDYmxvY2slMjB0eXBlJTNEJTIydGltZW91dHNfc2V0dGltZW91dCUyMiUyMGlkJTNEJTIyfkZOVX5+eiUyQ0gzWSU1RTFUV0NJJTVCWWolMjIlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJOQU1FJTIyJTNFdGltZW91dCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyREVMQVklMjIlM0U2MCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyVU5JVCUyMiUzRXNlYyUzQyUyRmZpZWxkJTNFJTNDc3RhdGVtZW50JTIwbmFtZSUzRCUyMlNUQVRFTUVOVCUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMnRvZ2dsZSUyMiUyMGlkJTNEJTIyZXZwSHY5cm1QLnV5SlpFbnMzMWElMjIlM0UlM0NtdXRhdGlvbiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYxOTk5JTJGeGh0bWwlMjIlMjBkZWxheV9pbnB1dCUzRCUyMmZhbHNlJTIyJTNFJTNDJTJGbXV0YXRpb24lM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJPSUQlMjIlM0VhbGV4YTIuMC5FY2hvLURldmljZXMuRzA5MFhHMDc5MzI1MVZKMy5QbGF5ZXIuY29udHJvbFBhdXNlJTNDJTJGZmllbGQlM0UlM0NmaWVsZCUyMG5hbWUlM0QlMjJXSVRIX0RFTEFZJTIyJTNFRkFMU0UlM0MlMkZmaWVsZCUzRSUzQ25leHQlM0UlM0NibG9jayUyMHR5cGUlM0QlMjJjb250cm9sJTIyJTIwaWQlM0QlMjI2ZCk2NiU2MCUyQ2JTKUdvZCU2MGFYUChOfiUyMiUzRSUzQ211dGF0aW9uJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjE5OTklMkZ4aHRtbCUyMiUyMGRlbGF5X2lucHV0JTNEJTIyZmFsc2UlMjIlM0UlM0MlMkZtdXRhdGlvbiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk9JRCUyMiUzRWh1ZS4wLkJhZC5sZXZlbCUzQyUyRmZpZWxkJTNFJTNDZmllbGQlMjBuYW1lJTNEJTIyV0lUSF9ERUxBWSUyMiUzRUZBTFNFJTNDJTJGZmllbGQlM0UlM0N2YWx1ZSUyMG5hbWUlM0QlMjJWQUxVRSUyMiUzRSUzQ2Jsb2NrJTIwdHlwZSUzRCUyMm1hdGhfbnVtYmVyJTIyJTIwaWQlM0QlMjI2MzE5RlIlMjQzbyU0MCU3QiU3RFU3JTJDaGYxRSU0MCUyMiUzRSUzQ2ZpZWxkJTIwbmFtZSUzRCUyMk5VTSUyMiUzRTAlM0MlMkZmaWVsZCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGdmFsdWUlM0UlM0MlMkZibG9jayUzRSUzQyUyRm5leHQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnN0YXRlbWVudCUzRSUzQyUyRmJsb2NrJTNFJTNDJTJGc3RhdGVtZW50JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZuZXh0JTNFJTNDJTJGYmxvY2slM0UlM0MlMkZzdGF0ZW1lbnQlM0UlM0MlMkZibG9jayUzRSUzQyUyRnhtbCUzRQ==
-
@masterg-23 Du kannst zusätzlich zu 'Wert' auch auf eine Variable (z.B. 'aktiv') auf 'falsch' prüfen. Im oberen Block setzt du die Variable 'aktiv' auf 'wahr' und im unteren 'timeout' auf 'falsch'.
So wird der obere Block nur ausgeführt wenn der untere gelaufen ist.
-
@masterg-23 sagte: bei jeder Bewegung das Radio immer wieder von vorne anfängt.
Triggere auf "wurde geändert".
-
@dr-bakterius said in Blockly BWM Alexa:
@masterg-23 Du kannst zusätzlich zu 'Wert' auch auf eine Variable (z.B. 'aktiv') auf 'falsch' prüfen. Im oberen Block setzt du die Variable 'aktiv' auf 'wahr' und im unteren 'timeout' auf 'falsch'.
So wird der obere Block nur ausgeführt wenn der untere gelaufen ist.
Danke für den Tipp. Ich werde es gleich mal ausprobieren
@paul53 said in Blockly BWM Alexa:
@masterg-23 sagte: bei jeder Bewegung das Radio immer wieder von vorne anfängt.
Triggere auf "wurde geändert".
Das hat leider nicht funktioniert. Alexa startet immer wieder neu, sobald er eine Bewegung erkennt.
-
@dr-bakterius said in Blockly BWM Alexa:
@masterg-23 Du kannst zusätzlich zu 'Wert' auch auf eine Variable (z.B. 'aktiv') auf 'falsch' prüfen. Im oberen Block setzt du die Variable 'aktiv' auf 'wahr' und im unteren 'timeout' auf 'falsch'.
So wird der obere Block nur ausgeführt wenn der untere gelaufen ist.
So sieht es jetzt aus und scheint zu funktionieren. Auch wenn ich nicht ganz verstanden habe, warum.
Danke dir für deine Hilfe
-
Du könntest aber auch den Alexa Player "currentState" abfragen. Bei "true" spielt er bereits etwas ab.
-
@albert-k said in Blockly BWM Alexa:
Du könntest aber auch den Alexa Player "currentState" abfragen. Bei "true" spielt er bereits etwas ab.
Eigentlich ist das eine noch bessere Idee, es so umzusetzen. Nur steh ich gerade auf dem Schlauch, wie ich das umsetzen soll. Was muss ich wählen um zu sagen, wenn "currentState" ist true dann unternimm nichts?
-
Nochmal ein Falls um "steuere tunein station" (Falls CurrentState falsch ->steuere tunein station)
-
@albert-k said in Blockly BWM Alexa:
Nochmal ein Falls um "steuere tunein station" (Falls CurrentState falsch ->steuere tunein station)
Super vielen dank. Es hat funktioniert
-
Gerne, Danke