NEWS
Iobroker.alexa2 v0.4+
-
wenn es immer diese Seriennummer ist dann können wir das wegmachen. Gebt bitte mal Feedback `
Meine ist anders. -
Hallo, und Danke für diesen super Adapter
Ich habe leider ein Problem mit meiner Sprachausgabe auf meine selbstgebastelte Multiroomgruppe. Eigentlich möchte ich insgesamt 11 Echos so ansprechen. Ich habe weils nicht so richtig klappt deshalb testweise auf 4 reduziert.
Folgende Probleme treten dabei auf:
-
die Ansagelautstärke wird auf den Echos richtig eingestellt
-
die Ansagen kommen mal, dann wieder nicht oder nicht auf allen
-
die Lautstärke der Echos wird auch nicht immer bei allen auf den Ausgangswert zurückgestellt
Gibt es beim Adapter irgendwelche zeitlichen Bedingungen die ich beachten muss?
hier eins meiner testscripte:
var aktuelle_lautstaerke_wz, aktuelle_lautstaerke_kueche, aktuelle_lautstaerke_sz, aktuelle_lautstaerke_az, aktuelle_lautstaerke_bad, aktuelle_lautstaerke_dach, aktuelle_lautstaerke_wiga, aktuelle_lautstaerke_korridor, ansagelautstaerke, ansagetext, timeout; // Ansagen an freigegebene Alaxas ausgeben on({id: 'variablen.0.alexa_sprachausgaben.ansagetext', change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("variablen.0.nachrichten_freigabe.wenn_jemand_zuhause.jemand-ist-zuhause").val && getState("variablen.0.alexa_sprachausgaben.ansage_gerade_aktiv").val == false) { // aktuelle Lautstärken einlesen aktuelle_lautstaerke_wz = getState("alexa2.0.Echo-Devices.G000MW0474170FMC.Player.volume").val; aktuelle_lautstaerke_kueche = getState("alexa2.0.Echo-Devices.90F0081870370753.Player.volume").val; aktuelle_lautstaerke_sz = getState("alexa2.0.Echo-Devices.G090LF1072121C8C.Player.volume").val; aktuelle_lautstaerke_az = getState("alexa2.0.Echo-Devices.G090LF09643200B9.Player.volume").val; aktuelle_lautstaerke_bad = getState("alexa2.0.Echo-Devices.G090LF09651227AT.Player.volume").val; aktuelle_lautstaerke_dach = getState("alexa2.0.Echo-Devices.G2A0P307740706M9.Player.volume").val; aktuelle_lautstaerke_wiga = getState("alexa2.0.Echo-Devices.G2A0P307740706MT.Player.volume").val; aktuelle_lautstaerke_korridor = getState("alexa2.0.Echo-Devices.G090LF0964320SN1.Player.volume").val; ansagelautstaerke = getState("variablen.0.alexa_sprachausgaben.sprach_lautstaerke").val; setState("alexa2.0.Echo-Devices.G000MW0474170FMC.Player.volume"/*volume*/, (getState("variablen.0.alexa_sprechen_freigabe.freigabe_sprechen_wz").val ? ansagelautstaerke : aktuelle_lautstaerke_wz)); setState("alexa2.0.Echo-Devices.90F0081870370753.Player.volume"/*volume*/, (getState("variablen.0.alexa_sprechen_freigabe.freigabe_sprechen_kueche").val ? ansagelautstaerke : aktuelle_lautstaerke_kueche)); setState("alexa2.0.Echo-Devices.G090LF1072121C8C.Player.volume"/*volume*/, (getState("variablen.0.alexa_sprechen_freigabe.freigabe_sprechen_sz").val ? ansagelautstaerke : aktuelle_lautstaerke_sz)); setState("alexa2.0.Echo-Devices.G090LF09643200B9.Player.volume"/*volume*/, (getState("variablen.0.alexa_sprechen_freigabe.freigabe_sprechen_az").val ? ansagelautstaerke : aktuelle_lautstaerke_az)); console.log('ich stelle die lautstärke ein'); ansagetext = getState("variablen.0.alexa_sprachausgaben.ansagetext").val; console.log('setze ansagetext'); setState("variablen.0.alexa_sprachausgaben.ansage_gerade_aktiv"/*ansage_gerade_aktiv*/, true, true); // Wohnzimmer if (getState("variablen.0.alexa_sprechen_freigabe.freigabe_sprechen_wz").val) { setStateDelayed("alexa2.0.Echo-Devices.G000MW0474170FMC.Commands.speak"/*speak*/, ansagetext, 2000, false); setStateDelayed("alexa2.0.Echo-Devices.G000MW0474170FMC.Player.volume"/*volume*/, aktuelle_lautstaerke_wz, 9000, false); } // Schlafzimmer if (getState("variablen.0.alexa_sprechen_freigabe.freigabe_sprechen_sz").val) { setStateDelayed("alexa2.0.Echo-Devices.G090LF1072121C8C.Commands.speak"/*speak*/, ansagetext, 2000, false); setStateDelayed("alexa2.0.Echo-Devices.G090LF1072121C8C.Player.volume"/*volume*/, aktuelle_lautstaerke_sz, 9000, false); } // Küche if (getState("variablen.0.alexa_sprechen_freigabe.freigabe_sprechen_kueche").val) { setStateDelayed("alexa2.0.Echo-Devices.90F0081870370753.Commands.speak"/*speak*/, ansagetext, 2000, false); setStateDelayed("alexa2.0.Echo-Devices.90F0081870370753.Player.volume"/*volume*/, aktuelle_lautstaerke_kueche, 9000, false); } // Arbeitszimmer if (getState("variablen.0.alexa_sprechen_freigabe.freigabe_sprechen_az").val) { setStateDelayed("alexa2.0.Echo-Devices.G090LF09643200B9.Commands.speak"/*speak*/, ansagetext, 2000, false); setStateDelayed("alexa2.0.Echo-Devices.G090LF09643200B9.Player.volume"/*volume*/, aktuelle_lautstaerke_az, 9000, false); console.log((String('aktuelle lautstärke az ist: ') + String(('' + aktuelle_lautstaerke_az)))); } // Bad oben // Dach // Wintergarten // Korridor // unten (Küche) // Bad unten // Keller timeout = setTimeout(function () { setState("variablen.0.alexa_sprachausgaben.ansage_gerade_aktiv"/*ansage_gerade_aktiv*/, false, true); }, 6000); }
-
-
Das kann nur ein Timing-Thema sein.
Bedenke das wenn Du die States setzt dann asynchron der Adapter das alles nacheinander abarbeitet. Jedes "volume" ist ein HTTP-Befehl an die Amazon-API was dann vom adapter nach dem setzen deiner States abgearbeitet wird. Dein Skript wartet aber nicht bis die Volumes durch sind sondern senden hart nach 2 sekunden die Sprachbefehle und da passiert dann das gleiche.
Je nachdem wie lange die Requests zu Amazon dauern läuft fdas Zeitlich ggf in Überlappungen und dann passieren solche Dinge.
Du musst bei so einer Anzahl an Geräten die Zeiten erhöhen.
Ich hab da noch eine Idee … mal schauen vllt finde ich was
-
Hi,
erstmal super Adapter und Danke für die Arbeit.
Habe eine kleine Frage zum Multiroom und hoffe Sie wurde noch nicht gestellt / Beantwortet (gesucht habe ich zumindest).
Mein Multiroom wir mir im Adapter angezeigt, jedoch finde ich nicht heraus wie es auch iobroker heraus starten könnte. Der einzige Weg bisher ist wenn ich bspw. "Traffic" oder eine andere Aktion einmalig ausführe ist danach auch die Musik im Multiroom zu hören.
Nur würde ich das gerne ohne schaffen.
Grüße
-
Hi,
erstmal super Adapter und Danke für die Arbeit.
Habe eine kleine Frage zum Multiroom und hoffe Sie wurde noch nicht gestellt / Beantwortet (gesucht habe ich zumindest).
Mein Multiroom wir mir im Adapter angezeigt, jedoch finde ich nicht heraus wie es auch iobroker heraus starten könnte. Der einzige Weg bisher ist wenn ich bspw. "Traffic" oder eine andere Aktion einmalig ausführe ist danach auch die Musik im Multiroom zu hören.
Nur würde ich das gerne ohne schaffen.
Grüße `
Hallo, mache alles über
-
Versuch mal aktuellste Version vom Github … aber ansonsten eigentlich die Player states einfach nutzen und es sollte Multiroom spielen
-
` > von apollon77 » 25.08.2018, 20:59
Das kann nur ein Timing-Thema sein. `
Ich habe die Timings zwischen jedem Adapterbefehl zwischen 500ms und 1s probiert. Keine große Verbesserung.
Die Sprachausgabe über multiroom ist wesentlich verlässlicher (bei 11 Echos sind auch Aussetzer dabei). Habe aber noch nicht getestet bis zu welcher Anzahl alle richtig reagieren.
Am liebsten würde ich das ganze nur über den multiroom-state realisieren. Das leicht Asyncron wäre nicht das Problem. Ich denke der Adapter klappert beim speak befehl in der Multiroomgruppe alle Gruppenmitglieder nacheinander durch. Leider kann ich da für die Durchsagen keine Lautstärke mitgeben.
Super wären:
-
Sprachfreigabe-states in der Multiroomgruppe für jedes Mitglieds
-
Sprachlautstärke einstellbar mit rückschreiben der aktuellen Lautstärke (für alle gemeinsam, oder noch besser für jeden getrennt)
Danke
-
-
Letzteres habe ich gestern Abend hinbekommen. Kommt mit einem Update voraussichtlich heute Abend.
Gesendet vom Handy …
-
ich habe jetzt mal probiert die Smart Home Devices, z.B. Eine Steckdose über powerState zu schalten bzw. den Tastendruck in den Objekten auszuführen, aber da tut sich irgendwie nix..(0.6.1 installiert) Muß ich da noch was anderes machen ?
PS: Routinen Button in den Objekten tuts auch nicht (bei den einzelnen Echos)
alexa2.0 2018-08-26 15:49:46.597 info {"applianceId":"SKILL_eyJza2lsbElkIjoiYW16bjEuYXNrLnNraWxsLmY5M2Q5YjYwLTFkZjEtNDhhOS1iYzBhLWQzZDNiZGU4YjVmYyIsInN0YWdlIjoibGl2ZSJ9_Schranklampe","endpointTypeId":"","driverIdentity":{"namespace":"SKI
alexa2.0 2018-08-26 15:49:46.597 info Invalid action turnOn provided for Action turnOnOff. Report to developer this and next log line from logfile on disk!
Also Kommando etwas zurück. Bestimmte States funktionieren, aber nicht alle. Sowohl in den Smart Home Devices und auch Rotinen. Scripte wo z.B. Abfragen erstellt sind (z.B. Temperaturen) und Alexa dann per Speak antwortet werden über den Button nicht ausgelöst.
HUE Szenen, z.B. "lesen im Wohnzimmer" werden nicht per Button ausgeführt. Das Gerät, in dem Fall z.B. die Deckenlampe im Wohnzimmer hingegen schon…
-
Debug log bitte senden von solchen versuchen.
Gesendet vom Handy …
-
Debug log bitte senden von solchen versuchen.
Gesendet vom Handy … `
Ich habe meinen Post über Deinem nochmal aktualisiert…
-
Bei der HUE Geschichte muß ich dazu sagen, ich nutze aktuell den HUE Skill, da werden dann für alle Räume automatisch die Smartgeräte angelegt so wie sie in der App heißen. Auch die vordefinierten Szenen werden dann automatisch erstellt. Diese Szenen erscheinen im Alexa2 Adapter auch unter Smart Home Devices, die lassen sich nicht bedienen per Button
Die HUE Geräte, wo auch die Farbe usw. drinn steht lassen sich bedienen per Button.
-
Da ich keine farblampen und hie Kram habe ist alles log interessant und auch genaue Infos was tut und was nicht (mit Info wie genau die States heißen) und generell debug log von diesen schaltaktionen und so. Am besten per PN.
Nur so kann ich sehen was genau wie tut und was gesendet wird und was die Antworten sind.
Gesendet vom Handy …
-
Toller Adapter !!! habe noch den 0.4 installiert und alles funktioniert wie ich es benötige.
Routinen in der Alexa App triggern meine JS und ich die Sprachausgabe auf einen bestimmten oder alle Echos ausgeben lassen.
So kann ich bevor ich das Haus verlasse den Status der Fenstersensoren abfragen etc… Geht prima.
Aber was ist wenn ich das Haus schon verlassen habe, also außerhalb meines wlan's bin?
Ich kann mich zwar per VPN mich mit meinem Hausnetz verbinden und eine Routine auslösen...
Dummerweise wird die Sprachausgabe dann auf einem Echo ausgegeben. Den kann ich aber leider nicht hören, da ich nicht in Hörweite bin.
Kann man die Sprachausgabe irgendwie auf die Smartphone App umleiten ?
ok, ich könnte mir den Text den der Echo spricht dann noch als Push-Nachricht auf's Handy senden lassen, was aber ein Rückschritt wäre. :roll:
-
Handy Apps können nur Dinge aufnehmen und bei direkten Befehlen interagieren. Können selbst aber keine "Empfänger "sein …
Hier gilt wie so oft: Wenn Du es per Alexa-App hinbekommst (z.B. Sprachausgabe per Routine auf dein Handy) dann bekommt es der Adapter auch hin ...
-
Ich habe irgendwo mal in einem Visu Thread gesehen dass jemand eine Liste angezeigt hat, mit Befehlen die Alexa zuletzt verstanden hat.
Leider finde ich den Thread nicht mehr. Es ging dort auch um was anderes, meine ich.
Wisst ihr wie man eine solche Liste aus dem Adapter (oder anders) auslesen kann?
-
Wisst ihr wie man eine solche Liste aus dem Adapter (oder anders) auslesen kann? `
Am einfachsten wahrscheinlich mit dem Adapter https://github.com/ioBroker/ioBroker.vis-history. Da gibst du nur den Echo History Datenpunkt an und er listet dir die letzten Einträge auf…Gesendet von iPhone mit Tapatalk
-
Den history Adapter nutze ich ja.
Als history Datenpunkt im alexa2 Adapter habe ich nur den
alexa2.0.History.summary
Dort steht als Text der letzte Befehl drin.
Ich habe im Vis aber bisher nicht geschafft, den Text darzustellen.
Weder mit "Text" Widget, noch mit "html" oder "json" oder "Tabelle"
Im Datenpunkt werden in der geloggten Tabelle auch komische Dinge angezeigt.
("Aus die Maus" ist ein Text, den Alexa am Ende einer Routine spricht )
-
-
Ich habe mich jetzt durch den ganzen Thread gekämpft…ich schwör jede Seite 8-) aber leider nichts passendes gefunden. Folgende Situation...ich stelle mein Wecker jeden Abend neu. Die Uhrzeiten ändern sich dabei ständig. Im Adapter wird das ja auch erkannt und aufgeführt. Ich möchte gerne ein Skript anlegen wo nach dem wecken noch einiges andere passiert. Wie kann ich auf den aktuellen Trigger reagieren ohne das manuell eingeben zu müssen? Im Adapter steht inzwischen eine mega lange Liste an Alarmen. Ich hoffe das ich mich verständlich ausgedrückt habe :roll: