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

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

Vorheriges Thema - Nächstes Thema

gvzdus


punker

Nachdem ja mein Alexa-System schon funktioniert hatte wollte ich alles nochmal neu aufsetzen.
Leider funzt nun gar nichts mehr!
Wenn ich jetzt das Wiki neu durcharbeite passt alles, nach bin/alexa -A wird username/password wegen SSL abgefragt usw. aber die Stelle:

This is your registration key:
>>>>>>>>>        1106AC-5F82623F069901AA-623991DE37124AE8        <<<<<<<<

erscheint nicht mehr und es werden auch keine FHEM-Devices angelegt.
Alle alten Verzeichnisse wurden gelöscht, Server und FHEM neu gestartet - kein Erfolg.

Woran liegts?

LG

Dieter

The truth is out there!

gvzdus

Poste doch bitte das Protokoll - natürlich ohne Benutzernamen & PW! Nicht auszuschließen, dass ich eine Situation übersehen habe.

punker

Also ich weiss ja nicht warum, aber jetzt läuft es seltsamerweise wieder!
In FHEM gibt es allerdings nur das MyAlexa-Device! Passt weil alles in einem.
Darüber lässt sich aber Alexa nicht starten (geht sofort auf stopped)!
Wenn ich es in der Shell per bin/alexa starte läuft es.
Im Log steht:
  error: unknown option `-s'

Oder ist da was durcheinander mit deinem und dem Modul von JustMe1968?
Weil ich hab das 39_alexa.pm im FHEM-Verzeichnis drin.
Wird das evtl. automatisch benutzt?
LG

Dieter

The truth is out there!

gvzdus

Tsss. Diese ganzen Optionen... Warte einen Moment, dann fixe ich das.

gvzdus

Gefixt (git + Upload). Jetzt richten die Optionen zumindest keinen Schaden an.

punker

OK, im Webif von FHEM schauts jetzt gut aus.
Aber beim starten des alexa-Prozesses wird nur der alexa-Prozess gestartet, aber es fehlt die SSH-Verbindung - folglich keine Verbindung zu Amazon!

normal aus der Shell gestartet:

fhem@fhembanana:~/alexa-fhem$ ps -ef | egrep '(alexa|ssh)'
root      1695     1  0 08:31 ?        00:00:00 /usr/sbin/sshd
root      1713  1695  0 08:31 ?        00:00:00 sshd: root@notty
root      3805  1695  0 09:06 ?        00:00:00 sshd: root@notty
root      5285  1695  0 09:53 ?        00:00:00 sshd: root@pts/1
fhem     10017     1 33 11:12 ?        00:00:04 alexa
fhem     10027 10017  1 11:12 ?        00:00:00 /usr/bin/ssh -R 1234:127.0.0.1:3000 -oServerAliveInterval=90 -p 58824 fhem-va.fhem.de
fhem     10043  5621  0 11:13 pts/1    00:00:00 grep -E (alexa|ssh)


und aus dem Webif gestartet:
fhem@fhembanana:~/alexa-fhem$ ps -ef | egrep '(alexa|ssh)'
root      1695     1  0 08:31 ?        00:00:00 /usr/sbin/sshd
root      1713  1695  0 08:31 ?        00:00:00 sshd: root@notty
root      3805  1695  0 09:06 ?        00:00:00 sshd: root@notty
root      5285  1695  0 09:53 ?        00:00:00 sshd: root@pts/1
fhem      9965  4418 24 11:11 ?        00:00:02 alexa
fhem      9980  5621  0 11:11 pts/1    00:00:00 grep -E (alexa|ssh)
LG

Dieter

The truth is out there!

gvzdus

Der Unterschied dürfte das Config-File sein. Andre hat ja das config-File von ~/.alexa/config.json nach ~fhem/alexa-fhem.cfg verschoben.

Startest Du über das Web-Interface, wird die Option "-c <configfile>" übergeben, und dort fehlen dann wohl die Angaben zum SSH-Pfad:
  "publicSkill": true,
    "ssh": "/usr/bin/ssh",

punker

Ja genau, steht ja auch unter Attribute drin.
Hab jetzt mal versucht die beiden Einträge in die alexa-fhem.cfg reinzuschreiben, aber dann startet alexa nicht mehr.
Dann muss ich halt warten bis ihr beiden euch auf eine Methode alexa zu starten geeingt habt.
Solange starte ich halt weitet per /etc/init.d/alexa start
Oder weißt du wie ich es anders machenkönnte?
LG

Dieter

The truth is out there!

gvzdus

Was bekommst Du denn, wenn Du auf der Kommandozeile
bin/alexa -c /opt/fhem/alexa-fhem.cfg -s
aufrufst?
Ich könnte mir vorstellen, dass Du z.B. ein Komma zuviel in der alexa-fhem.cfg eingegeben hast.

punker

fhem@fhembanana:~/alexa-fhem$ bin/alexa -c /opt/fhem/alexa-fhem.cfg -s
[server] this is alexa-fhem 0.5.2p3-FHEMlazy
[server] Fetching FHEM devices...
[FHEM] starting longpoll: https://localhost:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1546773462406
[server] Server listening on: https://:::3000
[server] SSH: Welcome at the reverse proxy!
This pseudoshell does not react to any input - do not get irritated.

[server] SSH: Pseudo-terminal will not be allocated because stdin is not a terminal.

[FHEM] longpoll error: Error: self signed certificate, retry in: 5000msec
LG

Dieter

The truth is out there!

gvzdus

Ah, da habe ich beim Rüberholen von Andres Code wieder die Verbesserung zerschossen, dass man selbstsignierte Zertifikate auch ohne config.auth-Block verwenden kann. Ist gefixt und hochgeladen.

Spezialtrick

Ich habe mich gerade auch an der neuen Installationsmethode für Alexa-FHEM ausprobiert. Leider funktioniert es nicht so richtig.

Die Installation konnte ich vollständig ausführen. Letztlich wird mir auch der registration code angezeigt und das Device MyAlexa wird mit den notwendigen Attributen erweitert. Allerdings ist die Ausgabe von "ps -ef | egrep '(alexa|ssh)'" nicht wie die Ausgabe im Wiki:

fhem@Fhem:/opt/fhem/alexa-fhem$ ps -ef | egrep '(alexa|ssh)'
root       154     1  0 16:21 ?        00:00:00 /usr/sbin/sshd -D
root       345   154  0 16:21 ?        00:00:00 sshd: root@pts/2
root      3938   154  0 16:28 ?        00:00:00 sshd: fhem [priv]
fhem      3947  3938  0 16:28 ?        00:00:00 sshd: fhem@notty
fhem      3948  3947  0 16:28 ?        00:00:00 /usr/lib/openssh/sftp-server
fhem      6140  3683  0 16:53 pts/2    00:00:00 grep -E (alexa|ssh)


Die Log Datei von Alexa wird leider nicht beschrieben:

fhem@Fhem:/opt/fhem/alexa-fhem$ cat /tmp/alexa.stdout.log
cat: /tmp/alexa.stdout.log: No such file or directory


In Fhem wird folgendes ins Log geschrieben:

2019.01.06 16:54:40 3: MyAlexa: alexaFHEM starting
2019.01.06 16:54:40 3: MyAlexa: using logfile: ./log/alexa-2019-01-06.log
2019.01.06 16:54:40 2: MyAlexa: starting alexa-fhem: /opt/fhem/alexa-fhem/bin/alexa -c ./alexa-fhem.cfg -s
2019.01.06 16:54:40 3: MyAlexa: read: end of file reached while sysread
2019.01.06 16:54:40 3: MyAlexa: alexaFHEM stopped


Die angegebene Log Datei - ./log/alexa-2019-01-06.log - wird regelmäßig mit folgendem Inhalt beschrieben:

Error: spawn /usr/bin/ssh
ENOENT
    at Process.ChildProcess._handle.onexit (internal/child_process.js:190:19)
    at onErrorNT (internal/child_process.js:362:16)
    at _combinedTickCallback (internal/process/next_tick.js:139:11)
    at process._tickCallback (internal/process/next_tick.js:181:9)
    at Function.Module.runMain (module.js:696:11)
    at startup (bootstrap_node.js:204:16)
    at bootstrap_node.js:625:3
[server] this is alexa-fhem 0.5.2p4-FHEMlazy
[server] Fetching FHEM devices...
[FHEM] starting longpoll: https://localhost:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1546790141602
[cli] Server failed with Error: ENOENT: no such file or directory, open '/opt/fhem/.alexa/alexa.pid'
[server] Killing SSH on event process.exit
events.js:183
      throw er; // Unhandled 'error' event
      ^


Hat jemand eine Idee, wo der Fehler liegen könnte?
FHEM - Debmatic - Zigbee2MQTT - Homekit

gvzdus

Auch eine Nebenwirkung der Config-File-Migration: Beim Schreiben des PID-Files ging ich davon aus, dass ~/.alexa existieren muss, weil da ja das Config-File her kommt.

Einfach einmal als FHEM-User
mkdir /opt/fhem/.alexa
eintippen.

Spezialtrick

Zitat von: gvzdus am 06 Januar 2019, 17:07:54
Auch eine Nebenwirkung der Config-File-Migration: Beim Schreiben des PID-Files ging ich davon aus, dass ~/.alexa existieren muss, weil da ja das Config-File her kommt.

Einfach einmal als FHEM-User
mkdir /opt/fhem/.alexa
eintippen.

Danke für die schnelle Rückmeldung. Leider bringt es keine Besserung.  ???
FHEM - Debmatic - Zigbee2MQTT - Homekit