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

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3459
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #240 am: 13 März 2019, 16:29:14 »
Das ist bei FHEM anders. FHEM kann nicht über das Image aktualisiert werden, nur die Umgebung drum herum.
Das grundsätzliche Design von FHEM lässt das nicht anders zu.
FHEM-Module: ENIGMA2, GEOFANCY, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM-Docker auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline marty29ak

  • Full Member
  • ***
  • Beiträge: 152
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #241 am: 17 März 2019, 00:22:10 »
Hallo, erst mal danke für deine Arbeit uns das Docker Image zu Verfügung zu stellen!!

Allerdings versuche ich mich schon den ganzen Tag  daran das ganze auf meinem Synology System ordentlich ans laufen zu bringen.
Grundsätzlich geht auch erst mal alles wie gewünscht, allerdings lastet das Fhem sobald ich meine fhem.cfg einspiele das NAS komplett aus.
Es funktioniert zwar alles normal weiter aber die vier Prozessoren sind durchgehen auf 100%. Wenn die fhem.cfg original vom Image bleibt habe ich die Effekt nicht. Der Fehler liegt also bei mir nur,....
finde einfach nicht den (sicher dummen) Fehler.
Vielleicht kann ja mal Jemand drüber schauen und mir einen Tip geben?

« Letzte Änderung: 17 März 2019, 00:28:17 von marty29ak »
Gruß Martin

Offline eisler

  • Developer
  • Full Member
  • ****
  • Beiträge: 227
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #242 am: 17 März 2019, 09:01:14 »

Mit einem aktuellen 5.9-s18876_v1.10.2 Image habe ich den gleichen Effekt:

root@7fac1843c202:/opt/fhem# ps faxw
  PID TTY      STAT   TIME COMMAND
 2120 pts/0    Ss     0:00 bash
 2161 pts/0    R+     0:00  \_ ps faxw
    1 ?        Ss     0:00 /bin/bash /entry.sh start
  211 ?        S      0:00 perl fhem.pl fhem.cfg
  214 ?        S      0:00  \_ perl fhem.pl fhem.cfg
  216 ?        S      0:00      \_ sh -c echo n | node -e "console.log(JSON.stringify(process.versions));" 2>&1
  218 ?        Rl     1:22          \_ node -e console.log(JSON.stringify(process.versions));
 2160 ?        S      0:00 sleep 0.5
root@7fac1843c202:/opt/fhem# top

top - 08:39:48 up  6:54,  0 users,  load average: 2.62, 1.10, 0.41
Tasks:   8 total,   2 running,   6 sleeping,   0 stopped,   0 zombie
%Cpu(s): 21.3 us, 41.2 sy,  0.0 ni, 37.2 id,  0.2 wa,  0.0 hi,  0.2 si,  0.0 st
KiB Mem :  2047036 total,   194320 free,   662796 used,  1189920 buff/cache
KiB Swap:  1048572 total,  1028840 free,    19732 used.  1201996 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                     
  218 fhem      20   0  157720  13304  12756 R  99.0  0.6   1:51.57 node                                                                                         
    1 root      20   0   19784   3544   3088 S   0.3  0.2   0:00.39 entry.sh                                                                                     
  211 fhem      20   0   90188  31724   4528 S   0.0  1.5   0:00.23 perl                                                                                         
  214 fhem      20   0   81352  28784   2120 S   0.0  1.4   0:00.00 perl                                                                                         
  216 fhem      20   0    4276    720    656 S   0.0  0.0   0:00.00 sh                                                                                           
 2120 root      20   0   19864   3836   3288 S   0.0  0.2   0:00.03 bash                                                                                         
 2511 root      20   0   44772   3580   3108 R   0.0  0.2   0:00.00 top                                                                                         
 2727 root      20   0    5828    684    620 S   0.0  0.0   0:00.00 sleep

Offline marty29ak

  • Full Member
  • ***
  • Beiträge: 152
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #243 am: 17 März 2019, 09:50:32 »
Wenn man die Zeilen für den Telnetport mit der Raute deaktiviert, scheint es das Problem nicht zu geben.

#define allowed_telnetPort allowed
#attr allowed_telnetPort allowedCommands on,off
#attr allowed_telnetPort globalpassword 1
#attr allowed_telnetPort room A_Global
#attr allowed_telnetPort validFor telnetPort
Gruß Martin

Offline eisler

  • Developer
  • Full Member
  • ****
  • Beiträge: 227
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #244 am: 17 März 2019, 13:28:15 »
noch mal mit 5.9-s18929_v1.10.3 getestet. Sieht nach einem "node" Problem aus.
Warum das mit 100% CPU hängt ist mir unklar. Der gleiche Befehl via Shell kommt sofort zurück:
root@bc8aa69cf2e8:/opt/fhem# sh -c echo n | node -e "console.log(JSON.stringify(process.versions));" 2>&1
{"http_parser":"2.8.0","node":"10.15.3","v8":"6.8.275.32-node.51","uv":"1.23.2","zlib":"1.2.11","ares":"1.15.0","modules":"64","nghttp2":"1.34.0","napi":"3","openssl":"1.1.0j","icu":"62.1","unicode":"11.0","cldr":"33.1","tz":"2018e"}
root@bc8aa69cf2e8:/opt/fhem#

Grüße
Stephan

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3459
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #245 am: 18 März 2019, 10:34:51 »
noch mal mit 5.9-s18929_v1.10.3 getestet. Sieht nach einem "node" Problem aus.
Warum das mit 100% CPU hängt ist mir unklar. Der gleiche Befehl via Shell kommt sofort zurück:
root@bc8aa69cf2e8:/opt/fhem# sh -c echo n | node -e "console.log(JSON.stringify(process.versions));" 2>&1
{"http_parser":"2.8.0","node":"10.15.3","v8":"6.8.275.32-node.51","uv":"1.23.2","zlib":"1.2.11","ares":"1.15.0","modules":"64","nghttp2":"1.34.0","napi":"3","openssl":"1.1.0j","icu":"62.1","unicode":"11.0","cldr":"33.1","tz":"2018e"}
root@bc8aa69cf2e8:/opt/fhem#


Ich bekomme das bei mir leider nicht nachgestellt.  ???


Wenn man die Zeilen für den Telnetport mit der Raute deaktiviert, scheint es das Problem nicht zu geben.

#define allowed_telnetPort allowed
#attr allowed_telnetPort allowedCommands on,off
#attr allowed_telnetPort globalpassword 1
#attr allowed_telnetPort room A_Global
#attr allowed_telnetPort validFor telnetPort


Der lokale Telnet Port darf nicht beschränkt sein. Das braucht man auch nicht, solange man ihn nicht als "global" definiert.
Wer einen globalen Telnet Port braucht, legt einen separaten an, der dann geschützt werden kann.
FHEM-Module: ENIGMA2, GEOFANCY, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM-Docker auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline eisler

  • Developer
  • Full Member
  • ****
  • Beiträge: 227
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #246 am: 18 März 2019, 16:01:17 »
Hallo Loredo,

danke fürs nachschauen. Ist alles ok. War wohl bloß ein Docker Swarm Problem.

Grüße
Stephan

Offline adnan

  • New Member
  • *
  • Beiträge: 8
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #247 am: 21 März 2019, 08:16:15 »
Hallo zusammen

Danke für das Docker Image. Ich betreibe mein Setup auf einem raspi 3 und das ganze läuft sehr stabil.

Ein problem habe ich aktuell noch:
FHEM/FhemUtils/uniqueID

D.h. jedesmal wenn ich den container neu erstelle (z.B. um auf das neueste Image zu wechseln), sind die dort abgelegten secrets im Eimer. Mein TelegramBot und der Alexa Skill speichern ihre Secrets in diesem File. Ich muss für den TelegramBot das Token dann nochmals neu setzen bzw. Alexa nochmals neu einrichten.
uniqueID ist irgendwie am host system gekoppelt, was in einem docker setup nicht so vorteilhaft ist.

Hat jemand eine Lösung für dieses Problem?
Von mir aus kann man die uniqueID auch komplett deaktivieren, falls jemand weiss wie das geht. Oder mindestens auf das neue Image migrieren.
« Letzte Änderung: 21 März 2019, 08:59:09 von adnan »

Offline kadettilac89

  • Sr. Member
  • ****
  • Beiträge: 950
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #248 am: 21 März 2019, 10:11:39 »
Hat jemand eine Lösung für dieses Problem?
Von mir aus kann man die uniqueID auch komplett deaktivieren, falls jemand weiss wie das geht. Oder mindestens auf das neue Image migrieren.

Wo liegen die Secrets? Sind das Dateien? Wenn ja, kannst du diese per docker cp in beide Richtungen kopieren ... https://docs.docker.com/engine/reference/commandline/cp/

Alternativ dazu, vorausgesetzt der Fhem-User im Container hat Schreibrechte, könntest das auch direkt aus Fhem machen lassen ... {qx (cp -p /<pfad>/file /opt/fhem/log/file_sik) } ... und beim Zurückspielen genau in umgekehrter Reihenfolge

Offline adnan

  • New Member
  • *
  • Beiträge: 8
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #249 am: 21 März 2019, 11:31:42 »
ich hab mein komplettes fhem directory als volume in den container ge-mounted.

Mein komplettes fhem und damit auch das File ist  persistent und verschwindet nicht, falls der container bzw. das image neu erstellt werden.
Daher muss ich das nicht kopieren.

Im textfile "FHEM/FhemUtils/uniqueID" werden passwörter, etc. verschlüsselt abgelegt.
Das Problem ist, das das "FHEM/FhemUtils/uniqueID" irgendwie am am host gekoppelt ist. Wenn ich einen neuen container nach einem image update starte, dann ist das wie ein neuer host und alle einträge in das "uniqueID" file sind nicht mehr valide, obwohl noch vorhanden und unverändert.

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3459
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #250 am: 23 März 2019, 09:38:16 »
Dieses Problem ist mir nicht bekannt.
Wenn /opt/fhem als ganzes Volume behandelt wird, dann verschwinden Dateien nicht einfach so daraus. Dateien aus und in den Container zu kopieren ist nicht der richtige Weg dafür.
Bitte die README.md beachten.
FHEM-Module: ENIGMA2, GEOFANCY, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM-Docker auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline arallon

  • Jr. Member
  • **
  • Beiträge: 59
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #251 am: 29 März 2019, 20:29:26 »
Betreibt das Image noch jemand auf Synology mit alexa-fhem?

Habe das heute versucht ans laufen zu bekommen. Wenn ich das aus dem Terminal starte mit dem user "fhem" (also alexa-fhem), dann startet der Service und ist erreichbar unter Port 3000.
Starte ich das ganze via definiertem Device bekomme ich immer das Problem mit den Berechtigungen auf dem home dir. (Ich habe ein Ordner eingebunden für /opt/fhem).
chmod Befehl als fhem/root haben bisher keine Abhilfe geschafft. Stehe wohl irgendwie auf dem Schlauch gerade.

Jemand ein Denkanstoss? Noch der letzte Step damit ich vom rasp umziehen kann.

Danke und Gruss

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3459
  • ~ Challenging Innovation ~
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #252 am: 29 März 2019, 20:33:20 »
Die Berechtigungen für /opt/fhem werden beim Start des Containers automatisch durch das entry-Script korrigiert.
Ich verstehe nicht, was du hiermit meinst:


Starte ich das ganze via definiertem Device bekomme ich immer das Problem mit den Berechtigungen auf dem home dir.
FHEM-Module: ENIGMA2, GEOFANCY, PHTV, RESIDENTS, ROOMMATE, GUEST, HP1000, Pushover, THINKINGCLEANER, Wunderground | FHEM-Befehl: msg

FHEM-Docker auf Intel NUC mit Proxmox VE
Homematic via HMCCU, Hue Color Bulbs, LG OLED 65C8, Sonos Playbar+2xOne+Sub, 2x Sonos One, 1x Sonos Play:1

Offline arallon

  • Jr. Member
  • **
  • Beiträge: 59
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #253 am: 29 März 2019, 20:55:26 »
ah ich meinte, wenn ich ein Device (alexa) im fhem anlege und dort via set Befehl starte.
Dann gibts das reading, dass etwas mit den Berechtigungen auf das home directory nicht passt und ein chmod 755 ausgeführt werden sollte.

alexaFHEM.ProxyConnection
error; user homedir writable by group/other ('chmod 755 /opt/fhem' required)


edit: das Problem scheint gelöst (alles neu und im terminal chmod hat jetzt geklappt) jetzt muss ich mir das mal anschauen, da ich noch 0.4.4 verwendet hatte vorher.
« Letzte Änderung: 29 März 2019, 21:40:44 von arallon »

Offline adnan

  • New Member
  • *
  • Beiträge: 8
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #254 am: 01 April 2019, 17:16:58 »
Dieses Problem ist mir nicht bekannt.
Wenn /opt/fhem als ganzes Volume behandelt wird, dann verschwinden Dateien nicht einfach so daraus. Dateien aus und in den Container zu kopieren ist nicht der richtige Weg dafür.
Bitte die README.md beachten.

Wie gesagt, ich kopiere die Dateien nicht aus dem Container. Ich mounte mein fhem root verzeichnis in den container als volume, gemäss der Anleitung. Ich nutze Docker-Compose für mein Setup.

Anders gefragt:
Hat jemand Telegram oder alexa-fhem am laufen? Falls ja, funktionieren diese zwei Geräte nach einem Image-Update noch korrekt?

Bei mir gehend diese zwei Geräte "kaputt", weil die tokens nach einem neuen image nicht mehr OK sind. Bei diesen zwei Plugins werden die tokens in der oben genannten Datei "uniqueID" gespeichert.

 

decade-submarginal