Autor Thema: Offizielles FHEM Docker Basis Image für verschiedene Plattformen  (Gelesen 145685 mal)

Offline sandmann42

  • New Member
  • *
  • Beiträge: 3
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1020 am: 12 Oktober 2020, 00:34:50 »
Hallo zusammen,

ich bekomme den gassistent einfach nicht zum laufen.

mein docker-compose file sieht so aus:

version: '2'

services:
    fhem:
        restart: always
        ports:
            - "8083:8083"
            - "7072:7072"
        image: fhem/fhem:latest
        volumes:
            - ./fhem/core/:/opt/fhem/
        networks:
            - fhem-network
        environment:
            FHEM_UID: 1000
            FHEM_GID: 1000
            TIMEOUT: 10
            RESTART: 1
            TELNETPORT: 7072
            TZ: Europe/Berlin
            NPM_PKGS: "gassistent_fhem"
        depends_on:
            - "mysql"
            - "mqtt"

... usw.


Das Gassistent Objekt sagt mir aber:

stopped; gassistant-fhem not installed. install with 'sudo npm install -g gassistant-fhem --unsafe-perm'.

wenn ich das packet installiere:

root@linux01:/etc/docker/compose/fhem# sudo npm install -g gassistant-fhem --unsafe-perm
npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
/usr/local/bin/gassistant-fhem -> /usr/local/lib/node_modules/gassistant-fhem/bin/gassistant-fhem
+ gassistant-fhem@3.0.3

ein npm list gassistent-fhem:
root@linux01:/etc/docker/compose/fhem# npm list gassistent-fhem
/etc/docker/compose/fhem
└── (empty)


Meine Fragen:

1) Habe ich den Parameter für die zusätzlichen npm-Modulerichtig in meiner docker.compose Datei gesetzt?
2) Kann Fhem im Docker Container auf meine global installierten npm Module zugreifen? Wenn ja - wieso dann der Parameter?
3) Was passiert wenn ich ein Modul als Parameter übergebe? Wird es dann innerhalb des Containers installiert? Brauche ich das Modul dann überhaupt auf meiner Host-Machine?


Vielen Dank und Freundliche Grüße
Sandmann


Edit: Das Hostsystem ist ein Ubuntu 20.04.


Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 828
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1021 am: 13 Oktober 2020, 15:35:49 »
Mahlzeit :-)

Spricht etwas dagegen, dass man im Image schon Python 3.7 nutzt? :-) Das würde diversen neuen Modulen das extra installieren sparen :-)


*EDIT* Oh entschuldigung - es scheint schon 3er Python zu sein... seltsam sehe in meinem bei "python --version" 2.7 :-D - ich schau mal was da los ist. Ein python3 --version bewirkt wahre Wunder! :-D *facepalm*
« Letzte Änderung: 13 Oktober 2020, 15:52:02 von Master_Nick »
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Offline sn0000py

  • Developer
  • Full Member
  • ****
  • Beiträge: 311
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1022 am: 13 Oktober 2020, 19:49:12 »
Hallo ich bereite mich gerade für Alexa vor.
Installieren musste ich da ja nichts das ging alles.

aber ich habe nun im FHEM Drinnen
alexaFHEM.ProxyConnection
error; user homedir writable by group/other ('chmod 755 /opt/fhem' required)
2020-10-13 19:36:54

wenn ich das ausführe (vermute muss ich aber nach jedem neustart erneut mache) kommt dann ein
alexaFHEM.ProxyConnection
error; users ssh key not protected by group/other ('chmod 600 /opt/fhem/.ssh/id_rsa' required)
2020-10-13 19:39:20

danach kommt dann aber ein
alexaFHEM.ProxyConnection
error; Reverse Proxy replied with neither registered nor unregistered status: out:  err:Bad owner or permissions on /opt/fhem/.ssh/config
2020-10-13 19:40:30
da weiss ich nicht mehr weiter?

die ssh config files haben alle
root@cb4ce06e4267:/opt/fhem/.ssh# ls -l
total 24
-rwxrwxrwx 1 fhem dialout  509 Jul  9  2019 config
-rwxrwxrwx 1 fhem dialout  411 Jul  9  2019 id_ed25519
-rwxrwxrwx 1 fhem dialout   98 Jul  9  2019 id_ed25519.pub
-rw------- 1 fhem dialout 3381 Jul  9  2019 id_rsa
-rwxrwxrwx 1 fhem dialout  742 Jul  9  2019 id_rsa.pub
-rwxrwxrwx 1 fhem dialout  959 Okt 13 19:36 known_hosts

hat noch wer einen tipp wie ich da weiter komme?

Offline stifft79

  • Newbie
  • Beiträge: 1
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1023 am: 16 Oktober 2020, 11:40:07 »
Hi zusammen,
ich habe meinen HM-CFG-USB2 jetzt für die Plattform amd64 dockerized. Falls jemand Interesse hat, habe ich das Image auch bei Docker-Hub abgelegt.

Grüße
Veit
Hi volschin :)
kannst du mir kurz erklären, wie ich den HM-CFG-USB-2 in FHEM/Docker ans laufen bekommen hast? Sitze nun 4 Tage (mein Urlaub...) davor und bekomme es nicht hin. >:(
Die Anleitung von http://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb habe ich befolgt. Der Stick funktioniert einwandfrei auf dem RasPi ohne Docker.
Das Problem, wo ich jetzt hänge ist, das wenn ich "hmusb" in FHEM öffne, kommt das in Sekundentakt "disconnected:266 init:251".
Den Port "1234 "und den Ordner "/opt/hmcfgusb" ist in der docker-compose.yml eingetragen damit die durchgereicht werden.
FHEM 5.8 auf Surface Pro4
Alexa Echo, HueBridge, Tradfri, Bravia

Offline guhu

  • Full Member
  • ***
  • Beiträge: 166
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1024 am: 17 Oktober 2020, 22:23:44 »
Hi volschin :)
kannst du mir kurz erklären, wie ich den HM-CFG-USB-2 in FHEM/Docker ans laufen bekommen hast? Sitze nun 4 Tage (mein Urlaub...) davor und bekomme es nicht hin. >:(
Die Anleitung von http://git.zerfleddert.de/cgi-bin/gitweb.cgi/hmcfgusb habe ich befolgt. Der Stick funktioniert einwandfrei auf dem RasPi ohne Docker.
Das Problem, wo ich jetzt hänge ist, das wenn ich "hmusb" in FHEM öffne, kommt das in Sekundentakt "disconnected:266 init:251".
Den Port "1234 "und den Ordner "/opt/hmcfgusb" ist in der docker-compose.yml eingetragen damit die durchgereicht werden.

Ich nutze den Stick mit hmlan. Dazu gibt es ein separates Docker-Image, was läuft. Dieses habe ich ihm privileged-Modus laufen, damit ich Zugriff auf die seriellen Ports habe.
FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300

Offline moonsorrox

  • Hero Member
  • *****
  • Beiträge: 3626
  • Online
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1025 am: 22 Oktober 2020, 17:36:13 »
Eine Frage zum logfile von Fhem im Docker Container, er schreibt mir ja täglich ein neues logfile, ist das so gewollt..?
Ich würde das gerne monatlich haben, aber das logfile ist schreibgeschützt und ich kann es dadurch nicht ändern. Ich habe das Fhem in Docker recht neu und möchte es so langsam komplett machen.

Ich habe es in meinem Produktiv Fhem gesehen das dort in global das logfile so aussieht:./log/fhem-%Y-%m.log und ich es ändern kann.
« Letzte Änderung: 22 Oktober 2020, 17:41:22 von moonsorrox »
Intel-NUC i3: FHEM-Server 5.9 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 828
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1026 am: 22 Oktober 2020, 18:04:28 »
Hey @moonsorrox

du kannst mit einer ENV (Environmentvariable) das ganze übersteuern im Dockerfile ist es:
LOGFILE=./log/fhem-%Y-%m-%d.log \
Also einfach eine Env  "LOGFILE" anlegen mit Inhalt
./log/fhem-%Y.log
Ob das nun direkt negative folgen hat habe ich nicht geprüft. :-D Try and Error.

*EDIT ah du wolltest monatlich:
./log/fhem-%Y-%m.log
« Letzte Änderung: 22 Oktober 2020, 18:07:30 von Master_Nick »
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)

Offline Grist

  • New Member
  • *
  • Beiträge: 8
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1027 am: 23 Oktober 2020, 14:10:06 »
Hallo zusammen,

ich bin gerade dabei meinen aktuellen FHEM (RPi3) auf einem RPi4 mit Docker umzuziehen.

Ich habe einen SIGNALduino:
lrwxrwxrwx 1 root root 13 Oct 22 14:47 usb-SHA_CUL433-if00-port0 -> ../../ttyUSB0

und versuche z.B. dies in Docker-FHEM wie folgt einzubinden:
    devices:
      - "/dev/serial/by-id/usb-SHA_CUL433-if00-port0:/dev/serial/by-id/usb-SHA_CUL433-if00-port0"
      - "/dev/ttyUSB0:/dev/ttyUSB0"


Es funktioniert aber nicht...hier die Docker-Logs:
fhem    | 2020.10.23 14:00:32.899 1: /dev/serial/by-id/usb-SHA_CUL433-if00-port0 reappeared (SIGNALduinoCUL433)
fhem    | 2020.10.23 14:00:34.401 3: SIGNALduinoCUL433: SimpleWrite_XQ, disable receiver (XQ)
fhem    | 2020.10.23 14:00:34.900 3: SIGNALduinoCUL433: StartInit, get version, retry = 0
fhem    | 2020.10.23 14:00:44.915 1: SIGNALduinoCUL433: CheckVersionResp, Not an SIGNALduino device, got for V: undef
fhem    | 2020.10.23 14:00:44.918 3: SIGNALduinoCUL433: StartInit, get version, retry = 1
fhem    | 2020.10.23 14:00:44.957 1: /dev/serial/by-id/usb-SHA_CUL433-if00-port0 disconnected, waiting to reappear (SIGNALduinoCUL433)
fhem    | 2020.10.23 14:00:44.967 3: Setting SIGNALduinoCUL433 serial parameters to 57600,8,N,1
fhem    | 2020.10.23 14:00:44.979 1: SIGNALduinoCUL433: DoInit, /dev/serial/by-id/usb-SHA_CUL433-if00-port0@57600
fhem    | 2020.10.23 14:00:44.979 1: /dev/serial/by-id/usb-SHA_CUL433-if00-port0 reappeared (SIGNALduinoCUL433)
fhem    | 2020.10.23 14:00:46.481 3: SIGNALduinoCUL433: SimpleWrite_XQ, disable receiver (XQ)
fhem    | 2020.10.23 14:00:46.980 3: SIGNALduinoCUL433: StartInit, get version, retry = 0
fhem    | 2020.10.23 14:00:47.020 1: /dev/serial/by-id/usb-SHA_CUL433-if00-port0 disconnected, waiting to reappear (SIGNALduinoCUL433)
fhem    | 2020.10.23 14:00:47.030 3: Setting SIGNALduinoCUL433 serial parameters to 57600,8,N,1
fhem    | 2020.10.23 14:00:47.044 1: SIGNALduinoCUL433: DoInit, /dev/serial/by-id/usb-SHA_CUL433-if00-port0@57600
fhem    | 2020.10.23 14:00:47.045 1: /dev/serial/by-id/usb-SHA_CUL433-if00-port0 reappeared (SIGNALduinoCUL433)
fhem    | 2020.10.23 14:00:49.045 3: SIGNALduinoCUL433: StartInit, get version, retry = 0
fhem    | 2020.10.23 14:00:49.045 3: SIGNALduinoCUL433: StartInit, get version, retry = 0
fhem    | 2020.10.23 14:00:59.063 1: SIGNALduinoCUL433: CheckVersionResp, Not an SIGNALduino device, got for V: undef
fhem    | 2020.10.23 14:00:59.065 3: SIGNALduinoCUL433: StartInit, get version, retry = 1
fhem    | 2020.10.23 14:01:09.083 1: SIGNALduinoCUL433: CheckVersionResp, Not an SIGNALduino device, got for V: undef
fhem    | 2020.10.23 14:01:09.086 3: SIGNALduinoCUL433: StartInit, get version, retry = 2
fhem    | 2020.10.23 14:01:19.107 1: SIGNALduinoCUL433: CheckVersionResp, Not an SIGNALduino device, got for V: undef
fhem    | 2020.10.23 14:01:19.110 3: SIGNALduinoCUL433: StartInit, get version, retry = 3
fhem    | 2020.10.23 14:01:19.110 2: SIGNALduinoCUL433: StartInit, init retry count reached. Closed
fhem    | 2020.10.23 14:01:19.110 2: SIGNALduinoCUL433: CloseDevice, closed

Wie sollte dieses USB-Device in Docker-FHEM eingebunden werden?


Offline Master_Nick

  • Sr. Member
  • ****
  • Beiträge: 828
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1028 am: 23 Oktober 2020, 15:05:48 »
Also das hat wenig mit dem spezifischen Docker FHEM Container zu tun - ggf brauchen wir mal einen Docker Hilfe Bereich hier im Forum? :-D
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)
Gefällt mir Gefällt mir x 1 Liste anzeigen

Offline Grist

  • New Member
  • *
  • Beiträge: 8
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1029 am: 23 Oktober 2020, 20:41:18 »
Also das hat wenig mit dem spezifischen Docker FHEM Container zu tun - ggf brauchen wir mal einen Docker Hilfe Bereich hier im Forum? :-D

Das war ein Tip, danke  ;). Also...ich habe einen 2ten Container in Privileged-Mode laufen und der hat "auf das System privilegiert zugegriffen". Vorerst ist das Problem wie folgt "gelöst" (fast):

- FHEM-Container
docker-compose beinhaltet folgende Zeilen für die USB Devices:

....
    volumes:
      - ./fhem/core/:/opt/fhem/
      - /dev/serial/by-id/:/dev/serial/by-id
    devices:
      - /dev/ttyUSB0:/dev/ttyUSB0
      - /dev/ttyUSB1:/dev/ttyUSB1
...

- 2ter Container läuft nicht im privilegierten Modus

Nächstes Problem: der 2ter Container braucht Zugriff auf GPIO. Der FHEM-Container "findet den GPIO" auch:

....
fhem    | 9. Found GPIO: Correcting group permissions in /dev and /sys to 'gpio' with GID 6002 ...
fhem    | 10. Found I2C: Correcting group permissions in /dev to 'i2c' with GID 6003 ...
...

Wie kann der FHEM-Container ohne Zugriff auf GPIO gestartet werden?

Offline my-engel

  • Full Member
  • ***
  • Beiträge: 112
Hallo,

ich komme mit der Einbindung der GPIO auf Docker und dem Modul RPI_GPIO nicht weiter

Vorgeschichte:
Bin auf einen RPI4 mit RaspberryPiOSLite und Docker umgezogen.
Fhem/Docker wird gestartet mit folgenden weiteren Optionen:
(wird u.a. benötigt damit später wiringpi funktioniert.)
--device=/dev/gpiomem:/dev/gpiomem
-v /sys/class/gpio:/sys/class/gpio
-v /sys/devices/platform/soc/fe200000.gpio:/sys/devices/platform/soc/fe200000.gpio

Da das originale wiringpi Paket auf RPI4 nicht funktioniert muss noch V2.52 im Docker installiert werden:
cd /tmp
wget  https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb

folgende Befehle usw. funktionieren nun in Docker, auch die Impulse auf dem GPIO sind in Docker sichtbar
gpio readall
gpio export 24 in
gpio -g read 24
cat /sys/class/gpio/gpio24/value

Ich kann das Modul RPI_GPIO in fhem anlegen und Attribute setzen und
diese erledigen im Hintergrund auch das Anlegen der gpio-Ordner unter /sys/class/gpio
siehe Bild 1.png

Problem:
- das Modul bekommt nichts von der GPIO und seinen Zuständen mit.
  siehe Bild 2.png
- Beim starten des Container kommt im Container log:
    7. Correcting group ownership for /dev/tty* ...
  /entry.sh: line 328: [[: /dev/gpiomem: syntax error: operand expected (error token is "/dev/gpiomem")

das List vom 51_RPI_GPIO:
Internals:
   DEF        24
   FUUID      5c43081f-f33f-0edb-c7f7-29f19b9e3cef8bc6
   FVERSION   51_RPI_GPIO.pm:0.197850/2019-07-05
   GPIO_Basedir /sys/class/gpio
   GPIO_Nr    24
   NAME       GPIOGaszaehler
   NR         303
   STATE      on
   TYPE       RPI_GPIO
   WiringPi_gpio /usr/bin/gpio
   filehandle
   OLDREADINGS:
   READINGS:
     Pinlevel:
       TIME       2020-10-16 21:09:39
       VAL       
   fhem:
     interfaces switch
Attributes:
   active_low yes
   devStateIcon off:10px-kreis-gelb .*:10px-kreis-rot
   direction  input
   group      Gaszaehler
   interrupt  both
   room       Keller->Heizung->Übersicht,Kontrollraum
   toggletostate yes

könnt Ihr mir helfen?

MfG Uwe

----------

EDIT: ich glaube es liegt an den Berechtigungen...

fhem ist in der Gruppe gpio:
root@fhem:/opt/fhem# adduser fhem gpio
The user `fhem' is already a member of `gpio'.

die Dateiberechtigungen stehen auf:
root@fhem:/opt/fhem# ls -la /sys/class/gpio/gpio24/value
-rwxrwxr-- 1 fhem fhem 4096 Okt 17 21:19 /sys/class/gpio/gpio24/value

aber wenn ich in FHEM teste kommt folgendes:
{`cat /sys/class/gpio/gpio24/value`}
cat: /sys/class/gpio/gpio24/value: Permission denied

dann im Container:
sudo chmod 7777 -c -R /sys/class/gpio/gpio24/value
mode of '/sys/class/gpio/gpio24/value' changed from 0777 (rwxrwxrwx) to 7777 (rwsrwsrwt)

und wieder in fhem:
{`cat /sys/class/gpio/gpio24/value`}
cat: /sys/class/gpio/gpio24/value: Permission denied

Ich kapiere es nicht....

MfG Uwe


FHEM: => FB7490(OS 06.30-freetz-devel-13932M)
           => RPi3
IO:       HMLAN / HMUSB2 / HMUARTLGW / nanoCUL433

Offline Grist

  • New Member
  • *
  • Beiträge: 8
Wenn ich mit "docker-compose up -d" den FHEM starte, dann sehe ich mit "docker-compose logs --follow" wie die Zugriffsrechte auf GPIO "angepasst" werden:
....
fhem    | 9. Found GPIO: Correcting group permissions in /dev and /sys to 'gpio' with GID 6002 ...
fhem    | 10. Found I2C: Correcting group permissions in /dev to 'i2c' with GID 6003 ...
...

Was ich vorschlagen könnte...starte den Container in Privileged Modus, dann hat der Container Zugriff auf das ganze Subsystem des RPi 4. Das ist halt keine Lösung vorerst, aber es könnte helfen...das Probel zu identifizieren...

 

decade-submarginal