NEWS
Echo Wecker in alexa2-Adapter
-
Hallo,
ich nutze aktuell den Wecker meines Echo Spot, um damit das Licht im Schlafzimmer automatisch für 30 Sekunden einzuschalten, wenn es beim Auslösen des Weckers draußen dunkel ist. Das Ganze funktioniert einwandfrei per IFTTT, dem cloud-Adapter und einem simplen Javaskript. Aber ich bin halt auch abhängig von IFTTT.
Daher war meine Idee, das nun mit dem alexa2-Adapter umzusetzen. Doch leider verändert der immer die Datenpunkte, wenn ein neuer Wecker angelegt wird. Sprich, ich muss jedes Mal den entsprechend angelegten Datenpunkt suchen, um das Skript anzupassen, sobald ich mal einen Wecker gelöscht und wieder neu angelegt habe.
Wäre es nicht möglich, einen übergeordneten Datenpunkt anzulegen, der auf true gesetzt wird, sobald irgend ein Wecker ausgelöst wurde? Das würde mir sehr helfen.Gruß,
Thorsten
-
Hallo dtp,
wenn du nur einen Wecker hast oder wenn bei jedem Wecker das gleiche passieren kann, dann kannst du Regexp verwenden. In der https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#on–-subscribe-on-changes-or-updates-of-some-state sieht das so aus:
` > Note: you can use RegExp directly:on(/^system\.adapter\..*\.\d+\.memRss$/, function (obj) { }); // same as on({id: /^system\.adapter\..*\.\d+\.memRss$/, change: "ne"}, function (obj) { }); ```` `
Mit diesem Skript geht es (es reagiert auf alle Einträge in Alarm und in MusicAlarm)
on(/^alexa2\.0\.Echo-Devices\..*\..*Alarm\..*\.triggered$/, function(obj) { log("Alarm Trigger von " + obj.common.name); });
Ausgabe:
javascript.2 script.js.common.Alexa.ALEXA_Alarm_Trigger: Alarm Trigger von 21:20:00 Triggered
Du kannst natürlich obj.common.name auch auswerten und damit wieder weiterverzweigen…
Gruß
Pix
-
Hi Pix,
super. Danke. Das hilft mir sehr.
Gruß,
Thorsten
-
Will ich mich da mal anhängen.
Wie kann ich daraus einen Skript machen der die Änderungen auf alle anderen Echos kopiert?
Guten Rutsch noch
Georg
-
Hallo,
ich steuere zur Zeit auch meinen Wecker mittels Echo Spot und IFTTT. funktioniert soweit alles sehr zuverlässig. Ich habe ein Blockly-skript erstellt, das folgender Maßen funktioniert:
Alexawecker klingelt (lautstärke des Weckers ist aus, da Musik zum Aufwachen, von einer Soundbar kommt) –> Lampen gehen langsam an--> Soundbar schaltet musik an.
Alles funktioniert sehr gut, nur hätte ich gerne die möglichkeit, wenn ich am Echo spot die snooze (schlummer) Funktion nutze, die Lampen und die Soundbar wieder ausschalten und erst wieder nach ablauf der schlummerzeit angehen (Quasi wenn der Alexawecker wieder klingelt). Ich habe schon versucht unter Objekte--> Echo Device--> Alarm herauszubekommen ob bei verwendung der schlummer funktion ein neuer Alarm angelegt wird um dies eventuell als trigger zu nutzen, um lampen und soundbar wieder abzuschalten, jedoch wird hier nicht neues angelegt
hat eventuell jemand eine idee wie man das realisieren könnte?
Danke schon mal im Voraus. Liebe Grüße
-
Muss diesen Thread noch mal wieder nach oben holen. Kann ich mit RegEx auch einen setState für alle Wecker realisieren?
Ich möchte gerne alle Alexa-Wecker ausschalten, wenn die HomeMatic Abwesenheit meldet.
setState("/^alexa2\.0\.Echo-Devices\..*\..*Alarm\..*\.enabled$/", false)
liefert da leider eine Fehlermeldung:
javascript.0 2019-08-04 17:51:23.535 warn at script.js.common.Alexa_Wecker_2:1:1 javascript.0 2019-08-04 17:51:23.534 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1276:20) javascript.0 2019-08-04 17:51:23.533 warn State "/^alexa2.0.Echo-Devices..*..*Alarm..*.enabled$/" not found
Übrigens fänd ich es toll, wenn man mit dem Alexa2-Adapter auch Wiederholungen und den Weckton einstellen könnte. Über die Alexa App geht das zumindest.