Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
[*]im Alexa-Universum (App etc.), im Hue-Universum (App etc.), in smarthome und smartVISU sind die Zimmer definiert
Daher funktioniert ja auch "Alexa, schalte das Licht an" wenn ich z.B. in "Emmas Zimmer" steht - dann geht auch wirklich nur da das Licht an und nicht z.B. in "Johannas Zimmer".
Aber hasst du evtl. schon mal in der Alexa App Räume angelgt (Emma ,Johannes) und da die "Geräte" eingefügt die in den Räumen sind. Hatte gemeint das irgendwo mal gelesen zu haben. Die passende Alexa muß dem Raum natürlich auch in der App zugewiesen werden.
Wie legt man denn Räume an und weist den Geräten und Echos Räumen zu? Das wäre ja super!
Webbrowser: https://alexa.amazon.de/spa/index.html#smart-home // dann auf "Gruppen" // "Gerätegruppen" // dann einfach auf "Gruppe erstellen" z.b.Küche // da alle Geräte in der Gruppe + Alexa auswählen und fertig. (Alexa sollte dann auch Küche heißen)
Anderer Weg ist über die Android App:
unten rechts auf "Geräte" // dann oben rechts auf "+" // Gruppe hinzufügen // Name vergeben und "Weiter" // dann wieder Alexa und Geräte auswählen und "Speichern" klicken.
da ich das Problem hatte, dass die Alexa-App einen neu hinzugefügten RGB-Controller nicht gefunden habe, habe ich mich in der Amazon-Entwicklerkonsole angemeldet. (Vorher hatte ich mich auch kurz unter https://developer.amazon.com angemeldet, aber ich glaube das ist hier nicht relevant)
Da musste ich statt Nodejs 4.x 8.10 wählen und speichern.
Gleichzeitig habe ich auf den aktuellen Code aus https://raw.githubusercontent.com/sm.../aws_lambda.js aktualisiert.
Function Logs:
START RequestId: 027e5477-b3de-4b7b-9dc4-1690bc22b96f Version: $LATEST
2019-11-25T17:41:47.110Z 027e5477-b3de-4b7b-9dc4-1690bc22b96f INFO requesting {"header":{"messageId":"F8752B11-69BB-4246-B923-3BFB27C06C7D","name":"DiscoverAppliancesRequest"," namespace":"Alexa.ConnectedHome.Discovery","payloa dVersion":"2"},"payload":{"accessToken":"1"}}
END RequestId: 027e5477-b3de-4b7b-9dc4-1690bc22b96f
REPORT RequestId: 027e5477-b3de-4b7b-9dc4-1690bc22b96f Duration: 5005.14 ms Billed Duration: 5000 ms Memory Size: 512 MB Max Memory Used: 25 MB
2019-11-25T17:41:52.033Z 027e5477-b3de-4b7b-9dc4-1690bc22b96f Task timed out after 5.01 seconds
Im Haus reagiert leider auch kein Smarthome Gerät mehr.
Wie mache ich mich jetzt auf die Fehlersuche?
In 30 min kommt meine Frau nach Hause ;-)
Edit:
Ich bin einen Schritt weiter:
Das Plugin reagiert einfach nicht. Das liegt aber nicht an meinen Aktionen an den Amazon-Konsolen, sondern an meinen Yaml-Änderungen. Ich sehe im Log:
Code:
2019-11-25 20:15:08 INFO avdevice Initializing avdevice: Created response commands, including 20 entries.
--
2019-11-25 20:15:08 ERROR Alexa4P3 Plugin 'alexa4p3' exception in run() method: Alexa: invalid device Lina_Lichterschlauch
Traceback (most recent call last):
File "/usr/local/smarthome/lib/plugin.py", line 674, in run
self.plugin.run()
--
raise ValueError("Alexa: invalid device {}".format(device.id))
ValueError: Alexa: invalid device Lina_Lichterschlauch
nachdem ich das o.g. Problem habe lösen können, bleibt mein ursprüngliches Problem:
Nicht alle Szenen werden von Alexa gefunden. Woran kann das liegen?
Ich habe in der Yaml sieben sehr änliche Szenen definiert:
Wie sieht das denn im Item Tree aus? Bei dem was Du gepostet hast wäre (aufgrund der Einrückungen) Nacht: ein SubItem von Abend: und hat keine Attribute. Dafür werden die "Nacht-Attribute" die Attribute von Abend: überschreiben.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
das mit dem "alexa_name" hab ich mir angeschaut.
Das Problem liegt darin, dass die Prüfung der Alexa-items noch mit der "alten" P2-Logik erfolgt. Da hatte ich nichts geändert/überarbeitet.
Hier wird auf noch auf logger.error geloggt. Die Ausgabe ist dann nicht vollständig. (Sonst würde im Log stehen : ""Alexa-Device {}: empty name".format(self.id)")
Ein Fehler an dieser Stelle wird mit "raise" abgefangen und führt zum Abbruch. Sehr unschön
Da ich im Moment eh am erweitern überarbeiten des Plugins bin, nehm ich das mal auf die Todo-Liste.
Das mit den nicht gefundenen Szenen sehe ich so wie Msinn. (Falls die vorgeschlagene Lösung keine Abhilfe schafft kurze Info, dann werde ich das auch prüfen.)
In Deiner zuletzt geposteten item-config kommt der Lichterschlauch von Lina nicht mehr vor, tut der jetzt nachdem er einen alexa_name hat ?
Der Color-Controller ist bisher nach meinem Wissen wenig (bzw. gar nicht genutzt worden), ich selbst habe kein Color-Gerät, habe immer mit virtuellen Devices getestet :-(
vielen Dank.
Der Lichterschlauch funktioniert. Ich hatte ihn nur in dem Teil der Konfiguration nicht gepostet, weil er nicht relevant ist.
Der Color-Controller funktioniert. Das kann ich bestätigen.
Hier die Konfiguration:
neuer Post für ein weiteres Problem:
Es tauchen nicht alle Geräte, die ich in den Yamls definiert habe in der Alexa-App auf. Auch nachdem ich nach neuen Geräten gesucht habe.
Ich habe in den Yamls nach alexa_name gesucht: 51 Ergebnisse.
Ein Read-Request unter https://eu-west-1.console.aws.amazon.com/
ergibt 50 Ergebnisse. Der ganze Output hier: https://1drv.ms/t/s!AvbzKdYzkh6gkgWT...ddMdN?e=P4xaeo
In der Alexa-App finden sich nur 29 Geräte aus sh.py.
Allerdings reagieren auch Geräte, die nicht in der App sind (z.B. "Ecklampe") mit dem Bestätigungston, schalten aber nicht.
Ich meine aber dass es auch Geräte gibt, die nicht in der App sind, aber normal funktioniern.
das der Lichterschlauch funktioniert ist schonmal gut, Deine Hinweise zur Doku nehme ich auf.
Zu Deinem Problem. Ich vermute Du hast Deinen Skill auf Payload 3 umgestellt (sonst würde ja der Lichterschlauch nicht funktionieren).
Dein Discovery-Response auf OneDrive ist noch in Payload V2, ich denke Du hast in der Lambda Testfunktion das Discovery noch mit Payload V2 abgesetzt.
Der Response zeigt Actions aus Payload V2 (V2 = turnOn / V3 = TurnOn). Ich denke wenn Du alle Actions auf V3 umstellst hast Du alle
Geräte auch in der App.
Da das Plugin beim Validieren (erfolgt beim Start von smarthomeNG) der Devices im Moment nicht weiß welcher Payload beim Skill eingestellt ist kann hier keine Prüfung erfolgen.
Man könnte einen zusätzlichen Parameter in etc /etc/plugin.yaml einführen um dann zu prüfen ob alle Actions für die richtige Payload-Version parametriert sind.
Hallo Andre,
Vielen vielen Dank ich dachte ich hätte alle erwischt. Mir ist nicht ganz klar warum Amazon hier nicht für eine abwärtskompatibilität gesorgt hat das wäre ja recht einfach gewesen.
Ich spreche jetzt mal ins unreine:
Mein Vorschlag wäre dass sobald ein V3 Parameter erkannt wird V3 angenommen wird und dann eine Warning oder ein Error gemeldet wird wenn auch noch V2 auftaucht.
Ein zusätzlicher Parameter bringt wieder das Problem mit dass die Frage ist was der Default sein soll.
Die meisten werden den Parameter gar nicht setzen.
Ich denke heute sollte default V3 sein. aber dann bekommen natürlich alle die noch nicht umgestellt haben meine warning die gar nicht nötig ist.
wenn man V2 als Default macht bekommen alle die das Plugin neu einrichten und den Parameter nicht setzen eine warning.
Daher mein Vorschlag. Mein Vorschlag ist also quasi ein autodetect.
Viele Grüße und noch einmal vielen Dank für das tolle plugin,
Hendrik
ich habe jetzt noch mal alle turnOn und turnOff mit einem großen T versehen und neu gestartet.
Damit wurden jetzt vier weitere Geräte gefunden.
Was mich wundert:
Also payloadVersion: "3" konfiguriere und abschicke, bekomme ich:
Code:
</head>
<body>
<h1>Error response</h1>
<p>Error code: 400</p>
<p>Message: Bad Request.</p>
<p>Error code explanation: 400 - unknown `header.namespace` 'Alexa.ConnectedHome.Discovery'.</p>
</body>
</html>
2019-12-01T16:04:11.923Z 551d8fef-8e7d-416e-81d0-9c23a2a3dd25 SyntaxError: Unexpected token < in JSON at position 0
at JSON.parse (<anonymous>)
at IncomingMessage.res.on (/var/task/index.js:39:24)
at emitNone (events.js:111:20)
at IncomingMessage.emit (events.js:208:7)
at endReadableNT (_stream_readable.js:1064:12)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickDomainCallback (internal/process/next_tick.js:218:9)
END RequestId: 551d8fef-8e7d-416e-81d0-9c23a2a3dd25
REPORT RequestId: 551d8fef-8e7d-416e-81d0-9c23a2a3dd25 Duration: 144.56 ms Billed Duration: 200 ms Memory Size: 512 MB Max Memory Used: 21 MB
RequestId: 551d8fef-8e7d-416e-81d0-9c23a2a3dd25 Process exited before completing request
Kurzer Spoiler zum nächsten Release, dann mit Web-Interface :
Anzeige aller Alexa-Devices mit zugeordneten Actions und entsprechendem shNG-Item
Action mit Payload V2 = rot, mit Payload V3 = grün, summarisch im Kopf grün wenn nur eine Payload-Version verwendet wurde, rot wenn zwei Payload-Versionen verwendet wurden.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar