[Gelöst]Alexa Fhem - Ständige Neustarts

Begonnen von stephan20, 11 Juli 2019, 22:41:14

Vorheriges Thema - Nächstes Thema

stephan20

Guten Abend,

leider habe ich wieder mal ein Problem wo ich alleine nicht wirklich weiterkomme. Mir sind heute dutzende Einträge im Fhem Log aufgefallen:


2019.07.11 00:00:05 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:00:25 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:00:45 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:01:05 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:01:25 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:01:45 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:02:05 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:02:25 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:02:45 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:03:05 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:03:25 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:03:45 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:04:05 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:04:25 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:04:45 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:05:05 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:05:25 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:05:45 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:06:05 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:06:27 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:06:47 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
2019.07.11 00:07:07 2: Alexa: starting alexa-fhem: /usr/bin/alexa-fhem -c ./alexa-fhem.cfg -s
usw.


Im Alexa Log finde ich folgendes:
2019-7-11 00:00:05] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[2019-7-11 00:00:05] os.homedir()=/opt/fhem
[2019-7-11 00:00:05] os.homedir() set to /opt/fhem, but this is not writable
[2019-7-11 00:00:05] process.env.HOME=/opt/fhem
[2019-7-11 00:00:05] process.env.HOME set to /opt/fhem, but this is not writable
[2019-7-11 00:00:05] process.env.HOMEPATH=undefined
[2019-7-11 00:00:05] process.env.USERPROFILE=undefined
[2019-7-11 00:00:05] process.env.PWD=undefined
[2019-7-11 00:00:05] No suitable, writable users home directory found
Startup rejected. Reason: TypeError: Path must be a string. Received undefined
[2019-7-11 00:00:25] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[2019-7-11 00:00:25] os.homedir()=/opt/fhem
[2019-7-11 00:00:25] os.homedir() set to /opt/fhem, but this is not writable
[2019-7-11 00:00:25] process.env.HOME=/opt/fhem
[2019-7-11 00:00:25] process.env.HOME set to /opt/fhem, but this is not writable
[2019-7-11 00:00:25] process.env.HOMEPATH=undefined
[2019-7-11 00:00:25] process.env.USERPROFILE=undefined


Ich habe am System nichts verändert. Ich bin echt ratlos  ::)

Gruß, Stephan

amenomade

Wie startest Du alexa-fhem?
Wie sieht ein "ls -la /opt/fhem" aus?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

stephan20

Sorry für die späte Rückmeldung

Das directory list sieht folgendermaßen aus:
drwxr-xr-x 14 root root      4096 Apr 12 00:10 .
drwxr-xr-x  3 root root      4096 Apr 11 23:25 ..
drwxr-xr-x  5 fhem dialout   4096 Dez 23  2018 alexa-fhem
-rw-r--r--  1 fhem dialout    311 Jul 15 00:23 alexa-fhem.cfg
drwxrwxrwx  2 fhem dialout   4096 Apr 28 01:07 backup
drwx--x--x  2 fhem dialout   4096 Okt 28  2017 certs
-rwxrwxrwx  1 fhem dialout 300489 Jul 17 23:18 CHANGED
-rwxrwxrwx  1 fhem dialout   2374 Okt 30  2017 config
-rwxrwxrwx  1 fhem dialout  39782 Jul  8 07:50 configDB.pm
drwxrwxrwx 46 fhem dialout  16384 Feb 11  2018 contrib
drwxrwxrwx  3 fhem dialout   4096 Okt 28  2017 demolog
drwxrwxrwx  4 fhem dialout  12288 Nov  4  2017 docs
drwxrwxrwx  6 fhem dialout  69632 Jul 15 00:23 FHEM
-rwxrwxrwx  1 fhem dialout 151419 Jul 20 23:12 fhem.cfg
-rwxr-xr-x  1 fhem dialout  19925 Dez  1  2017 fhem.cfg.debug
-rwxrwxrwx  1 fhem dialout  25544 Jul  8 07:50 fhem.cfg.demo
-rwxrwxrwx  1 fhem dialout 159138 Jul 14 23:35 fhem.pl
drwxrwxrwx  2 fhem dialout  12288 Jul 20 00:00 log
-rwxrwxrwx  1 fhem dialout  41601 Jul 14 23:35 MAINTAINER.txt
-rwxrwxrwx  1 fhem dialout    935 Feb 19  2017 README_DEMO.txt
-rw-r--r--  1 fhem dialout    450 Dez 10  2018 regSave.cfg
drwxrwxrwx  7 fhem dialout   4096 Apr  7  2018 restoreDir
-rw-r--r--  1 fhem dialout  15360 Dez  4  2017 RINCON_5CAAFD28922201400_MR_Speak.mp3
drwxrwxrwx  2 fhem dialout   4096 Nov  5  2017 snapshots
drwxrwxrwx  2 fhem dialout   4096 Jul  8 07:50 unused
drwxrwxrwx 11 fhem dialout   4096 Mär 29  2018 www
pi@fhem:~$


Gestartet wird das ganze über /etc/systemd/system/alexa.service
[Unit]
Description=Node.js Alexa Server
After=syslog.target network-online.target

[Service]
Type=simple
User=alexa
WorkingDirectory=/opt/fhem/alexa-fhem
ExecStart=/opt/fhem/alexa-fhem/bin/alexa -U /pi/alexa/.alexa
Restart=on-failure
RestartSec=10
KillMode=process

[Install]
WantedBy=multi-user.target


Ein Browseraufruf auf Port 3000 liefert auch ein Ergebnis
{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"18643d80-e8cb-4456-98c5-53086059a5cb"},"payload":{}}

Allerdings versucht das FHEM Alexa Device immer wieder zu starten, wird aber sofort wieder gestoppt

amenomade

Zuerst würde ich:sudo chown fhem:dialout /opt/fhemmachen

Danach... hat der User alexa Berechtigungen auf /pi/alexa/.alexa ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

stephan20

Zitat von: amenomade am 21 Juli 2019, 00:54:20
Zuerst würde ich:sudo chown fhem:dialout /opt/fhemmachen

Danach startet FHEM Alexa garnicht mehr. Stattdessen erhalte ich jetzt die Meldung:
stopped; failed to connect to fhem: 401: Authorization Required

Zitat von: amenomade am 21 Juli 2019, 00:54:20
Danach... hat der User alexa Berechtigungen auf /pi/alexa/.alexa ?

Sollte er haben, zumindest darf jeder Lesen und ausführen (wenn ich das richtig sehe)
drwxr-xr-x  2 pi   pi       4096 Jul 21 02:23 .alexa

MadMax-FHEM

#5
Welche Version von alexa-fhem nutzt du/willst du nutzen?

Das ist in allen gelieferten Ausgaben "abgeschnitten", zumindest hab ich nichts entdeckt...

Mit der neuesten Version (die vom alexa fhem Connector) wird nicht mehr per irgendwelchem Service-Gedöns gestartet...

EDIT: ein fhem update und somit eine neue Version des Alexa-Moduls ist schon die halbe "Umstellung" und ich glaube, dass eine neue Modul-Version bereits versucht alexa-fhem zu starten...

Die Meldung "authorization required" bedeutet: kein Zugriff auf fhem!

D.h. entweder in der config.json richtig eintragen (user/passwort für fhem und auch ssl prüfen, also ob verwendet oder nicht)...
Oder beim Alexa-Device in fhem per Attribut einstellen (kommt drauf an welche Version du da hast, siehe "Eingangsfrage")...

Bzw. generell: wenn du die neueste Version von alexa-fhem verwenden willst: ALLES alte alexa-fhem LÖSCHEN!! (vorher halt mal z.B. config.json und Startscript sichern).

Dann neu von Grund auf installieren laut fhem alexa Connector Wiki.

EDIT: es gibt etliche Threads und Leute mit Problemen, die nur so "halb" umgestiegen sind bzw. vorher nicht tatsächlich alten Kram gelöscht haben und dann nach Wiki alexa-fhem vom fhem alexa Connector installiert haben...

EDIT: wenn du an allen Neuerungen teilhaben willst -> Umstieg! (du kannst ja weiterhin eigene Skills verwenden...)

Wenn du dann eigene Smart Home Skills verwenden willst (warum auch immer), dann die angelegte config.json erweitern (zu "erreichen" über das Alexa-Device, ebenso wie das Log von alexa-fhem). Ebenso wenn du Custom Skill verwenden willst...
Dann nat. Portweiterleitung weiterhin...

Wenn du nur Smart Home nutzen willst: steig um auf den alexa fhem Connector und mach den Port zu...

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)

amenomade

Falls die Antwort auf Joachims Frage "alte Version" lautet:
Zitat von: stephan20 am 21 Juli 2019, 02:28:53
Danach startet FHEM Alexa garnicht mehr. Stattdessen erhalte ich jetzt die Meldung:
stopped; failed to connect to fhem: 401: Authorization Required
OK, das hatte ich noch vergessen: da der User alexa alexa-fhem startet, dann noch den User alexa zu Gruppe dialout hinzufügen.
usermod -a -G dialout alexa

Aber Du hast anscheinend ein anderes Problem. Was ergibt ein
ls -la /pi/alexa/.alexa (bzw. mit sudo)?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

@amenomade:

Zitat
stopped; failed to connect to fhem: 401: Authorization Required

deutet aber eher auf ein Verbindungsproblem von alexa-fhem zu fhem hin!?

Also fhem scheint mit User/Passwort (und evtl. ssl) abgesichert zu sein...
...aber der Zugriff von alexa-fhem auf fhem erfolgt (vermutlich) ohne (oder mit falschen) Zugangsdaten!?

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)

amenomade

#8
Zitat von: MadMax-FHEM am 21 Juli 2019, 14:32:31
@amenomade:

deutet aber eher auf ein Verbindungsproblem von alexa-fhem zu fhem hin!?
Ja, aber ich versuche zuerst sicher zu stellen.... welche config.json Datei benutzt wird...
Merkwürdig ist auch die Datei alexa-fhem.cfg im /opt/fhem Verzeichnis. Daher ist deine vorherige Frage auch relevant...
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

Hi amenomade,

klar ;)

Ich hab ja auch schon versucht rauszukriegen: welche Version von alexa-fhem denn überhaupt am Start ist... Ob das ein "Upgrade" (gewollt oder ungewollt) von alexa-fhem oder dem Alexa-Modul ist etc.
Kam aber ja noch keine Antwort...

Weil so ein "Durcheinander" kenne ich nur von den Fällen wo Anwender eben umgestiegen sind/es wollten und vorher noch "alte alexa-fhem" Sachen hatten...

Weil es zwischen der "alten" Version (und dann MUSS man wohl oder übel dabei bleiben) und der neuen die im alexa fhem Connector beschrieben ist (und evtl. sogar durch update von fhem -> neue Version des Alexa-Moduls welches sich [soweit ich weiß] auch um das Starten kümmert, da ist dann Starten per Service-Script eher naja ;)  ) doch so einiges anders!

Mal sehen was als Antwort kommt...

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)

stephan20

Also, es war in der Tat ein ziemliches Durcheinander. Ursprünglich hatte ich die alte alexa-fhem geschichte auf dem System installiert. Lief auch recht gut, bis mein Raspberry den Geist aufgegeben hat und ich wegen der höheren Leistungsreserven auf einen Intel Atom umgestiegen bin. Die Portierung hat erstaunlich gut funktioniert, allerdings hatte ich mich bis dato nicht mehr um Alexa gekümmert. Als das Alexa-Device von mir versehentlich gelöscht wurde und ich es neu definiert habe, habe ich offensichtlich unfreiwillig die neue Version installiert.

Lange Rede, kurzer Sinn. Habe die alten alexa-fhem Ordner und Dateien gelöscht, das neue Alexa-Fhem aus dem Repository neu installiert und setze jetzt den Alexa Fhem Connector ein. Läuft bisweilen auch recht gut, habe nur noch Probleme mit meinen Duofern Rollläden. Da muss ich mich mal einarbeiten, die machen nämlich noch nicht das was ich will. Kann sie nur auf einen gewissen Prozentwert stellen, aber nicht mit "Öffne Rolladen_X" komplett öffnen bzw. schließen.

Zitat von: MadMax-FHEM am 21 Juli 2019, 08:21:12

Bzw. generell: wenn du die neueste Version von alexa-fhem verwenden willst: ALLES alte alexa-fhem LÖSCHEN!! (vorher halt mal z.B. config.json und Startscript sichern).

Dann neu von Grund auf installieren laut fhem alexa Connector Wiki.

EDIT: es gibt etliche Threads und Leute mit Problemen, die nur so "halb" umgestiegen sind bzw. vorher nicht tatsächlich alten Kram gelöscht haben und dann nach Wiki alexa-fhem vom fhem alexa Connector installiert haben...


Vielen Dank für den Hinweis, das war im Grunde mein Problem und so konnte ich es lösen  :)

Gruß

Stephan

stera

Hallo zusammen,

ich muss das Thema nochmal neu aufgreifen. Ich habe ein ähnliches Problem und vllt. könnt ihr mir weiterhelfen. (Fehler siehe unten)

Zum Hintergrund:
Ich betreibe mehrere FhemInstanzen in Docker Container. Nun habe ich was umgestellt und bekomme den Alexa Connector nicht mehr zum laufen.
Vorher lief es auf einer Synology und der /opt/fhem Ordner wurde über ein Volumenbind auf ein Ordner in der Synology gemountet. So funktionierte es auch immer.
Nun habe ich das System neu aufgesetzt, weil eine SSD in die Synology eingebaut wurde. Da ich aber gemerkt habe, dass es nicht so einfach ist, die interne Synology Docker App zu sichern, habe ich nun eine Virtuelle Maschine mit Debian aufgesetzt und dort Docker installiert. Dort funktioniert dann auch endlich Docker-Compose.

In der VMM habe ich über eine NFS Freigabe den DockerOrdner eingebunden


/etc/fstab in der VMM
192.168.10.65:/volume1/docker /home/stera/docker/ nfs rw,soft,bg,intr,users 0 0



Mit Volumenbind funktioniert es nicht
  Alexa:
    image: fhem/fhem:latest
    restart: always
    privileged: true
    networks:
      net:
        ipv4_address: 172.30.1.60
    ports:
      - "8186:8083"
    volumes:
      - "/home/stera/docker/FHEMAlexa/:/opt/fhem/"
    environment:
      TELNETPORT: 7072
      TZ: Europe/Berlin
      APT_PKGS: "nano"



Ohne Volumenbind funktioniert es
  Alexa:
    image: fhem/fhem:latest
    restart: always
    privileged: true
    networks:
      net:
        ipv4_address: 172.30.1.60
    ports:
      - "8186:8083"
    volumes:
      - fhem-alexa-data:/opt/fhem/
    environment:
      TELNETPORT: 7072
      TZ: Europe/Berlin
      APT_PKGS: "nano"




[11/11/2020, 12:35:06 PM] using config from ./alexa-fhem.cfg
*** CONFIG: parsed completely
[11/11/2020, 12:35:06 PM] os.homedir()=/opt/fhem
[11/11/2020, 12:35:06 PM] os.homedir() set to /opt/fhem, but this is not writable
[11/11/2020, 12:35:06 PM] process.env.HOME=/opt/fhem
[11/11/2020, 12:35:06 PM] process.env.HOME set to /opt/fhem, but this is not writable
[11/11/2020, 12:35:06 PM] process.env.HOMEPATH=undefined
[11/11/2020, 12:35:06 PM] process.env.USERPROFILE=undefined
[11/11/2020, 12:35:06 PM] process.env.PWD=/opt/fhem
[11/11/2020, 12:35:06 PM] process.env.PWD set to /opt/fhem, but this is not writable
[11/11/2020, 12:35:06 PM] No suitable, writable users home directory found
Startup rejected. Reason: TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined



Es liegt 100% an der NFS Freigabe. Habt ihr noch eine Idee was ich versuchen könnte?

Führe ich im Container eine "ls-l" aus sind die Berechtigungen auf /opt/fhem überall gleich.
Ein
chmod 777 -R /opt/fhem
chmod 777 -R /home/stera/docker/FHEMAlexa/
bringt leider nichts.

Ist die NFS Freigabe vllt. falsch?

Das FhemSystem und Alexa-Fhem Pakete sind alle aktuell.

Für Antworten wäre ich euch dankbar.

Gruß,
SteRa