NEWS
Probleme mit Alexa Gruppen für Lichtsteuerung
-
Unter der Alexa App kann man Gruppen definieren. Wählt man dort einen Echo und eine beliebige Anzahl von Lampen werden diese automatisch geschaltet wenn man „Alexa Licht an“ sagt. Hat man pro Raum einen Echo und erstellt jeweils eine Gruppe schaltet Alexa immer genau das Licht indem Raum wo man gerade ist.
Sage ich im Wohnzimmer „Alexa Licht an“ schalten die zwei Lampen die ich in die Gruppe mit dem Echo aus dem Wohnzimmer verknüpft habe.
Sage ich das ganze im Flur schaltet er die Lampen im Flur. Wirklich smart.
Mein Problem mit den Homematic Komponenten klappt das nicht. Im Flur und Wohnzimmer habe ich jeweils Hue-Lampen (über die Hue-Bridge in Alexa eingebunden. Im Schlafzimmer ist ein Zwischenstecker von homematic. Der einzige Unterschied der auffällt ist das der Zwischenstecker und alle anderen Smarthome Geräte aus iobroker nicht als Licht in Alexa angezeigt werden. Kann ich das ändern?
1407_7da9ee56-ce2a-4dfb-b78e-860c23ff94f9.jpeg
1407_1f09fdcb-6461-4f7e-8171-c014ffb504dd.jpeg
1407_291759f8-e5dc-4db9-b2a3-a3c9244c4388.jpeg -
Unter der Alexa App kann man Gruppen definieren. Wählt man dort einen Echo und eine beliebige Anzahl von Lampen werden diese automatisch geschaltet wenn man „Alexa Licht an“ sagt. Hat man pro Raum einen Echo und erstellt jeweils eine Gruppe schaltet Alexa immer genau das Licht indem Raum wo man gerade ist.
Sage ich im Wohnzimmer „Alexa Licht an“ schalten die zwei Lampen die ich in die Gruppe mit dem Echo aus dem Wohnzimmer verknüpft habe.
Sage ich das ganze im Flur schaltet er die Lampen im Flur. Wirklich smart.
Mein Problem mit den Homematic Komponenten klappt das nicht. Im Flur und Wohnzimmer habe ich jeweils Hue-Lampen (über die Hue-Bridge in Alexa eingebunden. Im Schlafzimmer ist ein Zwischenstecker von homematic. Der einzige Unterschied der auffällt ist das der Zwischenstecker und alle anderen Smarthome Geräte aus iobroker nicht als Licht in Alexa angezeigt werden. Kann ich das ändern? `
Super, dass das bei Dir mit den Gruppen und Hue-Lampen funktioniert. Bei mir geht das leider nicht.
Vielleicht hat Amazon hier in den letzten zwei Monaten auch nachgebessert.
Habe mir dafür ein Script geschrieben, dass Du sicher auch für deine Zwischenstecker nutzen kannst. Siehe hier: http://forum.iobroker.net/viewtopic.php?f=37&t=9115
-
Das Script hatte ich gesehen. Will es aber eher nicht benutzen, da es ja eigentlich nicht nötig ist da Amazon diese Funktion ja quasi incl. hat sofern die Geräte richtig bei Amazon als Smartgerät ankommen.
Wenn ich mich nicht täuschr funktioniert es out of the Box erst seite Mitte Dezember…
Falls ich keine Lösung finde werde ich Dein Script aber wahrscheinlich probieren (hörte sich im ersten Augenblick schwierig an), da es halt schon schöner, einfacher und schneller ist "Alexa Licht an" zu sagen als den Raumnaumen anzuhängen.
-
Hi,
Das Problem ist, dass Alexa wissen muss, dass es Lampen sind (Keine "Häuser" in der App sondern Lampen).
Falls du nicht davor zurückschreckst den adapter zu modifizieren hier ist die Änderung damit es funktioniert:
/opt/iobroker/node_modules/iobroker.cloud/lib/alexaSmartHomeV2.js (Backup am besten vorher machen!)
Darin suchst du nach dieser Zeile:
https://github.com/ioBroker/ioBroker.cl … V2.js#L314
Darunter fügst du den "applianceTypes" Teil ein:
var obj = { applianceId: applianceId + (friendlyNames.length > 1 ? '_' + n : ''), applianceTypes: [ "LIGHT" ],
Ein Stück weiter unten gibt es dann:
https://github.com/ioBroker/ioBroker.cl … V2.js#L377
Dort das gleiche:
groups[friendlyNames[n]] = { applianceId: friendlyNames[n].replace(/[^a-zA-Z0-9_=#;:?@&-]+/g, '_'), applianceTypes: [ "LIGHT" ], manufacturerName: 'ioBroker group',
Dannach die Instanz neu starten und Alexa die Geräte neu suchen lassen und schon sollten sie als Lampen angezeigt werden.
Hier wird dafür nun halt ALLES als Lampe angezeigt…daher am besten das was nicht schalten soll aus der Gruppe rausnehmen und eine eigene machen.
Nach einem Update des Cloud Adapters sind die änderungen aber wieder weg...
Ich schau aber mal, dass ich hierfür einen Pull-Request aufmache da ich im Cloud Adapter auch noch einige andere Bugs gefixt hab.
-
Wäre es nicht sinnvoll das man sich konfugirieren kann was als Lampen dargestellt wird und was nicht?
-
Wäre es nicht sinnvoll das man sich konfugirieren kann was als Lampen dargestellt wird und was nicht? `
Klar,
Aber das ist noch nicht implementiert.
Die Änderung die ich oben gepostet hab ist auch wie gesagt erstmal ein "Workaround" damit das mit den Gruppen funktioniert.
Wie wäre es so?
-
Wäre es nicht sinnvoll das man sich konfugirieren kann was als Lampen dargestellt wird und was nicht? `
Klar,
Aber das ist noch nicht implementiert.
Die Änderung die ich oben gepostet hab ist auch wie gesagt erstmal ein "Workaround" damit das mit den Gruppen funktioniert.
Wie wäre es so?
https://i.gyazo.com/bfb2ff341d3abaacc00 … ef0a45.png `
macht Sinn -
das wäre Mega gut sogar…
Ich vermute das wenn man den Device expliziet sagen kann was sie sind das man dann eine Gruppe Wohnzimemr machen könnte mit allen Geräten im Wohnzimmer incl einen Echo das dann folgendes funktionieren müsste:
"Alexa, Licht an/aus"
"Alexa, Heizung auf 23 Grad"
und Abfrage nach der aktuellen Temperatur.
Nur für Rolladen muss man den Weg über Routinen gehen wenn man "Alexa, Rolladen im Raum hoch". Ich habe aber leider keine Rolladen
-
Ich glaube das Feature funktioniert im moment nur mit "Licht"…
Rolläden kennt Alexa selbst garnicht und Heizung bin ich mir nicht sicher, ob das mit diesem Feature zusammen funktioniert.
Ich hab das ganze jetzt inklusive vieler weiterer Fixe implementiert...
https://github.com/WolfspiritM/ioBroker.cloud/
Ich musste die Box jedoch verschieben so das jeder state einen Type hat.
(Ich weiß...der Tabellenheader stimmt noch nicht)
~~![](</s><URL url=)<link_text text="https://user-images.githubusercontent.c ... 2aafe1.png">https://user-images.githubusercontent.com/5904171/34605904-9f8c9e38-f20d-11e7-869f-bda2f52aafe1.png</link_text>" />
Ein Alexa Device kann mehrere Types haben.
Der Cloud Adapter sucht sich dann von allen States die Typen zusammen.
In dem Fall von meinem Screenshot kommt aber Ende z.B ein Device "Arbeitszimmer Licht" mit "LIGHT" raus…
Würde darin noch eins mit "SMARTPLUG" sein, dann würde Alexa beides bekommen...
Was Alexa daraus macht wenn man SMARTPLUG und LIGHT z.B. mischt kann man dann ausprobieren... :D~~
-
Innerhalb eines Smarthome Gerätes würde ich nicht unterscheiden. Macht ja auch eigentlich keinen Sinn.
Ich würde mal sagen folgende Dinge gibt es:
Ich für meinen Teil hätte nur Outlets, Lightning und Thermostats.
Ich vermute mal bei Outlets müsste man eine Gruppe daraus schalten können mit Schalte Energie ein.
Mit Gruppen meine ich immer die Gruppen die man hinter in der Amazon App anlegt aus den Smarthome Geräten die iobroker liefert.
Kann ich Deinen cloud Adapter installieren oder ist der zu sehr beta? Muss ich dazu den anderen vorher stoppen und deinstallieren?
Ich muss etwas aufpassen damit der WAF nicht zu sehr sinkt :mrgreen:
-
Ich glaube das Feature funktioniert im moment nur mit "Licht"…
Rolläden kennt Alexa selbst garnicht und Heizung bin ich mir nicht sicher, ob das mit diesem Feature zusammen funktioniert.
Ich hab das ganze jetzt inklusive vieler weiterer Fixe implementiert...
https://github.com/WolfspiritM/ioBroker.cloud/
Ich musste die Box jedoch verschieben so das jeder state einen Type hat.
(Ich weiß...der Tabellenheader stimmt noch nicht)
~~![](</s><URL url=)<link_text text="https://user-images.githubusercontent.c ... 2aafe1.png">https://user-images.githubusercontent.com/5904171/34605904-9f8c9e38-f20d-11e7-869f-bda2f52aafe1.png</link_text>" />
Ein Alexa Device kann mehrere Types haben.
Der Cloud Adapter sucht sich dann von allen States die Typen zusammen.
In dem Fall von meinem Screenshot kommt aber Ende z.B ein Device "Arbeitszimmer Licht" mit "LIGHT" raus…
Würde darin noch eins mit "SMARTPLUG" sein, dann würde Alexa beides bekommen...
Was Alexa daraus macht wenn man SMARTPLUG und LIGHT z.B. mischt kann man dann ausprobieren... :D~~ ` ~~Ich habe diese Version mal über Deinen Link installiert. Ich habe keine dieser Checkboxen im Cloudadapter bei mir sehen können ? Muss ich noch was beachten/einstellen ? Als Version wurde mir 2.2.0 angezeigt, ist das richtig ?
Was für Fixe sind noch drinn, oder ist das im Moment zu viel zum tippen ? :D~~
-
Ich habe diese Version mal über Deinen Link installiert. Ich habe keine dieser Checkboxen im Cloudadapter bei mir sehen können ? Muss ich noch was beachten/einstellen ? Als Version wurde mir 2.2.0 angezeigt, ist das richtig ? `
Hier hab ich das mal ein bisschen zusammengefasst:
https://github.com/ioBroker/ioBroker.cl … -355525449
Wie genau hast du das ganze den installiert?
Um die Änderungen im Frontend sichtbar zu machen muss ein "./iobroker update cloud" ausgeführt werden (Oder im Experten-Modus auf den "Upload" Knopf für den Adapter drücken...
Dann sollte das eigentlich klappen.
EDIT: Mein Fehler. Ich hatte vergessen den Branch oben mit anzugeben: https://github.com/WolfspiritM/ioBroker ... r-bugfixes
-
ich habe es so gemacht…
3822_cloud.jpg -
ich habe es so gemacht… `
Okay dafür war es noch nicht gedacht, aber ich habs jetzt mal in den master geschoben und damit sollte es nun auch über diese Möglichkeit installierbar seinWichtig ist hinter her einen "Upload" zu machen, wenn man es über eine existierende cloud Version drüberspielt.
-
Ich bekomme immer einen "Fetch Failed"…
! $ ./iobroker url "https://github.com/WolfspiritM/ioBroker.cloud.git"
! install https://github.com/WolfspiritM/ioBroker … all/master
! npm install https://github.com/WolfspiritM/ioBroker ... all/master --production --prefix "/opt/iobroker" (System call)
! npm ERR! fetch failed https://github.com/WolfspiritM/ioBroker ... all/master
! npm WARN retry will retry, error on last attempt: Error: fetch failed with status code 404
! npm ERR! fetch failed https://github.com/WolfspiritM/ioBroker ... all/master
! npm WARN retry will retry, error on last attempt: Error: fetch failed with status code 404Kannst du bitte nochmal erklären wie ich installieren muss?
-
Kannst du bitte nochmal erklären wie ich installieren muss? `
Erstmal: Das ganze ist wirklich im Moment noch komplett ungetestet am besten erstmal noch 1-2 Tage warten, vorallem da darin sehr viele Änderungen gemacht wurden…!
Ich hab es eben ohne Probleme bei einer zweiten Instanz mit dieser URL installiert:
https://github.com/WolfspiritM/ioBroker.cloud/
(Ohne ".git") am Ende!
Anschließend unter "Adapter" oben links "Experten-Einstellungen" aktivieren und dann den "Upload"-Knopf am Cloud Adapter klicken.
-
ok danke dir! wirklich cool, dass du dich so reinhängst
-
ich habe es so gemacht… `
Okay dafür war es noch nicht gedacht, aber ich habs jetzt mal in den master geschoben und damit sollte es nun auch über diese Möglichkeit installierbar seinWichtig ist hinter her einen "Upload" zu machen, wenn man es über eine existierende cloud Version drüberspielt. `
so, ich spiele mal etwas damit, ist jetzt drauf
3822_cloud.jpg -
hier wollte ich mal eine einzelne Hue Lampe schalten (nur Fensterlampe an) Muss ich hier jetzt andere Datenpunkte verwenden ?
! ````
host.DSHOME 2018-01-05 16:10:17.586 info Restart adapter system.adapter.cloud.0 because enabled
host.DSHOME 2018-01-05 16:10:17.586 error instance system.adapter.cloud.0 terminated with code 0 (OK)
Caught 2018-01-05 16:10:17.586 error by controller[0]: at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
Caught 2018-01-05 16:10:17.586 error by controller[0]: at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
Caught 2018-01-05 16:10:17.586 error by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
Caught 2018-01-05 16:10:17.586 error by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
Caught 2018-01-05 16:10:17.586 error by controller[0]: at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
Caught 2018-01-05 16:10:17.586 error by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
Caught 2018-01-05 16:10:17.585 error by controller[0]: at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
Caught 2018-01-05 16:10:17.585 error by controller[0]: at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
Caught 2018-01-05 16:10:17.585 error by controller[0]: at Socket. (/opt/iobroker/node_modules/iobroker.cloud/main.js:558:22)
Caught 2018-01-05 16:10:17.584 error by controller[0]: at AlexaSH2.process (/opt/iobroker/node_modules/iobroker.cloud/lib/alexaSmartHomeV2.js:1101:32)
Caught 2018-01-05 16:10:17.581 error by controller[0]: TypeError: Cannot read property 'split' of undefined
cloud.0 2018-01-05 16:10:17.556 info terminating
cloud.0 2018-01-05 16:10:17.548 info Connection changed: DISCONNECTED3
cloud.0 2018-01-05 16:10:17.545 error at Decoder.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:134:20)
cloud.0 2018-01-05 16:10:17.545 error at Decoder. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
cloud.0 2018-01-05 16:10:17.545 error at Manager.ondecoded (/opt/iobroker/node_modules/socket.io-client/lib/manager.js:332:8)
cloud.0 2018-01-05 16:10:17.545 error at Manager.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
cloud.0 2018-01-05 16:10:17.545 error at Manager. (/opt/iobroker/node_modules/component-bind/index.js:21:15)
cloud.0 2018-01-05 16:10:17.545 error at Socket.onpacket (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:228:12)
cloud.0 2018-01-05 16:10:17.545 error at Socket.onevent (/opt/iobroker/node_modules/socket.io-client/lib/socket.js:270:10)
cloud.0 2018-01-05 16:10:17.545 error at Socket.Emitter.emit (/opt/iobroker/node_modules/socket.io-client/node_modules/component-emitter/index.js:133:20)
cloud.0 2018-01-05 16:10:17.545 error at Socket. (/opt/iobroker/node_modules/iobroker.cloud/main.js:558:22)
cloud.0 2018-01-05 16:10:17.545 error at AlexaSH2.process (/opt/iobroker/node_modules/iobroker.cloud/lib/alexaSmartHomeV2.js:1101:32)
cloud.0 2018-01-05 16:10:17.545 error TypeError: Cannot read property 'split' of undefined
cloud.0 2018-01-05 16:10:17.544 error uncaught exception: Cannot read property 'split' of undefinedSchmiert mir dann komplett ab… [3822_lampe.jpg](/assets/uploads/files/3822_lampe.jpg)
-
Schmiert mir dann komplett ab… `
Erstmal ist es wichtig, da Alexa leider payloads nicht einfach ersetzt die Devices aus Alexa zu entfernen und neu einlesen zu lassen Ich versuche das noch zu lösen, aber das Problem gab es vorher auch so das neue Datenpunkte nicht hinzugefügt wurden wenn das Gerät einmal erkannt wurde. Ich hab einiges an den Payloads geändert daher versagen die "alten" Devices.
Um hue zu schalten musst du momentan noch saturation und brightness mit in die Datenpunkte mit aufnehmen.
Hier "bei An" auf "letzter Wert" stellen damit diese bei An nicht geschaltet werden
EDIT: Ich hab jetzt noch eine Änderung eingebaut, welche dieses Problem beheben sollte. Hiermit werden states auch sofort benutzt ohne das man in Alexa das Device entfernen muss oder neu anlegen muss.