alexa-fhem: amazon alexa smart home skill für fhem

Begonnen von justme1968, 05 November 2016, 23:21:32

Vorheriges Thema - Nächstes Thema

cpet

Es ist auch gar nicht nötig ein Gerät "Licht" zu nennen,
wenn alles richtig zugeordnet ist (genericDeviceType: light) kann man selbst wenn das
Gerät anders heißt sagen Alexa schalte das Licht im Raum xy an.
RPI 3 mit 1x SCC 868MHz für FS20; 1x SCC 433MHz SlowRF; 1x SCC 868MHz Homematic;
Rollladen-/Markisensteuerung, Fußboden-Heizungssteuerung 
diverse Licht-/Schaltungssteuerungen
ALEXA-Integration;
Statusmeldungen über  Fernseher

sn0000py

Also ja ich bin mir sicher das das richtige Gerät reagiert hat, die anderen alexa sind weit weg und ne tür dazwischen.
Und wie gesagt, einmal mit "alexa licht ein" wurde mir auch ein Licht eingeschaltet, das in einer Gruppe war wo gar keine Alexa drinnen ist.

Am Pc in der Web Oberfläche von alexa ist die übersicht total komisch, da steht zb in der Gruppe Wohnzimmer das 5 Geräte drinne sind, aber drinnen sieht man dann nur 3. oder das Die ganzen Alexas noch die alten namen haben, oder das in den Gruppen wo eigentlich eine Alexa drinn sein sollte keine Alexa drinnen ist.

Per Handy mit der App, da passt alles, sieht alles so aus wie es sollte.

Kann man da noch irgendwo nachsehen, was der Grund für dieses fehlverhalten sein kann?

MadMax-FHEM

Wenn du Namen der Echos oder Gruppen geändert hast: evtl. ist tatsächlich auf Amazon Seite was "durcheinander"...

Ich hab auch kürzlich meinen alten Echo1 per trade-in gegen einen Echo4 "getauscht".

Zunächst wirklich getauscht.

Dann aber beschlossen, dass ich den neuen ins Büro haben will...

Also flux den alten Büro in Büro2 umbenannt und dann den neuen Büro.

Den Büro2 dann eben in Wohnzimmer...

Da hat auch immer der "alte Büro" (jetzt ja Wohnzimmer) Musik gespielt, wenn ich gesagt habe: Alexa spiel Musik im Büro.

Obwohl der ja mittlerweile Wohnzimmer hieß...

Beim Abspielen von Musik auf Wohnzimmer per App hat funktioniert...

Kontakt mit Amazon: bitte setzen sie die beiden Echos zurück usw.

Erst dachte ich, ich warte noch etwas, irgendwann muss das doch "system-weit" bekannt sein...

Aber: per Sprache hat das nie funktioniert (hab so 5-6h gewartet).
Nach dem Zurücksetzen und neu Anlernen ging es dann...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

sn0000py

Was genau hast du da dann zurückgesetzt?

Die Gruppen gelöscht und neu erzeugt?

Ich hätte mal versucht alle alexa Geräte zu löschen und neu zu suchen, das resultat war, das einzelene Echos wieder mit dem alten namen im Web Alexa angezeigt werden?

MadMax-FHEM

#4369
Ich habe (wie geschrieben) 2 Echos "getauscht".

Also: Echo-Wohnzimmer <-> Echo-Büro
(vorher Echo-Wohnzimmer abgelernt und zurückgesetzt [und per trade-in an Amazon] und durch einen neuen Echo4 ersetzt)

Danach hat per SPRACHE immer noch der alte Büro (jetzt Wohnzimmer) Musik gespielt.
Per APP hat das Abspielen auf Büro geklappt, d.h. der "neue" Büro-Echo hat auch gespielt.

Gruppen nutze ich nicht, außer einer Multiroom für Musik.

Ich habe meine Echos nach den Zimmern benannt in denen sie stehen...

EDIT: ich schalte meine Geräte durch direktes ansprechen. Soviele hab ich nicht (wo ich sinnvoll per Sprache steuern will) und das kann ich mir merken... ;)

EDIT: und wie geschrieben reagiert auch nicht immer der Echo, wo ich denke er "sollte"... Ich laufe halt rum und schalte schon mal ein/aus während ich andere Dinge tue. Ansonsten ist Sprachsteuerung (für mich) Quatsch. Da ist deutlich schneller ein Schalter gedrückt oder ein Knopf auf der FB...

Wollte nur andeuten, nicht, dass eben auch bei dir seitens AMAZON was nicht passt...

Gruß, Joachim

Nachdem ich beide Echos zurück gesetzt hatte und neu (unter dem jetzt gewünschten NAMEN) angelernt hatte geht es auch per Sprache...
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

sn0000py

Kannst du mir noch sagen wie du ein Gerät zurückgesetzt hast?

Habe im web mal alles gelöscht da waren keine Geräte mehr da, und dann neu angelernt.

Unter den Amazon Geräten imWeb scheint der mit dem richtigen Namen auf. alexaKueche, unter den Smart Home Geräten geht dieses Gerät ab, dafür habe ich den da dann mit dem alten Namen "... 2 Echo Dot" auf.

Im prinzip wärs mir ja egal, nur weiss ich nicht ob das dann nicht wieder Probleme macht.


Ich würde das schon gerne mit den Gruppen benutzen, da es trotzdem praktisch ist, wenn ich nicht immer "fernseher Wohnzimmer, fernseher SChlafzimmer" usw sagen muss, oder auch beim Licht, da ich mit "Schalte Licht ein" ich 95% der Fälle erledigt hätte.

MadMax-FHEM

Also noch mal zur Sicherheit: ich habe die ECHOS (also die Amazon-Dinger) zurückgesetzt!

Wie das jeweils geht besser bei Amazon nachlesen, da das irgendwie jeder Echo-Typ anders "haben will" ;)

Vorher habe ich ihn aus meinem Konto "entfernt".
Da meldet der Echo eh schon, dass er jetzt "heimatlos" wäre und konfiguriert werden müsste.

Zur Sicherheit habe ich ihn dann aber auch direkt am Gerät noch mal zurück gesetzt.
(Trotzdem scheint sich das Gerät oder das was dennoch bei Amazon hinterlegt ist/war etwas zu merken / d.h. es war nach dem neu Anlernen einiges noch da und anderes weg / es hat auch etwas gedauert, bis ich das Wake-Word ändern konnte [war wieder auf Alexa] / und: ich konnte das nur über die App, NICHT per Browser / Also ich bin nicht sicher, ob da Amazon doch noch etwas an der "unterlagerten" Datenbasis "sauberer" werden müsste)

Auswirkungen hatte ich keine.
Außer nat. Wake-Word (und andere Töne? Aber wie geschrieben: einige Dinge wurden NICHT "vergessen" / andere schon / was genau weiß ich nicht mehr, ich bin einfach so lange/oft durch die Konfiguration, bist ich denke alles wieder so gehabt zu haben wie ich wollte/hatte).
Auch in die Multiroom-Gruppe musste ich das nat. wieder aufnehmen...

Aber wie geschrieben: danach ging es.

Mehr Hilfe habe ich von Amazon nicht bekommen.
Der "nette MA" wollte partout, dass ich zurücksetze.
Meinen Einwand, dass das ja keine Lösung sein kann, immer wenn etwas nicht passt (und das kommt schon mal vor ;)  ) zurückzusetzen (am Ende noch inkl. Router und Co)...
...hat er "aufgenommen", das war's.

Also evtl. auch mal Kontakt zu Amazon aufnehmen.
(Wobei wahrscheinlich da [auch] kommt: bitte mal die "fehlerhaften" Geräte [Echos] zurücksetzen und [evtl.] auch die [fehlerhaften] Gruppen löschen und dann noch mal neu)

Ich denke es ist auf Seiten Amazon was "verdreht".

Bzw. mal im alexa-fhem Log schauen (ja evtl. schon gepostet, habe ich jetzt nicht mehr im Kopf ;)  ) was denn da kommt.
Also ob Amazon bereits verkehrt schickt (dann kann das nur DORT "gelöst" werden) oder ob in alexa-fhem was "durcheinander" geht...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

call_me_driver

Hey, ich bin langsam mit meinem Latein am Ende, vielleicht finde ich hier hilfe :)

Ich hatte alexa-fhem jetzt gut 2 Jahre (oder länger) problemlos am laufen. Letzte Woche hat dann
allerdings ein Stromausfall meine SD-Karte geschrottet und ich hatte nur das FHEM-Backup, also hab
alexa-fhem neu installieren müssen.

- Amazon-Einstellungen sind noch alle da
- Port-Freischaltung in der FritzBox geht
- DynDNS läuft (ip passt auch)
- Skill ist in Amazon verbunden
- Raum "alexa" (identisch config.json) hinterlegt wo aktuell 1 Gerät drin ist.

Des Alexa-Gerät in FHEM scheint auch die richtigen Einstellungen zu haben, zumindest deute ich die Readings so.
ZitatalexaFHEM : running /usr/local/bin/alexa-fhem
alexaFHEM.ProxyConnection: running; SSH connected

Wenn ich ins FHEM-Logfile vom Alexa-Gerät schaue, dann seh ich keine Fehler, und des eine Gerät wird auch erkannt.

Aber mein Echo findet nichts.

jmd ein ansatzpunkt für mich?

MadMax-FHEM

#4373
Oh, das mit Port offen und eigener Lambda-Funktion bei Amazon ist aber auch schon alt... ;)

Nutzt du Custom Skill?

Wenn nicht, dann stell doch komplett auf alexa-fhem Connector um.
Entweder den Filter in der alexa-fhem.cfg (by the way: hast du DORT deine Skill-Cridentials eingetragen!!?) von "alexaName=..*" umstellen auf "room=alexa" oder bei deinen Devices eben alexaName setzen.

Und den "offiziellen" fhem Skill verknüpfen...
...wie im Connector Wiki beschrieben...

Achja: offenen Port und das Zeugs bei Amazon brauchst du dann auch nicht mehr... :)

Wenn du Custom Skill nutzt: Credentials für deine Custom Skill in der alexa-fhem.cfg eingetragen (siehe auch "oben")!?
Weil wenn du alexa-fhem wie im "Connector-Wiki" installiert hast, dann ist die alexa.json ja nicht mehr unter .alexa/ sondern /opt/fhem/ und heißt alexa-fhem.cfg

Steht was im alexa-fhem Log?
"Erreichbar" über das Alexa-Device...

Mehr Ideen hab ich grad nicht...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

call_me_driver

#4374
ich hab bisher den custom-skill verwendet wie in nem beitrag von haus-automatisierung.com mal beschrieben.

den connector kannte ich noch nicht (never change a running system), daher würde ich den weg doch bevorzugen.
die zwei kommen sich hoffentlich nicht in die quere, oder?

- installiert mit sudo npm install -g alexa-fhem
- alexa-fhem.cfg hab ich auf room=alexa umgestellt

was für credentials meinst du? davon is im fhem-connector-beitrag nichts zu sehen

die restlichen prüfungen im connectar-beitrag (recht für .ssh, laufende prozesse usw) sind alles wies sein soll.

bekkomm vom connector skill aber ein
NOT online - no SSH session established




MadMax-FHEM

#4375
Also dann noch mal langsam:

früher (da wo vermutlich das Video etc. her ist) gab es nur die Möglichkeit selbst bei Amazon eine Lambda-Funktion zu hinterlegen.

Einen Port zu öffnen.

D.h. die Anfragen liefen da über die eigene Lambda bei AWS und dem eigenen fhem per offenem Port.

DAZU hast du bei AWS eben "Cridentials" angelegt clientoauth oder so.
Die müssen nat. in der config.json (früher) stehen.

Mit dieser Möglichkeit gab es den Smart Home Skill UND Custom Skill!

Wichtig: das sind ganz unterschiedliche "Baustellen"!

Noch mal: nutzt du "nur" diese Art von alexa-fhem/Alexa ODER wirklich Custom Skill!?
Für den Custom Skill musstest du "damals" noch extra einen "Trigger" anlegen!
Wenn du das nicht hast: dann nutzt du "nur" Smart Home Skill!

Für den Custom Skill gibt es eben auf AWS Seite weitere "Cridentials" skillid? die muss nat. für den Custom Skill in der config.json stehen...

Also wenn du mal in deine "alte" config.json schaust siehst du wovon ich rede und auch ob du "nur" Smart Home Skill oder tatsächlich Smart Home UND Custom Skill nutzt...


https://wiki.fhem.de/wiki/Alexa-Fhem#Abgrenzung_des_Alexa_Smart_Home_Skills_und_des_Alexa_Custom_Skills
(das ist das Wiki zum "alten" Weg bzw. für diejenigen die einen Custom Skill wollen/brauchen  /  wobei die Screens bzgl. AWS Lambda etc. inzwischen wohl gar nicht mehr stimmen dürften)


"Neu": der "Verkehr" läuft über den fhem-Vereins-Server statt über AWS. Es braucht keinen offenen Port, da fhem nach außen ruft und nicht mehr Amazon nach "innen" muss ;) Daher muss auch kein "Credential" mehr in der config.json stehen, die jetzt (eben wie erwähnt) woanders liegt und auch anders (alexa-fhem.cfg) heißt. Allerdings muss halt jetzt in der Alexa-App der fhem Skill aktiviert werden und mit dem lokalen fhem "verknüpft" werden. Proxy-Key gibt es über das Alexa-Device.


Wenn du "nur" den Smart Home Skill genutzt hast, dann wie oben geschrieben: einfach entweder den Filter in der alexa-fhem.cfg anpassen ("früher" war eben room=alexa / "neu" ist alexaName=..*) oder eben alle Devices mit einem alexaName Attribut versorgen.

Nach der Umstellung sollte sich nichts ändern.
(nicht vergessen den fhem Skill zu verknüpfen)

Den offenen Port brauchst du nicht mehr und auch das Zeugs auf AWS kannst du löschen...

Wenn du den Custom Skill genutzt hast (wichtig wirklich den Custom Skill!!! Nicht einfach "nur" den "alten" Weg einer Echo-Steuerung), dannmusst du halt den Port offen lassen und die Custom Skill Einträge aus der "alten" config in die neue config übertragen...


EDIT: noch mal zum Prüfen: "früher" war die Konfiguration in /HomeDesUsersDerAlexa-FhemStartet/.alexa/config.json   /    "neu" ist sie über "Edit Files" in fhem erreichbar und heißt alexa-fhem.cfg (die wird "leer" also ohne eigene Smart Home Skill clientoauth oder Custom Skill credentials mit der Installation von alexa-fhem per "sudo npm install -g alexa-fhem" angelegt) und liegt unter /opt/fhem/alexa-fhem.cfg )


Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

call_me_driver

o gott - hab jetzt schon n schlechtes gewissen - aber danke für die mühe...

Zitat
DAZU hast du bei AWS eben "Cridentials" angelegt clientoauth oder so.
Die müssen nat. in der config.json (früher) stehen.

genau. applicattionId und oauthclientID ... beides urls mit amzn1.xxxx und dann hinten eine Zeichenkette mit M...
des steht (wie im video beschrieben) in der json-datei drin.

ZitatFür den Custom Skill musstest du "damals" noch extra einen "Trigger" anlegen!
von nem trigger weiß ich etz nix. also dann doch nicht den custom skill, sondern nur smart home skill

aber die methode würde ich jetzt mal weglassen. die port-freigabe stört mich eh, und wenn ich den skill entsorgen kann machts mir auch nix.

...
zu dem neuen connector:
- die alexa.cfg liegt in /opt/fhem und wurde auf room=alexa angepasst.
- alexa-fhem wurde mit npm installiert
- proxyKey gibt mir einen Key zurück den ich beim aktivieren des Skills eingebe

aber der fhem-skill sagt weiterhin -> Status SSH: NOT online - no SSH session established


MadMax-FHEM

#4377
Bevor du "umgestiegen" bist hattest du noch "alte Reste" von alexa-fhem!!?

WEIL: da hättest du besser VORHER ALLES gelöscht (wie im Wiki unter "upgrade"/"Umstieg" zu lesen)!!

Was steht denn im alexa-fhem Log (NICHT fhem Log)?

Erreichbar über das Alexa-Device...

applicationID ist für einen Custom Skill (wirst du schon merken, wenn was nicht mehr tut ;)  / dann aber einfach die applicationID etc. in die neue Config alexa-fhem.cfg eintragen und nat. den Port wieder öffnen und nat. die Sachen bei AWS nicht löschen ;)  )

clientoauth ist für den Smart Home Skill (der wird 1:1 durch alexa-fhem "abgelöst", brauchst du nicht mehr!)

Und: mach dir mal keinen Kopf ;)
Alles gut... :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

call_me_driver

so - nase voll gehabt :)

hatte außer wlan und fhem sowieso noch nix eingerichtet, also hab ich nen nochmal platt gemacht und des mit dem connector gemacht.
und schau einer an - es ging ganz easy :) war wohl doch zu viel müll und durcheinander drauf von der anderen installation.

vielen dank für deine hilfe. ohne dich würd ich jetzt immer noch an der alten methode rumdoktern :)

MadMax-FHEM

Na dann...
Gerne! :)

Wenn dir doch Sachen vom Custom Skill fehlen einfach melden oder selber "einfach" die entsprechenden Einträge aus der alten config.json in die neue alexa-fhem.cfg "übertragen"...
Dann halt wieder Port öffnen und weiterleiten...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)