Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

kadettilac89

Zitat von: CoolTux am 21 Oktober 2021, 08:39:43
Ich habe heute mal den gAssistant eingerichtet und der lief im Docker.
Versionen bei Auslieferung
node -v: v14.18.1
npm -v: 8.1.0
Ich habe einen komplett neuen Container angelegt. Ohne irgend einer Config. Def siehe unten als List. Definition selber bringt noch keinen Fehler, erst wenn man den Auth-Code einträgt. Man kann dann auch nichts schalten.

Reden wir vom selben Docker Image? docker pull ghcr.io/fhem/fhem-experimental:dev ... oder hast du ein anderes Tag?


Internals:
   CFGFN     
   FD         9
   FUUID      6171982d-f33f-7fa4-9c60-d3343d548af4ffac
   LAST_START 2021-10-21 18:42:44
   LAST_STOP  2021-10-21 18:42:44
   NAME       gassistant
   NOTIFYDEV  global,global:npmjs.*gassistant-fhem.*
   NR         35
   NTFY_ORDER 50-gassistant
   PID        7306
   STARTS     3
   STATE      login failed, please retry
   TYPE       gassistant
   currentlogfile ./log/gassistant-2021-10-21.log
   logfile    ./log/gassistant-%Y-%m-%d.log
   CoProcess:
     cmdFn      gassistant_getCMD
     name       gassistant-fhem
     state      running /usr/bin/gassistant-fhem
   READINGS:
     2021-10-21 18:42:44   gassistant-fhem running /usr/bin/gassistant-fhem
     2021-10-21 18:42:49   gassistant-fhem-connection login failed, please retry
     2021-10-21 18:42:46   gassistant-fhem-lastServerError none
     2021-10-21 18:42:49   gassistant-fhem-lasterror ReferenceError: exports is not defined
     2021-10-21 18:42:48   gassistant-fhem-localHome inactive
     2021-10-21 18:42:13   gassistant-fhem-uid google-oauth2|100018623537520537581
     2021-10-21 18:42:46   gassistant-fhem-version 3.0.4
     2021-10-21 18:42:46   gassistant-fhem-versionAvailable 3.0.4
     2021-10-21 18:42:46   gassistantFHEM.loginURL rect_uri=https://europe-west1-fhem-ga-connector.cloudfunctions.net/codelanding/start_xxxxxxxxxxxxx___rest_aus_ge_xx_t" target="_blank">Click here to login (new window/tab)</a><br></html>
     2021-10-21 18:42:12   gassistantFHEM.refreshToken crypt:xxxxxxxxxxxxxxxx_aus_ge_xx_t
Attributes:
   devStateIcon { my $error = ReadingsVal($name,"gassistant-fhem-lastServerError","none") eq "none"?"10px-kreis-gruen":"10px-kreis-rot";; my $onoff = substr(ReadingsVal($name, "gassistant-fhem", "running"),0,7) eq "running"?"control_on_off\@green":"control_on_off\@red";; my $reload = ReadingsVal($name, "gassistant-fhem-connection", "connected") eq "connected"?"audio_repeat\@green":"audio_repeat\@orange";;"<div><a>".FW_makeImage($error)."</a> <a href=\"/fhem?cmd.dummy=set $name reload&XHR=1\">".FW_makeImage($reload, "reload")."</a><a href=\"/fhem?cmd.dummy=set $name restart&XHR=1\">&nbsp;&nbsp;".FW_makeImage($onoff, "restart")."</a></div>"}
   gassistantFHEM-config ./gassistant-fhem.cfg
   gassistantFHEM-log ./log/gassistant-%Y-%m-%d.log
   icon       gassistant
   nrarchive  10
   room       GoogleAssistant
   stateFormat gassistant-fhem-connection


Selber Fehler im gassistant log

ReferenceError [Error]: exports is not defined
    at eval (eval at apply (/usr/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/fixasync.js:21:10), <anonymous>:1:1)
    at eval (<anonymous>)
    at Object.apply (/usr/lib/node_modules/gassistant-fhem/node_modules/vm2/lib/fixasync.js:21:10)
    at Object.FHEM_getClientFunctions (/usr/lib/node_modules/gassistant-fhem/lib/remote-localhandleEXECUTE.js:18:5)
    at processTicksAndRejections (internal/process/task_queues.js:95:5)

CoolTux

Ah verstehe. So weit war ich leider nicht. Dann muss ich mir das genauer anschauen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

kadettilac89

Zitat von: CoolTux am 21 Oktober 2021, 19:07:00
Ah verstehe. So weit war ich leider nicht. Dann muss ich mir das genauer anschauen.

Das Problem ist im gassistant Thread auf Raspi, Linux Host ohne Docker (glaub ich), in "deinem" Container aufgetreten ... liegt nicht speziell an Docker.

Was komisch ist, wenn ich den Container von volschin nutze und dann am os node, und aus fhem npm auf 8.1 upgrade dann läuft gassistant weiterhin.

Ich vermute, dass es Probleme nur gibt wenn initial gleich mit npm 8.1 und der aktuellsten node-Version gestartet wird. Da muss dominik mal drauf schauen. Vielleicht wird bei älteren Installer was mit installiert was beim aktuellsten nicht mehr dabei ist.

Sollte auch nur ein Hinweis sein, keine Aufforderung dass du es lösen sollst.

Versionen von volschin nach der Erstellung des Containers

npm -v
7.20.6
node -v
v14.17.5


nach Upgrade und gassistant funktioniert weiterhin

node -v
v14.18.1
npm -v
8.1.0


fermoll

Seit einigen Tagen habe ich meine FHEM Installation von einem RPI 3B auf meine Synology DS 1621+ mit 32 GB Ram in Docker verlagert. Verwendet wird Diskmanger 7 (DSM 7).
Das ist insofern interessant, dass keine USB -Sticks mehr verwendet werden können. außerdem ist der Systemzugriff fast unmöglich, so dass die FHEMConfig nicht kopiert werden konnte. Der Zugriff auf die MAX!Cubes, CUNO (Lan) war eigentlich problemlos, nachdem ich die MAX! Konfiguration mit der MAX! Local Application reorganisiert hatte. Auch den Cuno (LAN Cul) konnte ich in Betrieb nehmen. Allerdings habe ich vor, die S300TH Thermometer durch Wemos DHT 22 zu ersetzen. Das war auch reletiv problemlos möglich, bis auf die Möglichkeit, mehrere Sensoren an einem Wemos zu verwenden.
Wenn man den Devices einen Namen gibt, werden bei autocreate die entsprechenden Devices eingerichtet.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

Wernieman

Verstehe jetzt nur nicht: Hast Du ein Problem oder Nicht?
- 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

fermoll

Die Probleme habe ich erst einmal gelöst. Es läuft auf dem Docker bisher sehr gut. Ein großer Unterschied zum RPI 3.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

CoolTux

Ich baue mal ein Dockerimage wo explizit Version 3.0.3 installiert wird. Melde mich wenn ich soweit bin.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Hat nichts gebracht, damit startet gassistant-fhem erst gar nicht. Bringt nur Fehlermeldungen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wernieman

Dürfte aber nicht am Docker, sondern an den Packeten liegen .. oder?
- 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

CoolTux

Zitat von: Wernieman am 23 Oktober 2021, 14:49:31
Dürfte aber nicht am Docker, sondern an den Packeten liegen .. oder?

Ich gehe auch davon aus daß es an den Paketen liegt.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

kadettilac89

Zitat von: CoolTux am 23 Oktober 2021, 14:50:05
Ich gehe auch davon aus daß es an den Paketen liegt.

Wie weiter oben geschrieben, in gassistant Thread ist der Fehler nativ auf Raspi, Linux Host sowie dem test-Docker von dir. Es war nur ein Hinweis da ältere Docker das Problem nicht hatten. Ggf. neueste node Version wenn initial damit begonnen wurde und nicht per Update von älterer Version.

ch.eick

#1301
Hallo zusammen,
ich möchte nun das erste mal im FHEM container npm und node verwenden. Dazu habe ich mich im container angemeldet und npm ist weder unter root noch unter fhem zu finden.


root@raspberrypi:/opt/fhem# node --version
v10.24.1
root@raspberrypi:/opt/fhem# npm --version
bash: npm: command not found
root@raspberrypi:/opt/fhem#

root@raspberrypi:/opt/fhem# sudo su - fhem
fhem@raspberrypi:~$ node --version
v10.24.1
fhem@raspberrypi:~$ npm --version
-bash: npm: command not found
fhem@raspberrypi:~$


verbose 5 log

2021.10.26 13:43:50.695 5: npmjs (fhemServerNpm) - Notify: [
  'ATTR fhemServerNpm verbose 5'
]

echo n | LC_ALL=C node -e "console.log(JSON.stringify(process.versions));" 2>&1
2021.10.26 13:44:08.451 5: npmjs (fhemServerNpm) - Notify: [
  'state: command \'npm getNodeVersion\' in progress'
]

2021.10.26 13:44:08.456 4: npmjs (fhemServerNpm) - execute command asynchronously (PID= 16779)
2021.10.26 13:44:08.458 4: npmjs (fhemServerNpm) - control passed back to main loop.
2021.10.26 13:44:09.458 4: npmjs (fhemServerNpm) - got result from asynchronous parsing.
2021.10.26 13:44:09.458 4: npmjs (fhemServerNpm) - asynchronous finished.
2021.10.26 13:44:09.459 4: npmjs (fhemServerNpm) - clean Subprocess
2021.10.26 13:44:09.459 4: npmjs (fhemServerNpm) - JSON: {"versions":{"openssl":"1.1.1k","v8":"6.8.275.32-node.59","zlib":"1.2.11","brotli":"1.0.7","napi":"7","modules":"64","icu":"64.2","nghttp2":"1.41.0","unicode":"12.1","cldr":"35.1","ares":"1.15.0","uv":"1.34.2","tz":"2019c","http_parser":"2.9.4","node":"10.24.1"}}
2021.10.26 13:44:09.459 4: npmjs (fhemServerNpm) - Write Readings
2021.10.26 13:44:09.460 5: npmjs (fhemServerNpm) - {
  'versions' => {
                  'ares' => '1.15.0',
                  'brotli' => '1.0.7',
                  'cldr' => '35.1',
                  'http_parser' => '2.9.4',
                  'icu' => '64.2',
                  'modules' => '64',
                  'napi' => '7',
                  'nghttp2' => '1.41.0',
                  'node' => '10.24.1',
                  'openssl' => '1.1.1k',
                  'tz' => '2019c',
                  'unicode' => '12.1',
                  'uv' => '1.34.2',
                  'v8' => '6.8.275.32-node.59',
                  'zlib' => '1.2.11'
                }
}

2021.10.26 13:44:09.536 5: npmjs (fhemServerNpm) - Notify: [
  'state: npm is up to date'
]

2021.10.26 13:44:09.540 4: npmjs (fhemServerNpm) - stateRequestTimer: Call Request Timer


VG
    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

CoolTux

Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

ch.eick

Zitat von: CoolTux am 26 Oktober 2021, 14:11:49
Welches Image verwendest Du denn?


  fhem:
    image: fhem/fhem:latest
    restart: always
    network_mode: host
    privileged: true
#    devices:
#      - "/dev/ttyACM0:/dev/ttyACM0"
    volumes:
      - "./core/:/opt/fhem/"

    environment:
      PIP_PKGS: "vallox_websocket_api fhem beautifulsoup4"
      CPAN_PKGS: "Crypt::OpenSSL::AES XML::Bare XML::Bare Protocol::WebSocket::Handshake::Server Crypt::Rijndael Crypt::Random --verbose"
      FHEM_UID: 6061
      FHEM_GID: 6061
      TIMEOUT: 10
      RESTART: 1
      TELNETPORT: 7072
      TZ: Europe/Berlin

    depends_on:
      - "mysql"
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

Otto123

#1304
Hallo Christian,

wenn Du mich fragst, bist Du nicht im Container sondern in deinem raspberry  ::)
Zitatroot@raspberrypi ...

Und dafür, dass Du "das erste mal ..." bist Du aber gleich auf das ganz dünne Brett gestiegen:  :o
Zitatnetwork_mode: host
    privileged: true

Vielleicht zum Einstieg: https://heinz-otto.blogspot.com/2021/01/container-schiff.html
https://heinz-otto.blogspot.com/2021/06/docker-ein-kleiner-schnellstart-workshop.html

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz