[alexa-fhem | Generell] Alles zu Installation und damit verbundenen Problemen

Begonnen von prodigy7, 09 November 2016, 19:42:01

Vorheriges Thema - Nächstes Thema

justme1968

schritt zurück... was genau möchtest du denn tun?

ein verknüpfter fhem connector skill kann mit einer einzigen alexa-fhem instanz mehrere fhem installationen bedienen.

mehrere amazon konten mit jeweils einem fhem connector und einem fhem gehen auch problemlos.


mehrere fhem connector skills im gleichen amazon konto geht nicht. ich kann z.b. noch nicht mal den offiziellen skill verknüpfen weil ich immer die entwickler version bekomme.

einen zweiten skill veröffentlichen ginge vermutlich (logitech macht das mit dem harmony skill auch). aber das ist im fhem connector fall eigentlich nur für den entwickler sinnvoll. deshalb bereite ich das auch gerade vor. aber damit das geht fehlt noch die möglichkeit mehr als ein event token zu halten und wir brauchen im proxy noch die möglichkeit je nach token unterschiedliche oauth daten zu senden.

ein fhem connector und beliebig viele private skills geht natürlich. das event token handling fehlt hier aber ebenfalls noch.

ps: der connector ist der teil der bei amazon läuft. nicht bei dir. bei dir läuft alexa-fhem.

wenn es nur darum geht die installation auf einen neuen rechner umzuziehen: fhem wie immer kopieren. da stecken auch die daten für den proxy drin. zusätzlich noch das .ssh verzeichnis kopieren damit kein neuer key angelegt wird.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Invers

Danke für die ausführlichen Antworten. Gute Erklärung, habe ich sogar verstanden. :-)
Ich hatte schon befürchtet, dass es so nicht möglich ist. Ich habe deshalb alles auf dem neuen Rechner neu installiert.
Eine Kopie wollte ich nicht nutzen, da ich einmal mit meinem erworbenen Wissen komplett neu anfangen wollte.
Es ist also nicht schlimm.

Schönes WE.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Axxl

Hallo,

ich betreibe mein FHEM mit alexa in einem Docker Container. Das mit dem FHEM connectior funktioniert 1a.
Etwas umständlich ist aber die Tatsache, dass ich den proxy nach jedem Neustart des Containers erneut im fhemConnector eingeben muss.
Ich muss also in die Alexa App rein, FHEM Connector Skill deaktivieren, in FHEM Get Proxy Key (kopieren), in Alexa App FHEM connector neu aktivieren.

Würde es hilfen alexa-fhem in einem seperaten Container laufen zu haben ?

Wie macht Ihr das, die ihr FHEM im Docker betreibt, oder gibt es irgendwo eine Möglichkeit den Proxy Key auf FHEM Seite zu halten ?

Danke !

Medel

Hallo,

wo bekomme ich für die Datei "config.json" die daten für die Zeile:
"permissions": {"<skill-id>": { "client_id": "xyz", "client_secret": "123"}}
her?
1. "<skill-id>" = "applicationId"  ? (wenn ja muss sie eingetragen werden oder setzt "<skill-id>" den Wert automatisch)
2. "client_id" = "oauthClientID" ?
3. "client_secret" = ???

Gruß Mario

MadMax-FHEM

Willst du einen selbst erstellten Skill nutzen?
Oder einen Custom Skill?

Dann "bekommst" du die Daten dort wo du bei Amazon AWS Lambda deine Skills angelegt hast...

Wenn du "nur" Smart Home Skill nutzen willst, ist es einfacher den fhem Connector zu nutzen, da musst du in die config.json (normalerweise) gar nichts eintragen...

https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa

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)

Medel

Hallo,

habe beides aber der Custom Skill läuft nur mit der alten Version von Alexa-fehm. Da brauchte man diese Zeile noch nicht.
Stimmen die Punke 1 und 2 so wie ich vermute?
zu 3 ich habe soviel ich weiß keine "client_secret" gesetzt oder ich habe es  bis jetzt nicht gefunden. (Suche schon 2 Stunden)

MadMax-FHEM

Custom Skill geht auch mit der aktuellen alexa-fhem Version.
Du musst nur die Einträge aus deiner jetzigen config.json zusätzlich in die automatisch angelegte eintragen...

Port Weiterleitung brauchst du dann weiterhin.
Ob du dann Smart Home über den fhem Connector nutzt oder deinen selbst angelegten liegt bei dir.
Wenn den eigenen, dann halt auch die Dinge eintragen (oauth)...

Hatte das einige Zeit mit der neuen alexa-fhem Version laufen...

Client Secret hatte ich auch nicht eingetragen.
Ich hab nur die Dinge meiner bisherigen config.json zusätzlich eingetragen.

Allerdings dann bereits meinen eigenen Smart Home Skill nicht mehr genutzt, sondern da bereits den über den fhem Connector (reagiert [deutlich] schneller)...

Und dann durch Nutzung von Routinen auch meine Custom Skills rausgeworfen...

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)

Medel

Hallo,

habe jetzt alle Daten gefunden, auch die "client_secret". Leider bekomme ich mit der neuen Version immer noch den Fehler:

failed to refresh token: unauthorized_client: 'Not authorized for requested operation'

zuvor kommt auch die Meldung:

MyAlexa: no service type detected

beides in rot

MadMax-FHEM

Mit den gegebenen Infos kann man (zumindest ich) nichts anfangen...

Wie hast du installiert?
Laut alexa fhem Connector?

Vorher ALLES "alte" alexa-fhem (gesichert) gelöscht!?
(und Autostart deaktiviert)

Alexa-Device gelöscht!?

Logausgaben vom Start von alexa (alexa-fhem Log! Nicht fhem Log) posten...
config.json posten (pers. Daten halt entsprechend anonymisieren)...

An die config.json und das Log (alexa-fhem Log) kommst du über das Alexa-Device in fhem...

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)

Medel

Hallo,

ich habe die alte Version von Alexa  Fhem  deaktiviert die neue Installiert und manuel gestartet. Leider konnte ich dann meinen Custom Skill nicht mehr ansprechen, es kam immer die Meldung mit fehlenden permissions.
Nach dem ich dann herausgefunden habe dass sie config.json um die Zeile mit den permissions erweitert werden kann habe ich das gemacht. Nach stundenlanger Suche nach der Client Secret habe ich dann die zur ClientID passende bei AWS Amazon gefunden. Leider kommt jetzt diese Fehlermeldung

Medel

Hier die config.json:
{
    "alexa": {
        "port": 3000,
        "name": "FHEM",
        "keyFile": "/home/pi/.alexa/key.pem",
        "certFile": "/home/pi/.alexa/cert.pem",
        "nat-pmp": "xxx.xx",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.xxx",
        "oauthClientID": "amzn1.application-oa2-client.xxx",
"permissions": {"amzn1.ask.skill.xxx": { "client_id": "amzn1.application-oa2-client.xxx", "client_secret": "xxx"}}
     },
   
    "connections": [
        {
            "name": "FHEM",
            "server": "192.168.1.34",
            "port": "8083",
            "webname": "fhem",
            "filter": "room=alexa"
        }
    ]
}



MadMax-FHEM

Wie hast du deaktiviert?

Manuell starten ist mit/nach der alexa Connector Methode nicht nötig!

Wenn du sicher gehen willst, dass die neue Version von alexa-fhem sauber installiert wird, dann musst du (besser) ALLES "Alte" löschen!
Und dann nach der im alexa Connector beschriebenen Methode installieren.
Alexa-Device anlegen und dann die config.json (über das Alexa-Device erreichbar) erweitern...

Warum hast du die automatisch eingtragenen Einträge vom alexa fhem Connector rausgelöscht'?

Hast du auch die richtige config.json bearbeitet/gepostet!?
Hast du über das Alexa-Device in fhem zugegriffen!?

Es fehlt noch das alexa-fhem Log beim Start...

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)

Medel

Alexa Fhem läuft bei mir nicht auf dem gleichen Rechner auf dem Fhem läuft. weil ich auf diesen keine Portfreigabe machen möchte und es geht mit nur um den Custom Skill. Das geht ja noch nicht mit dem Connector

[30.6.2019, 08:44:33] os.homedir()=/home/pi
[30.6.2019, 08:44:33] using config from /home/pi/.alexa/config.json
*** CONFIG: parsed completely
[30.6.2019, 08:44:33] this is alexa-fhem 0.5.28
[30.6.2019, 08:44:33] connecting to FHEM ...
[30.6.2019, 08:44:35] [FHEM] trying longpoll to listen for fhem events
[30.6.2019, 08:44:35] [FHEM] starting longpoll: http://192.168.1.34:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1561877075023
[30.6.2019, 08:44:35] Server listening on: https://:::3000 for direct connections
[30.6.2019, 08:44:35] [FHEM] got csrfToken: csrf_913471279757934
[30.6.2019, 08:44:35] [FHEM] Checking devices and attributes...
[30.6.2019, 08:44:35] [FHEM]   executing: http://192.168.1.34:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&fwcsrf=csrf_913471279757934&XHR=1
[30.6.2019, 08:44:35] [FHEM]   executing: http://192.168.1.34:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&fwcsrf=csrf_913471279757934&XHR=1
[30.6.2019, 08:44:35] [FHEM] waiting for events ...
[30.6.2019, 08:44:35] [FHEM] Fetching FHEM devices...
[30.6.2019, 08:44:35] [FHEM] fetching: http://192.168.1.34:8083/fhem?cmd=jsonlist2%20room=alexa&fwcsrf=csrf_913471279757934&XHR=1
[30.6.2019, 08:44:35] [FHEM] alexa device is MyAlexa
[30.6.2019, 08:44:35] [FHEM]   executing: http://192.168.1.34:8083/fhem?cmd=%7B%24defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3B%7B%24defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20%3D%20%220.5.28%22%7D%3B%7B%24defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_913471279757934&XHR=1
[30.6.2019, 08:44:35] [FHEM]   executing: http://192.168.1.34:8083/fhem?cmd=%7B%24defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Blist%20MyAlexa%20.eventToken%3B%7B%24defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=csrf_913471279757934&XHR=1
*** FHEM: connected
[30.6.2019, 08:44:35] [FHEM] got: 31 results
[30.6.2019, 08:44:35] [FHEM] WohnzimmerNord is blind
[30.6.2019, 08:44:35] [FHEM] WohnzimmerNord has
[30.6.2019, 08:44:35] [FHEM]   CurrentPosition [pct]
[30.6.2019, 08:44:35] [FHEM]   TargetPosition [pct]
...
[30.6.2019, 08:44:35] [FHEM] got .eventToken
[30.6.2019, 08:44:35] refreshing token
[30.6.2019, 08:44:36] failed to refresh token: unauthorized_client: 'Not authorized for requested operation'

MadMax-FHEM

Wenn du den Connector nicht nutzt/nutzen willst, weiß ich nicht, ob das mit der neuesten Version von alexa-fhem geht...

EDIT: weiß nicht, ob alexa-fhem dann "stoppt" wenn es keine Verbindung zum fhem-Connector bekommt...

Die Fehlermeldung sieht danach aus, als ob eben genau das fehlschlägt ("Anmeldung" fhem Connector)...

Müsstest du mal im dazugehörigen Thread fragen oder den Thread-Titel anpassen (oder auch einen neuen passenden Thread aufmachen)...

Was bei mir schon lief:

Testsystem mit lokal installiertem fhem und "alt" alexa fhem Custom und Smart Home (eigen, also Portfreigabe)...

Dann (nach einiger Zeit) 2tes Testsystem (mit fhem) mit neuem alexa-fhem (fhem Connector, Umstieg von "alt" auf "neu" / zunächst also noch mal neu das "alte" alexa-fhem aufgesetzt und dann "Umstieg" auf fhem-Connector-Version) und erweiterter config.json (Smart Home Geräte Testsystem 1 und Custom Skill Testsystem 1). Dann "Umstieg" von "eigenem" Smart Home auf fhem-Connector (Port nur noch wegen Custom). Reagiert schneller als der "eigene" Smart Home (weil ja immer irgendwer den Connector mal benutzt und somit Amazon schon mal "wach" ist ;)  ).

Dann (vor kurzem) auf dem Hauptsystem Installation von alexa-fhem (fhem Connector) mit angepasster config.json: Zugriff auf fhem Test 1 und fhem Test 2 (also "alexa Geräte" "von dort") und "deaktivieren"  der Custom Skills, da ich eh nur nur noch wenig damit gemacht hab. Mache nun einiges mit Routinen... Also nun auch Port zu!

EDIT: und jetzt ziehe ich dann die Geräte, die ich wirklich brauche/will (sinnvoll sind) langsam auf das Hauptsystem und dann kann ich die Erweiterungen der config.json auch raus machen...

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)

Medel

Kann man mit Alexa  bzw über den Connector jetzt schon die Rolladen mit anderen Kommandos steuern als nur mit Prozent angaben?