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

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

Vorheriges Thema - Nächstes Thema

Reinhart

so, Fernwartung steht, hier die Rechte.

pi@raspberrypi:~ $ sudo ls -ld /opt/fhem
drwxrwxrwx 13 fhem dialout 4096 Feb 15 13:44 /opt/fhem


pi@raspberrypi:~ $ cd /opt/fhem/
pi@raspberrypi:/opt/fhem $ ls -al
insgesamt 1090120
drwxrwxrwx 13 fhem dialout       4096 Feb 15 13:44 .
drwxr-xr-x  9 root root          4096 Feb 15 11:20 ..
drwx------  2 fhem dialout       4096 Feb 15 13:38 .alexa
-rw-r--r--  1 fhem dialout        311 Feb 15 13:44 alexa-fhem.cfg
-rw-r--r--  1 fhem dialout        311 Feb 15 13:37 alexa-fhem.cfg.previous
-rwxr-xr-x  1 fhem dialout     278762 Feb 15 12:23 CHANGED
-rwxr-xr-x  1 fhem dialout      39624 Feb 15 12:23 configDB.pm
drwxr-xr-x 40 fhem dialout       4096 Mär 25  2017 contrib
-rwxr-xr-x  1 pi   pi            2183 Jul  4  2017 db.conf
drwxr-xr-x  3 fhem dialout       4096 Mär 25  2017 demolog
drwxr-xr-x  4 fhem dialout       4096 Mai 22  2018 docs
drwxr-xr-x  6 fhem dialout      20480 Feb 15 13:44 FHEM
-rwxr-xr-x  1 fhem dialout      65517 Feb 15 13:44 fhem.cfg
-rwxr-xr-x  1 pi   pi          232266 Jul  4  2017 fhem.cfg.de
-rwxr-xr-x  1 fhem dialout      19987 Jän 11 14:00 fhem.cfg.demo
-rwxr-xr-x  1 pi   pi      1115232256 Feb 15 13:02 fhem.db
-rwxr-xr-x  1 fhem dialout      32768 Feb 15 14:39 fhem.db-shm
-rwxr-xr-x  1 fhem dialout          0 Feb 15 13:02 fhem.db-wal
-rwxr-xr-x  1 fhem dialout     155902 Feb 15 12:23 fhem.pl
drwxr-xr-x  3 pi   pi            4096 Mär 27  2017 icons
drwxr-xr-x  2 fhem dialout      20480 Feb 15 12:28 log
-rwxr-xr-x  1 pi   pi           20611 Jul  4  2017 main.html
-rwxr-xr-x  1 fhem dialout      39599 Feb 15 12:23 MAINTAINER.txt
-rwxr-xr-x  1 fhem dialout        910 Jul  4  2017 README_DEMO.txt
drwxr-xr-x  8 fhem dialout       4096 Jän 11 14:00 restoreDir
drwx------  2 fhem dialout       4096 Feb 15 12:43 .ssh
drwxr-xr-x  2 pi   pi            4096 Jul  4  2017 unused
drwxr-xr-x 12 fhem dialout       4096 Mär 30  2017 www


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

gvzdus

Dann mach mal den

sudo chmod 755 /opt/fhem

drwxrwxrwx 13 fhem dialout       4096 Feb 15 13:44 .

ist falsch.

P.S. Ich habe mir das Debian-Paket runtergeladen und mal reingeguckt. Woher das drwxrwxrwx (vulgo: 0x777) kommt, verstehe ich nicht - im Deb-Package steht es richtig drin:

drwxr-xr-x root/root         0 2017-02-19 14:09 ./opt/fhem/

Danach wird der Eigentümer gesetzt:

chown -R fhem:dialout /opt/fhem

Ich kann also keinen Fehler im Debian-Paket erkennen.

Reinhart

super das wars!

D.h. du prüfst jetzt ob die Rechte exakt stimmen sonst gehts hier nicht weiter!

Danke für deine Unterstützung!

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

gvzdus

Ja. Ich mache das explizit im Code, weil sonst definitiv der SSH die Arbeit verweigern würde mit einer etwas weniger deutlichen Fehlermeldung.
Andererseits habe ich mich nicht getraut, das das Skript automatisch machen zu lassen - dafür ist mir der Eingriff etwas hart.

Die Permissions hast Du vermutlich mit dem Backup geändert. Du hast ja Dateien von 2017, die "pi" gehören, also wurde das Verzeichnis damals zwecks Bequemlichkeit (direkt als "pi" was ändern können) so umgestellt.

Reinhart

ja kann sein, das ist schon lange aus. Aber das mit den expliziten Rechten finde ich gut so, nur wissen man es einmal das hier zuviel eben zuviel des Guten ist!

Danke für deine prompte und kompetente Hilfe!

LG
Reinhart
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

MadMax-FHEM

Die "falschen" Rechte können auch von dem Rückspielen des Backup kommen, wenn die da schon "falsch" drinnen waren...

EDIT: Mist nicht genau genug gelesen, wurde ja schon genannt... ;)

Warum installierst du fhem so "kompliziert"!?

Es gibt auch den "easy way" unter https://debian.fhem.de

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)

steph99_de

#531
**** (von) selbst gelöst ****

Habe kurz nach meinem Post set <alexa> clearProxyCredentials ausprobiert und alexa gelöscht und neu installiert und neu angelegt und.... ...YESSSSSSSS. Alles klappt.

**** (von) selbst gelöst ****


Hallo zusammen,

super Sache dieses Projek! Vielen, vielen Dank dafür!

Leider ich verzweifel leider seit 24 Stunden an der Installation:
- neu aufgesetzter RPI 3B+
- funktionierendes und upgedatetes Raspian und fhem
- nach Anleitung (https://wiki.fhem.de/wiki/FHEM_Connector#Installation) installierter Connector, der auch läuft.
- "sudo apt-get install nodejs npm" scheint erfolgreich durch gelaufen zu sein, Meldungen s.u.

Aber: ich bekommen einfach keinen skill-key (alexaFHEM.skillRegKey)!

Kann mir jemand einen Tipp geben? Ich verzweifel hier wirklich...

Vielen Dank!
Stephan

Readings:

alexaFHEM running /usr/local/bin/alexa-fhem
alexaFHEM.ProxyConnection  SSH connected
alexaFHEM.bearerToken crypt:123456789xxxx



[24.2.2019, 10:11:39] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[24.2.2019, 10:11:39] os.homedir()=/opt/fhem
[24.2.2019, 10:11:39] this is alexa-fhem 0.5.21
[24.2.2019, 10:11:39] connecting to FHEM ...
[24.2.2019, 10:11:39] [FHEM] trying longpoll to listen for fhem events
[24.2.2019, 10:11:39] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1550999499752
[24.2.2019, 10:11:39] [FHEM] got csrfToken:
[24.2.2019, 10:11:39] [FHEM] Checking devices and attributes...
[24.2.2019, 10:11:39] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&XHR=1
[24.2.2019, 10:11:39] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&XHR=1
[24.2.2019, 10:11:39] [FHEM] waiting for events ...
[24.2.2019, 10:11:39] [FHEM] Fetching FHEM devices...
[24.2.2019, 10:11:39] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20alexaName=..*&XHR=1
*** FHEM: connected
[24.2.2019, 10:11:39] [FHEM] got: 0 results
[24.2.2019, 10:11:39] [FHEM] alexa device is alexa
[24.2.2019, 10:11:39] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3B%7B%24defs%7Balexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20%3D%20%220.5.21%22%7D%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[24.2.2019, 10:11:39] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bget%20alexa%20proxyToken%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[24.2.2019, 10:11:39] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Blist%20alexa%20.eventToken%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[24.2.2019, 10:11:39] Server listening on: http://127.0.0.1:44535 for proxy connections
[24.2.2019, 10:11:39] *** SSH: checking proxy configuration
[24.2.2019, 10:11:39] sshautoconf: home=/opt/fhem, spath=/opt/fhem/.alexa, cpath=./alexa-fhem.cfg, sshpath=/opt/fhem/.ssh
[24.2.2019, 10:11:39] Passed config: {"connections":[{"port":"8083","webname":"fhem","filter":"alexaName=..*","uid":999,"server":"127.0.0.1","name":"FHEM"}],"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","port":44535}}
[24.2.2019, 10:11:39] sshautoconf: SSH key seems to exist
[24.2.2019, 10:11:40] sshautoconf: Our SSH key is known at the reverse proxy, good!
[24.2.2019, 10:11:40] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bjsonlist2%20alexa%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[24.2.2019, 10:11:40] BearerToken '...B3A7E' read from alexa
[24.2.2019, 10:11:40] 39_alexa.pm is new version: true
[24.2.2019, 10:11:40] sshautoconf: completed successfully
[24.2.2019, 10:11:40] *** SSH: proxy configuration set up done
[24.2.2019, 10:11:40] Reading alexaFHEM.ProxyConnection set to starting;; starting SSH
[24.2.2019, 10:11:40] [FHEM]   executing: http://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
[24.2.2019, 10:11:40] Starting SSH with -R 1234:127.0.0.1:44535 -oServerAliveInterval=90 -i /opt/fhem/.ssh/id_rsa -p 58824 fhem-va.fhem.de
[24.2.2019, 10:11:40] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
[24.2.2019, 10:11:40] [FHEM]   executing: http://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%20SSH%20connected%3B%7B%24defs%7Balexa%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1
[24.2.2019, 10:11:40] *** SSH: proxy connection established
[24.2.2019, 10:11:40] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated. 


Meldungen bei node-Installation:

(node:3979) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpd/usr/local/bin/alexa-fhem -> /usr/local/lib/node_modules/alexa-fhem/bin/alexa
alexa-fhem@0.5.21 /usr/local/lib/node_modules/alexa-fhem
├── commander@2.19.0
├── readline-sync@1.4.9
├── ws@6.1.4 (async-limiter@1.0.0)
├── chalk@2.4.2 (escape-string-regexp@1.0.5, supports-color@5.5.0, ansi-styles@3.2.1)
└── request@2.88.0 (aws-sign2@0.7.0, forever-agent@0.6.1, oauth-sign@0.9.0, tunnel-agent@0.6.0, caseless@0.12.0, is-typedarray@1.0.0, safe-buffer@5.1.2, aws4@1.8.0, isstream@0.1.2, json-stringify-safe@5.0.1, extend@3.0.2, performance-now@2.1.0, qs@6.5.2, uuid@3.3.2, combined-stream@1.0.7, mime-types@2.1.22, tough-cookie@2.4.3, form-data@2.3.3, http-signature@1.2.0, har-validator@5.1.3)
pi@fhempi:~ $ (node:3979) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.



petjek

Hallo zusammen,
ich versuche mich auch gerade daran, die Alexa-Integration hiermit umzusetzen. Bis jetzt hatte ich habridge genutzt, das läuft aber recht unzuverlässig (und ich finde den Grund nicht).
Ich bin nach der Anleitung im Wiki vorgegangen, bei der Intallation von alexa-fhem bekomme ich die Meldung

pi@raspberrypi:~ $ sudo npm install -g alexa-fhem
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules/alexa-fhem
npm ERR! path /usr/local/lib/node_modules/alexa-fhem
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall access
npm ERR! enoent ENOENT: no such file or directory, access '/usr/local/lib/node_modules/alexa-fhem'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-02-24T10_33_47_319Z-debug.log


Ich habe das Debug-File mal angefügt, soweit ich das verstehe habe ich hier ein Rechteproblem, oder? Angemeldet bin ich als User pi.
Konsequenterweise sagt mir FHEM dann natürlich, dass alexa-fhem nicht gestartet ist.
Falls das Ganze hier schon einmal Thema war bitte ich das zu entschuldigen, ich habe nicht den kompletten Tread gelesen (nur zum Teil und den verstehe ich nur ansatzweise).

LG petjek

*** EDIT ***

Hab's gelöst. Bitte meine Frage ignorieren.
Die Möglichkeiten der deutschen Grammatik können einen, wenn man sich darauf, was man ruhig, wenn man möchte, sollte, einlässt, überraschen.

Amenophis86

Poste doch deine Lösung für die Nachwelt und behalte sie nicht für dich...
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

petjek

Da hast du auffallend recht. ;)

Ich hatte an meinem Zweitwohnsitz schon mal mit der "alten" Alexa-Intagration rumprobiert, sie aber nie in Betrieb genommen. Da ich hier nur Lampen und Funktsteckdosen (diverse Sonoffs und Tradfris) zu schalten habe, reichte habridge dann doch vollkommen aus. Seit einiger Zeit hatte ich damit aber Probleme, sodass ich alexa-fhem noch einmal ausprobieren wollte.
Es waren also noch Reste der alten, unvollendeten Installation vorhanden. Autostart des Dienstes hatte ich nie eingeschaltet, ich musste also nur die restlichen Dateien löschen.
Im Protokoll (s.o.) wird der Pfad /usr/local/lib/node_modules/alexa-fhem als Ursache des Problems benannt. Dort befand sich letztendlich noch eine Datei, die ich erst mit root-Rechten löschen konnte. Danach lief die Installation weitestgehend problemlos und läuft jetzt like-a-charm :)

BTW: meine Probleme kamen anscheinend ganz wo anders her, namlich durch meine noch vorhandene Yahoo-Wetter Integration bzw. das Twilight-Modul. Das sorgte zuletzt dafür, dass der Raspi alle paar Sekunden neu gestartet hat. Das mag nicht die letztendlich Ursache gewesen sein, nachdem ich die aber gelöscht und durch OpenweatherMap und diverse sunrise()/sunsets() in ATs und DOIFs ersetzt habe, herrscht Ruhe.

BTW2: gibt es in irgendeiner Form sowas wie einen Benachrichtigungsdienst in der FHEM-Community? Es wäre ja schon ganz schön, wenn man innerhalb seiner FHEM-Installation (z.B. als Notification) auf sowas wie das EOL der YahooAPI hingewiesen werden würde. Ich denke, diese Tatsache hat so einige User vor unerwartete Probleme gestellt. Ich zumindest bekomme sowas nicht zwingend mit und wenn doch, ist mein erster Gedanke nicht: "Ui, da muss ich aber jetzt alle meine FHEM-Installationen prüfen, ob die davon betroffen sind". Ich nutze seit einiger Zeit Octoprint an meinem Anycubic I3, da hat man das vorbildlich implementiert.
Nur so als Gedanke...

LG petjek
Die Möglichkeiten der deutschen Grammatik können einen, wenn man sich darauf, was man ruhig, wenn man möchte, sollte, einlässt, überraschen.

link611

Hallali,

Ich brauche jetzt doch nochmal Hilfe:
Bin auf den fhem/fhem Docker Container umgestiegen und Versuche meine alte Alexa Integration durch die neue zu ersetzen.

Habe im fhem Verzeichnis die default alexa-fhem.cfg (nur Port von fhem angepasst) aber bekomme keine readings. Nur dass Alexa läuft.

Kann mir hier jemand helfen?

Das hier erhalte ich im Log:
2/27/2019, 11:14:06 PM] Reading alexaFHEM.ProxyConnection set to stopping;; alexa-fhem terminating
[2/27/2019, 11:14:14 PM] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[2/27/2019, 11:14:14 PM] os.homedir()=/opt/fhem
[2/27/2019, 11:14:14 PM] this is alexa-fhem 0.5.21
[2/27/2019, 11:14:14 PM] connecting to FHEM ...
[2/27/2019, 11:14:14 PM] [FHEM] trying longpoll to listen for fhem events
[2/27/2019, 11:14:14 PM] [FHEM] starting longpoll: https://127.0.0.1:8085/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1551305654386

link611

#536
Zitat von: link611 am 27 Februar 2019, 23:25:13
Hallali,

Ich brauche jetzt doch nochmal Hilfe:
Bin auf den fhem/fhem Docker Container umgestiegen und Versuche meine alte Alexa Integration durch die neue zu ersetzen.

Habe im fhem Verzeichnis die default alexa-fhem.cfg (nur Port von fhem angepasst) aber bekomme keine readings. Nur dass Alexa läuft.

Kann mir hier jemand helfen?

Das hier erhalte ich im Log:
2/27/2019, 11:14:06 PM] Reading alexaFHEM.ProxyConnection set to stopping;; alexa-fhem terminating
[2/27/2019, 11:14:14 PM] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[2/27/2019, 11:14:14 PM] os.homedir()=/opt/fhem
[2/27/2019, 11:14:14 PM] this is alexa-fhem 0.5.21
[2/27/2019, 11:14:14 PM] connecting to FHEM ...
[2/27/2019, 11:14:14 PM] [FHEM] trying longpoll to listen for fhem events
[2/27/2019, 11:14:14 PM] [FHEM] starting longpoll: https://127.0.0.1:8085/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON×tamp=1551305654386


Hab' das Problem gefunden, wenn ich in der alexa-fhem.cfg einen anderen Port als 8083 angebe (wollte es über den Tablet-Port 8085 machen), macht das alexa device nichts - ProxyConnection ist stopped.
setze ich auf Port 8083 und gebe über das auth attribut meine Daten an, funktioniert es sofort.

Aber bedenklich finde ich folgendes im fhem-log:

2019.02.28 08:36:44 2: alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -a <user im Klartext>:<Passwort im Klartext> -s

kann man das nicht irgendwie naja ausblenden :D - im alexa-device werden die Daten verschlüsselt angezeigt.

justme1968

verwendet dein table port auch https ?


wenn du eine aktuelles alexa modul hast werden die daten nur bei verbose 5 im klartext geloggt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

link611

#538
Zitat von: justme1968 am 28 Februar 2019, 10:33:56
verwendet dein table port auch https ?


wenn du eine aktuelles alexa modul hast werden die daten nur bei verbose 5 im klartext geloggt.

ok, erwischt. Tablet nutzt kein HTTPS. Habe jetzt ein neues WEB Device mit HTTPS und ohne Passwort angelegt, schon klappt es.

Aber, verbose ist im global Device auf 3 gesetzt, Passwort wird da trotzdem angezeigt.


Achja und nein, das Passwort vom 8083 user kann man nicht über die config auslesen, da kodiert.

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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