Einladung zum Beta-Test: "FHEMlazy" zur einfacheren Alexa-Integration

Begonnen von gvzdus, 23 Dezember 2018, 15:30:36

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

homebridgeMapping würde ich denken...

Schon im Forum gesucht?

Evtl. hilft das bzw. wird dort ähnlich "gefragt":
https://forum.fhem.de/index.php/topic,117172.msg1115421.html#msg1115421

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)

netbus

noch eine Frage.
Kann ich mit diesem Modul auch auswerten von welchem Echo der Befehl kam?

MadMax-FHEM

Nur mit einem Custom Skill...

Wenn sicher immer nur ein Echo "empfängt", dann ginge es noch mit dem echodevice-Modul.
Dort hat jedes Echo-Device ein "voice-Reading"...
https://forum.fhem.de/index.php/topic,82631.msg747482.html#msg747482

Aber: https://forum.fhem.de/index.php/topic,82631.msg1117842.html#msg1117842

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)

Kohle77

Hallo,
ich sehe ein das ich besser den original thread von mir verwende.
Also hier https://forum.fhem.de/index.php/topic,116862.0.html

Gruß
Christian

Darkmann

Hallo,

ich hab bei mir den Connector eingerichtet. So prinzipiell funktioniert es. Nur im Log hab ich immer diese Meldung.


2021.01.18 13:32:51 2: LOGIN TOKEN MISSING OR EXPIRED
2021.01.18 13:32:51 3: Reconnecting...
2021.01.18 13:32:51 2: {"token_type":"Bearer","access_token":"eyJ0eXAiOiJKV1QiLC
2021.01.18 13:37:51 2: LOGIN TOKEN MISSING OR EXPIRED
2021.01.18 13:37:51 3: Reconnecting...
2021.01.18 13:37:51 2: {"token_type":"Bearer","access_token":"eyJ0eXAiOiJKV1QiLC
2021.01.18 13:42:51 2: LOGIN TOKEN MISSING OR EXPIRED
2021.01.18 13:42:51 3: Reconnecting...
2021.01.18 13:42:51 2: {"token_type":"Bearer","access_token":"eyJ0eXAiOiJKV1QiLC
2021.01.18 13:47:51 2: LOGIN TOKEN MISSING OR EXPIRED
2021.01.18 13:47:51 3: Reconnecting...
2021.01.18 13:47:51 2: {"token_type":"Bearer","access_token":"eyJ0eXAiOiJKV1QiLC
2021.01.18 13:52:51 2: LOGIN TOKEN MISSING OR EXPIRED
2021.01.18 13:52:51 3: Reconnecting...
2021.01.18 13:52:51 2: {"token_type":"Bearer","access_token":"eyJ0eXAiOiJKV1QiLC...............}
2021.01.18 13:57:51 2: LOGIN TOKEN MISSING OR EXPIRED
2021.01.18 13:57:51 3: Reconnecting...
2021.01.18 13:57:51 2: {"token_type":"Bearer","access_token":"eyJ0eXAiOiJKV1QiLC...............}
2021.01.18 14:02:51 2: LOGIN TOKEN MISSING OR EXPIRED
2021.01.18 14:02:51 3: Reconnecting...
2021.01.18 14:02:51 2: {"token_type":"Bearer","access_token":"eyJ0eXAiOiJKV1QiLC...............}
2021.01.18 14:07:51 2: LOGIN TOKEN MISSING OR EXPIRED
2021.01.18 14:07:51 3: Reconnecting...



Wo kann ich da schauen warum das so ist? Weil Geräte schalten kann ich ja.

Gruß

gvzdus

Ich finde jetzt keine Stelle im Code von alexa-fhem, wo z.B. "Reconnecting" steht.
Aber egal: Ich vermute, es geht um den Update "FHEM triggert Nachrichten an Alexa". Den Effekt, dass da Token expiren, kenne ich, ohne die Ursache gefunden zu haben.

Skill deaktivieren und neu verbinden hilft. Aber man braucht es eh nur, wenn FHEM selber Alexa triggern soll.

Alles unter der Maßgabe, dass Du vom "einfachen Smarthome-Skill" über FHEM-Connector sprichst.

Darkmann

Hi,

hab den Übeltäter gefunden hat nichts mit alexa-fhem zu tun. Aber andere Frage, kann ich über den Connector Alexa etwas sagen lassen? z.B wenn die Waschmaschine fertig ist das FHEM das an Alexa übergibt und diese dann sagt "Waschmaschine ist fertig"

Gruß

gvzdus

Ja. Siehe hier:
https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa#Aktiv_Routinen_starten

Du trickst der Dame einen Schließkontakt o.ä. als Dummy vor, und konfigurierst in der App, was dann geschehen soll bzw. gesagt werden soll

MadMax-FHEM

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)

TimoD

Irgendwie habe ich das Gefühl ich bin zu doof,.... habe alexa laut Anweisungen eingerichtet. Aber mein .ssh Ordner ist leer womit ich die Fehlermeldung bekomme:

SSH: stderr: Warning: Identity file /opt/fhem/.ssh/id_rsa not accessible: No such file or directory.

Nun finde ich aber auch nicht, was ich tun muss um die benötigten Dateien im ssh Ordner für Alexa zu erhalten,...

Bitte helft mir auf die Sprünge,... DANKE!

gvzdus

Bitte ein paar mehr Logzeilen um die Meldung drum herum aus dem alexa-Logfile!

Das .ssh-Verzeichnis sollte bei einem ls etwa so aussehen:

ls -dl /opt/fhem/.ssh
drwx------ 6 fhem dialout 4096 Jan 19  2019 /opt/fhem/.ssh


TimoD

Also, ich habe folgendes getan:

Über ssh (User PI):

sudo npm install -g alexa-fhem

Dies hat Alexa-FHEM nicht unter FHEM installiert. Ich habe dann händisch Alexa-FHEM in den Ordner fhem verschoben und im Ordner erneut nem install ausgeführt.

im Anschluss habe ich im Ordner versucht ./createKey ausgeführt. Dies hat erfolgreich funktioniert.

Wenn ich nun im Ordner .ssh einen ls -l machen (funktioniert nur als sudo) bekomme ich:

pi@raspberrypi:/opt/fhem $ sudo ls -l -a .ssh
total 8
drwx------  2 fhem dialout 4096 Jan 27 16:26 .
drwxr-xr-x 19 fhem root    4096 Jan 27 16:26 ..

Nun habe ich im FHEM ein Alexa Device angelegt (erneut). Im Anschluss ans hinterlegen der Anmelde Informationen user:pw

bekomme ich folgende Ausgabe im Device:


alexaFHEM running /usr/local/bin/alexa-fhem
alexaFHEM.ProxyConnection stopped; Terminated with Host key verification failed. , ssh will restart at 16:44:36


Im Log steht dabei folgendes:


[2021-1-27 16:42:36] Reading alexaFHEM.ProxyConnection set to starting;; starting SSH
[2021-1-27 16:42:36] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20starting%3B%3B%20starting%20SSH%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2021-1-27 16:42:36] Starting SSH with -R 1234:127.0.0.1:41483 -oServerAliveInterval=90 -i /opt/fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de
[2021-1-27 16:42:36] Reading alexaFHEM.ProxyConnection set to running;; stderr=Warning: Identity file /opt/fhem/.ssh/id_rsa not accessible: No such file or directory.
[2021-1-27 16:42:36] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20running%3B%3B%20stderr%3DWarning%3A%20Identity%20file%20%2Fopt%2Ffhem%2F.ssh%2Fid_rsa%20not%20accessible%3A%20No%20such%20file%20or%20directory.%20%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2021-1-27 16:42:36] *** SSH: stderr: Warning: Identity file /opt/fhem/.ssh/id_rsa not accessible: No such file or directory.
[2021-1-27 16:42:36] Reading alexaFHEM.ProxyConnection set to running;; stderr=Host key verification failed. 
[2021-1-27 16:42:36] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20running%3B%3B%20stderr%3DHost%20key%20verification%20failed.%20%20%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[2021-1-27 16:42:36] *** SSH: stderr: Host key verification failed. 
[2021-1-27 16:42:36] SSH: exited with 255 - will restart in 119.82098374881366 seconds
[2021-1-27 16:42:36] Reading alexaFHEM.ProxyConnection set to stopped;; Terminated with Host key verification failed.  , ssh will restart at 16:44:36
[2021-1-27 16:42:36] [FHEM]   executing: https://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bsetreading%20alexa%20alexaFHEM.ProxyConnection%20stopped%3B%3B%20Terminated%20with%20Host%20key%20verification%20failed.%20%20%2C%20ssh%20will%20restart%20at%2016%3A44%3A36%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1


Und dann startet es wieder von vorn.

Die Frage ist nun,
1. Habe ich mit meinem PI User "sudo npm install -g alexa-fhem" korrekt installiert (Ich kann mich nicht mit fhem User über die Konsole verbinden)
2. Muss ich die Schritte aus dem Wiki Alexa-Fhem ebenfalls durchführen?
3. der .ssh Ordner unter ist leer. Wie ist der Prozess bis die Dateien wie id_rsa erstellt werden?


Vorab mega vielen Dank. Wenn es tut gebe ich einen Kaffee aus!

Update:
bin inzwischen als User fhem angemeldet und habe ssh-keygen ausgeführt die Dateien und die Berechtigungen müssten passen. Leider ohne Erfolg.

gvzdus

Maßgeblich ist nur die Anleitung hier:
https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa

./createKey gehört da z.B. nicht dazu. Das Wunder ist, dass Dein .ssh-Ordner leer bleibt. Die Permissions sehen richtig aus, aber spätestens nach Deinem manuellen "ssh-keygen" hätte ja nun da etwas drin sein müssen?

Eigentlich läuft beim Start des Alexa-Devices (Anlegen, oder oben rechts ein- und ausschalten) eine Sequenz ab, die so ziemlich alles macht: Gucken, ob ein SSH-Key da ist, wenn nicht, einen anlegen, und dann diesen beim Server registrieren u.s.w.

Der Block, in dem diese Sequenz abläuft, beginnt im Logfile hier:

[25.1.2021, 19:24:06] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[25.1.2021, 19:24:06] os.homedir()=/root
[25.1.2021, 19:24:06] os.homedir() set to /root, but this is not writable
[25.1.2021, 19:24:06] process.env.HOME=/root
[25.1.2021, 19:24:06] process.env.HOME set to /root, but this is not writable
[25.1.2021, 19:24:06] process.env.HOMEPATH=undefined
[25.1.2021, 19:24:06] process.env.USERPROFILE=undefined
[25.1.2021, 19:24:06] process.env.PWD=/opt/fhem
[25.1.2021, 19:24:06] this is alexa-fhem 0.5.57
[25.1.2021, 19:24:06] connecting to FHEM ...
...
[25.1.2021, 19:24:09] *** SSH: checking proxy configuration
[25.1.2021, 19:24:09] sshautoconf: home=/opt/fhem, spath=/opt/fhem/.alexa, cpath=./alexa-fhem.cfg, sshpath=/opt/fhem/.ssh
[25.1.2021, 19:24:09] Passed config: {"connections":[{"webname":"fhem","uid":999,"auth":{"pass":"XXXXXXX","sendImmediately":false,"user":"fhemuser"},"port":"8083","filter":"alexaName=...*","server":"127.0.0.1","name":"FHEM","Xreport":false}],"sshproxy":{"ssh":"/usr/bin/ssh","description":"FHEM Connector","options":["-i","/opt/fhem/.ssh/id_rsa","-p",58824,"fhem-va.fhem.de"],"bind-ip":"127.0.0.1","server":{"_events":{},"_eventsCount":3,"_connections":0,"_handle":{"reading":false,"onread":null},"_usingWorkers":false,"_workers":[],"_unref":false,"allowHalfOpen":true,"pauseOnConnect":false,"httpAllowHalfOpen":false,"timeout":0,"keepAliveTimeout":5000,"maxHeadersCount":null,"headersTimeout":40000,"_connectionKey":"4:127.0.0.1:0"}}}
[25.1.2021, 19:24:09] sshautoconf: SSH key seems to exist
u.s.w.


Besonders alles rund um "sshautoconf" ist relevant. Dazwischen stehen - nicht der Übersichtlichkeit dienend - auch sehr viele FHEM-Zeilen, weil das Einlesen der Geräte parallel läuft.

MadMax-FHEM

Zitat von: gvzdus am 27 Januar 2021, 18:11:30
./createKey gehört da z.B. nicht dazu. Das Wunder ist, dass Dein .ssh-Ordner leer bleibt. Die Permissions sehen richtig aus, aber spätestens nach Deinem manuellen "ssh-keygen" hätte ja nun da etwas drin sein müssen?

Nicht, wenn es mit dem User pi läuf, oder!?

Und das "Rumschieben" von "global" installierten node-Paketen (das "sagt" das -g) ist auch nicht hilfreich...

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)

gvzdus

ZitatNicht, wenn es mit dem User pi läuf, oder!?

Dann nicht, aber er schreibt ja nun explizit "sich als User fhem angemeldet". Mal abwarten.