Offizielles FHEM Docker Basis Image für verschiedene Plattformen

Begonnen von Loredo, 28 Juli 2018, 21:24:57

Vorheriges Thema - Nächstes Thema

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

guhu

Zitat von: kadettilac89 am 25 November 2020, 19:05:35
Test mit chmod 666 (nicht ausführbar)


root@fhemlxc:/docker/docker_files/fhemscripts# ls -l
insgesamt 4
-rw-rw-rw- 1 root root 461 25. Nov 17:59 pre-start.sh
root@fhemlxc:/docker/docker_files/fhemscripts# ./pre-start.sh
bash: ./pre-start.sh: Keine Berechtigung


Das ist, zwar auf Deutsch, die Meldung. Oder welche Meldung meinst du?

Unter Unix sind die Rechte zur Ausführung mit "x" gekennzeichnet. Die fehlen beim Skript. Also keine Berechtigung, das Skript auszuführen. auf Shell Ebene würde ein chmod +x pre-start.sh helfen.
FHEM 5.9 auf Synology DS918+ (in Docker), HM-CFG-USB2 mit hmlan, HM-CC-RT-DN, HM-SEC-SC-2, nanoCUL,a-culfw,deCONZ,Brennenstuhl-Steckdosen,-FB
Module:ENIGMA2,SONOS,FRITZBOX,FB_CALLLIST,WDT_TIMER,VCONTROL300,WITHINGS

kadettilac89

Zitat von: WW am 25 November 2020, 14:02:15

Und aus der Shell des Docker-Containers (über Portainer):

.....
-rwxrwxrwx+ 1 fhem users     443 Nov 24 21:39 pre-init.sh
.....
root@NAS-2:/docker# ./post-init.sh
bash: ./post-init.sh: Permission denied                       <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
.....


[/code]


Zitat von: Wernieman am 25 November 2020, 18:53:33
Was steht z.B. in den ersten Zeilen von post_init.sh

Eigentlich sieht die Fehlermeldung, wenn nicht Ausführbar, anders aus ....

Zitat von: kadettilac89 am 25 November 2020, 19:05:35
Test mit chmod 666 (nicht ausführbar)


root@fhemlxc:/docker/docker_files/fhemscripts# ls -l
insgesamt 4
-rw-rw-rw- 1 root root 461 25. Nov 17:59 pre-start.sh
root@fhemlxc:/docker/docker_files/fhemscripts# ./pre-start.sh
bash: ./pre-start.sh: Keine Berechtigung                          <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<


Das ist, zwar auf Deutsch, die Meldung. Oder welche Meldung meinst du?

Zitat von: guhu am 26 November 2020, 14:28:08
Unter Unix sind die Rechte zur Ausführung mit "x" gekennzeichnet. Die fehlen beim Skript. Also keine Berechtigung, das Skript auszuführen. auf Shell Ebene würde ein chmod +x pre-start.sh helfen.

es war ja auch Sinn und Zweck des Tests die Fehlermeldung zu erzeugen. Es sollte zeigen, dass die Meldung "bash: ./pre-start.sh: Keine Berechtigung" auf fehlende Berechtigung hinweist.

Ursache des Problems ... von ww ... wurde in der Zwischenzeit schon gefunden.

WW

Zitat von: kadettilac89 am 26 November 2020, 10:02:52
nicht empfohlen, wird bei upgrades, ggf. schon bei reboot überschrieben.

es gibt dafür eigene config files
https://openmediavault.readthedocs.io/en/5.x/various/fs_env_vars.html

Damit habe ich mein Problem lösen können. Das manuelle Ändern der fstab wurde (wie von kadettilac89 angedeutet) beim Neustart von OMV überschrieben.
FHEM 6.0 im Docker-Container (OMV4 auf ASRock J3455-ITX), FHEM 6.0 auf Raspi, Fritzbox 7490, CUL433, CUL868, Jeelink868, SIGNALduino, LaCrosseGateway, SonoffZbBridge, Shelly, Sonoff, ESP8266, ESP32, ESP32-Cam, LaCrosse, Revolt, OneWire, Zigbee (Sonoff, Blitzwolf, IKEA, Lidl)

kadettilac89

aber jetzt wieder back to topic, aktuell etwas OT ... Offizielles FHEM Docker Basis Image für verschiedene Plattformen

Hallo IT-Helpdesk, ich habe immer Kopfschmerzen wenn ich hackevoll mit dem Kopf auf die Tastatur aufschlage
- OK, und wieso rufen sie den IT-Helpdesk? -
Na hören sie, sie kümmern sich um PCs und die Tastatur ist ja schließlich an den PC angeschlossen!

ch.eick

#1070
Hallo zusammen,

ich verwende das FHEM Docker Image und habe dies am 11.11 aktualisiert, das war wohl ein schlechtes datum :-) Hellau.

Ich weiß natürlich nicht seit wann, aber beim sauber machen habe ich im log folgendes gefunden

2020.12.01 12:43:06.107 1: PERL WARNING: Subroutine websocket_Initialize redefined at ./FHEM/00_websocket.pm line 43.
2020.12.01 12:43:06.109 1: reload: Error:Modul 00_websocket deactivated:
Can't locate Protocol/WebSocket/Handshake/Server.pm in @INC (you may need to install the Protocol::WebSocket::Handshake::Server module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at ./FHEM/00_websocket.pm line 63.
BEGIN failed--compilation aborted at ./FHEM/00_websocket.pm line 63.
2020.12.01 12:43:06.109 0: Can't locate Protocol/WebSocket/Handshake/Server.pm in @INC (you may need to install the Protocol::WebSocket::Handshake::Server module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/arm-linux-gnueabihf/perl5/5.28 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at ./FHEM/00_websocket.pm line 63.
BEGIN failed--compilation aborted at ./FHEM/00_websocket.pm line 63.


Ist das "Protocol::WebSocket::Handshake::Server module" nicht im Image?
Und an welcher stelle soll ich das ins .yml File eintragen?


  fhem:
    image: fhem/fhem:latest
    restart: always
    network_mode: host
    privileged: true
#    devices:
#      - "/dev/ttyACM0:/dev/ttyACM0"                                   <<< da hängt ein Device dran, dass in einem anderen Container verwendet wird
    volumes:
      - "./core/:/opt/fhem/"
#      - "./core/contrib/configDB/configDB.conf:/opt/fhem/configDB.conf"
    environment:
      PIP_PKGS: "vallox_websocket_api fhem beautifulsoup4"
      CPAN_PKGS: "Crypt::OpenSSL::AES XML::Bare"
      FHEM_UID: 6061
      FHEM_GID: 6061
      TIMEOUT: 10
      RESTART: 1
      TELNETPORT: 7072
      TZ: Europe/Berlin
#      CONFIGTYPE: configDB
    depends_on:
      - "mysql"


Gruß
   Christian
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

kadettilac89

Zitat von: ch.eick am 01 Dezember 2020, 12:48:28

Ist das "Protocol::WebSocket::Handshake::Server module" nicht im Image?
Und an welcher stelle soll ich das ins .yml File eintragen?


  fhem:
    image: fhem/fhem:latest
    restart: always
    network_mode: host
    privileged: true
#    devices:
#      - "/dev/ttyACM0:/dev/ttyACM0"                                   <<< da hängt ein Device dran, dass in einem anderen Container verwendet wird
    volumes:
      - "./core/:/opt/fhem/"
#      - "./core/contrib/configDB/configDB.conf:/opt/fhem/configDB.conf"
    environment:
      PIP_PKGS: "vallox_websocket_api fhem beautifulsoup4"
      CPAN_PKGS: "Crypt::OpenSSL::AES XML::Bare"
      FHEM_UID: 6061
      FHEM_GID: 6061
      TIMEOUT: 10
      RESTART: 1
      TELNETPORT: 7072
      TZ: Europe/Berlin
#      CONFIGTYPE: configDB
    depends_on:
      - "mysql"




Hi, im Dockerfile sehe ich das Handshake-Modul nicht, nur "Net::WebSocket::Server" ... hört sich ähnlich an, aber ist halt nicht was du benötigst.

In deinem compose-file hast du schon den parameter .. hänge es da mit an (mit Leerzeichen getrennt) und erzeuge dann den Container neu. (Docker-Compose up .... )

      CPAN_PKGS: "Crypt::OpenSSL::AES XML::Bare Protocol::WebSocket::Handshake::Server module"


ch.eick

#1072
Zitat von: kadettilac89 am 01 Dezember 2020, 14:43:39
Hi, im Dockerfile sehe ich das Handshake-Modul nicht, nur "Net::WebSocket::Server" ... hört sich ähnlich an, aber ist halt nicht was du benötigst.

In deinem compose-file hast du schon den parameter .. hänge es da mit an (mit Leerzeichen getrennt) und erzeuge dann den Container neu. (Docker-Compose up .... )

      CPAN_PKGS: "Crypt::OpenSSL::AES XML::Bare Protocol::WebSocket::Handshake::Server module"
Okay, das mach ich dann mal.
EDIT: Und schon sind die Fehler weg :-)
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

kadettilac89

hab grad gesehen, du hattest in den Anführungszeichen noch das Wort modul drin, das gehört natürlich nicht in den Parameter. Das unten sollte aber passen

CPAN_PKGS: "Crypt::OpenSSL::AES XML::Bare Protocol::WebSocket::Handshake::Server"

ch.eick

Nächste Meldung:

8. Found GPIO: Correcting group permissions in /dev and /sys to 'gpio' with GID 6002 ...
/entry.sh: line 328: [[: /dev/gpiomem
/dev/gpiochip1
/dev/gpiochip0: syntax error: operand expected (error token is "/dev/gpiomem
/dev/gpiochip1
/dev/gpiochip0")

Da kann ich aber nichts dafür ;-) Es ist ein RPI4 , aber am GPIO ist bisher nichts angeschlossen.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

ch.eick

Und das hier scheint so auch okay zu sein???

2020.12.01 15:14:07.694 1: Including fhem.cfg
2020.12.01 15:14:07.724 1: PERL WARNING: Subroutine MyUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 10, <$fh> line 12.
2020.12.01 15:14:07.726 1: PERL WARNING: Subroutine KalenderDatum redefined at ./FHEM/99_myUtils.pm line 27, <$fh> line 12.
2020.12.01 15:14:07.727 1: PERL WARNING: Subroutine datumHeuteMorgen redefined at ./FHEM/99_myUtils.pm line 47, <$fh> line 12.
2020.12.01 15:14:07.728 1: PERL WARNING: Subroutine getCalendar redefined at ./FHEM/99_myUtils.pm line 65, <$fh> line 12.
...
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

kadettilac89

die gpio meldung kenn ich nicht, kannst vermutlich ignorieren wenn sowieso nichts angeschlossen ist. die deiner myUtils hat nichts mit Docker zu tun. Das sind deine eigenen Routinen. Sind aber nur Warnungen.

dancatt

Hallo zusammen,

aktuell versuche ich auch auf Docker umzustellen. Soweit klappt auch vieles schon. Danke an dieser Stelle für die tolle Arbeit am Docker-Image.

Folgende Fehlermeldung habe ich im Log:
2020.12.21 13:05:30.974 2: DbLog dbLog -> Error table history - DBD::SQLite::st execute_array failed: database disk image is malformed [err was 11 now 2000000000]
executing 1460 generated 1460 errors at ./FHEM/93_DbLog.pm line 2652.


Hatte das schon jemand?

Vielen Dank.

MfG
Daniel
Cubietruck: FHEM-Server 6.0

Homematic: HM-USB-CFG2, HM-CFG-LAN, HM-LC-SW1-FM, HM-LC-Sw1-Pl-DN-R1, HM-CC-RT-DN, HM-TC-IT-WM-W-EU, HM-SEC-SC-2, HM-SEC-SD, HM-PB-6-WM55

ch.eick

#1078
Zitat von: dancatt am 21 Dezember 2020, 13:26:12
Folgende Fehlermeldung habe ich im Log:
2020.12.21 13:05:30.974 2: DbLog dbLog -> Error table history - DBD::SQLite::st execute_array failed: database disk image is malformed [err was 11 now 2000000000]
executing 1460 generated 1460 errors at ./FHEM/93_DbLog.pm line 2652.

Da scheint Deine Datenbank ein fehlerhaftes Image zu haben.

Edit: Sorry, das war missverständlich, ich meinte das Datenbank File.
RPI4; Docker; CUNX; Eltako FSB61NP; SamsungTV H-Serie; Sonos; Vallox; Luxtronik; 3x FB7490; Stromzähler mit DvLIR; wunderground; Plenticore 10 mit BYD; EM410; SMAEM; Modbus TCP
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/ch.eick

Wernieman

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html