fhem-docker Image 4.0.0 (Tester gesucht)

Begonnen von Sidey, 02 März 2024, 11:35:13

Vorheriges Thema - Nächstes Thema

juemuc

Hallo zusammen,

ich habe nun fhem ohne https neu installiert. Danach habe ich Alexa-fhem neu eingerichtet. In der config.json habe ich nur die IP-Adresse von FHEM eingetragen. Es wird auch die Verbindung hergestellt und das Alexa-Device wird angelegt. Es stehen folgende Zeilen im log-file:

2024.03.14 19:18:11.916 2: alexa: created default configfile: ./alexa-fhem.cfg
2024.03.14 19:18:11.924 2: alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
2024.03.14 19:18:11.933 2: alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.

Wenn ich jetzt im Alexa-Device den AlexaFHEM-host eintrage, kommen wieder die altbekannten Meldungen:

Unknown cipher type '/tmp/alexa-fhem.cfg'
Unknown cipher type '/tmp/alexa-fhem.cfg'

2024.03.14 19:25:52.011 3: alexa: using ssh cmd /usr/bin/ssh 192.168.110.101
ssh: connect to host 192.168.110.101 port 22: Connection refused
ssh: connect to host 192.168.110.101 port 22: Connection refused
2024.03.14 19:25:52.034 2: alexa: starting alexa-fhem: /usr/bin/ssh 192.168.110.101  -c /tmp/alexa-fhem.cfg
2024.03.14 19:25:52.037 3: alexa: starting
2024.03.14 19:25:52.040 3: alexa: using logfile: ./log/alexa-2024-03-14.log
2024.03.14 19:25:52.046 3: alexa: read: end of file reached while sysread
2024.03.14 19:25:52.046 3: alexa: stopped

Was läuft hier schief?

Viele Grüße
Jürgen

PS.: Das ganze läuft auf einer DS920+ mit einem macvlan-Netzwerk.
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sidey

Zitat von: juemuc am 14 März 2024, 19:27:34Hallo zusammen,

ich habe nun fhem ohne https neu installiert. Danach habe ich Alexa-fhem neu eingerichtet. In der config.json habe ich nur die IP-Adresse von FHEM eingetragen. Es wird auch die Verbindung hergestellt und das Alexa-Device wird angelegt. Es stehen folgende Zeilen im log-file:

2024.03.14 19:18:11.916 2: alexa: created default configfile: ./alexa-fhem.cfg
2024.03.14 19:18:11.924 2: alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
2024.03.14 19:18:11.933 2: alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.

Wenn ich jetzt im Alexa-Device den AlexaFHEM-host eintrage, kommen wieder die altbekannten Meldungen:

AlexaFHEM-host nicht eintragen!
Und in config.json keine IP Adressen sondern Namen hinterlegen.

Kommen denn im alexa-fhem container Fehler? Alles andere kannst Du vorerst ignorieren.




Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

juemuc

Hallo Sidey,

im Alexa-Fhem-Container sieht alles gut aus. Das Protokoll ist im Anhang. Im FHEM-Container kommen diese Meldungen:

2024.03.14 20:08:20.790 3: From the FHEM_GLOBALATTR environment: attr global pidfilename log/fhem.pid
2024.03.14 20:08:20.792 1: Including fhem.cfg
2024.03.14 20:08:20.793 3: logfile is readonly, it is set in the FHEM_GLOBALATTR environment
2024.03.14 20:08:21.057 3: WEB: port 8083 opened
2024.03.14 20:08:21.086 2: eventTypes: loaded 0 lines from ./log/eventTypes.txt
2024.03.14 20:08:21.396 3: AptToDate (fhemServerApt) - defined
2024.03.14 20:08:22.281 3: From the FHEM_GLOBALATTR environment: attr global nofork 0
2024.03.14 20:08:22.282 3: From the FHEM_GLOBALATTR environment: attr global updateInBackground 1
2024.03.14 20:08:22.282 3: From the FHEM_GLOBALATTR environment: attr global logfile log/fhem-%Y-%m-%d.log
2024.03.14 20:08:22.282 3: From the FHEM_GLOBALATTR environment: attr global pidfilename log/fhem.pid
2024.03.14 20:08:22.283 1: Messages collected while initializing FHEM:configfile: logfile is readonly, it is set in the FHEM_GLOBALATTR environment
SecurityCheck:
  WEB is not password protected

Protect this FHEM installation by defining an allowed device with define allowed allowed
You can disable this message with attr global motd none
Autosave deactivated
2024.03.14 20:08:23.498 1: usb create starting
2024.03.14 20:08:23.991 1: usb create end
2024.03.14 20:08:23.992 0: Featurelevel: 6.3
2024.03.14 20:08:23.992 0: Server started with 10 defined entities (fhem.pl:28598/2024-03-05 perl:5.036003 os:linux user:fhem pid:8294)
2024.03.14 20:08:57.303 1: MKDIR restoreDir/save/2024-03-14
2024.03.14 20:08:57.304 1: copy ./log/fhem.save ./restoreDir/save/2024-03-14/./log/fhem.save failed:No such file or directory
2024.03.14 20:12:57.879 2: alexa: created default configfile: ./alexa-fhem.cfg
2024.03.14 20:12:57.890 2: alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
2024.03.14 20:12:57.898 2: alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.

Es will einfach nicht. Hast Du noch eine Idee?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

passibe

Was genau funktioniert denn nicht?

Alexa-fhem macht was es soll und kann eine Verbindung zum Server herstellen:
[3/14/2024, 8:12:58 PM] Reading alexaFHEM.ProxyConnection set to running;; SSH connected
[3/14/2024, 8:12:58 PM] *** SSH: proxy connection established
[3/14/2024, 8:12:58 PM] SSH: Welcome at the reverse proxy!  This pseudoshell does not react to any input - do not get irritated.

Die Fehlermeldung alexa: alexa-fhem not installed. install with 'sudo npm install -g alexa-fhem'.
kannst du einfach ignorieren. Es ist nur noch nicht richtig implementiert (wieso eigentlich nicht?), dass die verschwindet, wenn Docker verwendet wird.

Jetzt müsstest du eigentlich einfach nur noch in FHEM
get alexa proxyKeyausführen und kannst mit dem proxyKey dann deinen Skill über die Alexa-App verknüpfen.

juemuc

Hallo passibe,

jetzt hat alles funktioniert. Ich wäre niemals auf die Idee gekommen, dass es trotz der Fehlermeldung im FHEM-Container funktioniert. Danke für Eure Hilfe.

Die Fehlermeldung sollte natürlich beseitigt werden. Das führt unweigerlich zu vielen Nachfragen (wie bei mir  O:-) )

Jetzt werde ich noch mit https und allowed testen.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

juemuc

Jetzt hänge ich im nächsten Problem.
Die Kommunikation mit User/Psw hat noch funktioniert. Wenn ich jetzt aber auf https umschalte, startet alexa-fhem nicht mehr. Es kommt die Fehlermeldung

ZitatStartup rejected. Reason: Error: ENOENT: no such file or directory, open '/certs/alexa-fhem.key'

Was ist zu tun?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

passibe

Hast du in der config.json irgendetwas geändert außer
"ssl": true,einzufügen?
Irgendwas muss noch passiert sein, damit alexa-fhem plötzlich im Verzeichnis "/certs" nach irgendwas sucht. Im GitHub-Repo gibt es nämlich kein "certs", das muss also irgendwo sonst herkommen.

Am einfachsten ist es sicherlich, wenn du eine weitere FHEMWEB-Instanz ohne https einrichtest und dort dann nur Zugriffe von der alexa-fhem-IP zulässt. Ich weiß nämlich gar nicht, ob alexa-fhem überhaupt z.B. selbstsignierte Zertifikate usw. unterstützt.

juemuc

Hallo passibe,

nein, mehr habe ich nicht verändert. Ich hatte auch versuchsweise das Verzeichnis eingerichtet, aber es wird nicht erkannt. Aus meiner Sicht müsste nur das "Cert-Verzeichnis" von FHEM eingebunden werden.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

passibe

Ah, sorry,  jetzt sehe ich was passiert ist:
Du hast oben im Abschnitt
  "alexa": ["ssl": true gesetzt, richtig?
Das ist die falsche Stelle – da oben sollst/darfst du nichts ändern, wenn du nicht den Custom Skill benutzt, da geht es nur um die Verbindung zu den Amazon-Servern (bzw. der Verbindung der Amazon-Server zu dir/alexa-fhem).

Du musst im Abschnitt
  "connections": [ein
      "ssl": true,einfügen. Der Abschnitt kümmert sich nämlich darum, wie alexa-fhem mit FHEM kommuniziert – wie man daran sieht, dass du dort auch den FHEM-Hostnamen/Passwort eingibst, usw.

Wie gesagt kann es aber sein, dass alexa-fhem trotzdem noch meckert, falls du z.B. ein selbstsigniertes Zertifikat verwendest. Falls du nicht auf ein nicht-selbstsigniertes Zertifikat umsteigen möchtest/kannst hast du zwei Möglichkeiten:
1. Dein (Root-)Zertifikat im Container als trusted zu Markieren (googeln, erfordert ggfs. einige Docker-Kenntnisse) oder
2. wie gesagt eine FHEMWEB-Instanz ohne ssl zu benutzen, die nur "intern" läuft.

(@irgendjemand, der/die hier Moderator:in ist: kann man die letzten paar Posts dieses Threads ggfs. in ein eigenes Thema verschieben? Hat ja nichts mehr mit dem ursprünglichen Thema zu tun ...)

juemuc

Hallo passibe,

danke für die Info. Ich werde dies noch testen und berichten.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

juemuc

Hallo passibe,

ja das war der entscheidende Tipp. Damit sind meine Tests erst einmal abgeschlossen.
Nochmals vielen Dank für Eure Unterstützung.

Ich nutze jetzt für den Container den offiziellen Link "ghcr.io/fhem/fhem-docker:dev-threaded-bullseye"

Es wäre schon, wenn die ALEXA-FHEM-Verbindung noch korrekt dargestellt werden könnte.

Viele Grüße
Jürgen

 
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sidey

Zitat von: juemuc am 15 März 2024, 22:45:06Ich nutze jetzt für den Container den offiziellen Link "ghcr.io/fhem/fhem-docker:dev-threaded-bullseye"

Das ist eine Entwicklerversion und ändert sich aktuell stetig.

 
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

juemuc

Ok. Danke für die Info.

Dann bleibe ich erst einmal bei der beta6.

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Sidey

Ich habe die beta7 erstellt.
Die ARM Plattformen haben nun auch alle nötigen CPAN Pakete
Weiterhin wurde ein Problem mit dem Health Check gelöst.

Offen ist noch ein Problem mit absoluten Pfadangaben, anstelle von relativen. Z.B. pidfile, da hat mein fix noch nicht alle Probleme beseitigt.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

Maintainer von: SIGNALduino, fhem-docker, alexa-fhem-docker, fhempy-docker

juemuc

Hallo zusammen,

ich habe jetzt alle Devices aus meinem produktiven System problemlos übernehmen können. Auch die Verbindung zu Alexa-FHEM funktioniert. Leider geht der Status auf unhealthy. Ich kann aber keine Probleme erkennen. Gibt es einen Möglichkeit die Ursache zu finden?

Viele Grüße
Jürgen
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).