Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

Sidey

Zitat von: HansDampfHH am 21 Oktober 2023, 14:39:03Was muss ich am alexa-Device in FHEM noch einstellen/ändern?


alexaFHEM-host entfernen.
Sofern der Container den Hostnamen der FHEM Instanz auflösen kann, wird alles funktionieren.

Grüße Sidey
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

HansDampfHH

Hm.
Im Docker läuft alexa-fhem
- in der config.json
  "connections": [
    {
      "name": "FHEM",
      "webname": "fhem",
      "filter": "alexaName=..*",
      "uid": "6062",
      "port": "8083",
      "server": "192.168.148.24"
    }
  ]

Auf dem NUC klassisches FHEM
- im alexa-Device steht alexaFHEM-config ./alexa-fhem.cfg
   "connections" : [
      {
         "server" : "127.0.0.1",
         "filter" : "alexaName=..*",
         "port" : 8083,
         "webname" : "fhem",
         "uid" : 998,
         "name" : "FHEM"
      }
   ]

Laufen jetzt zwei Instanzen von alexa-fhem und sind mit FHEM verknüpft?
Ich glaube ich habe noch nicht verstanden wofür alexa-fhem ist. Ich dachte das sei die Schnittstelle FHEM <-> Alexa.
Und davon sollte es ja nur eine geben.
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Sidey

Zitat von: HansDampfHH am 21 Oktober 2023, 15:50:53Hm.
Im Docker läuft alexa-fhem
- in der config.json
  "connections": [
    {
      "name": "FHEM",
      "webname": "fhem",
      "filter": "alexaName=..*",
      "uid": "6062",
      "port": "8083",
      "server": "192.168.148.24"
    }
  ]

Auf dem NUC klassisches FHEM
- im alexa-Device steht alexaFHEM-config ./alexa-fhem.cfg.

alexa-fhem auf dem NUC brauchst Du nicht mehr. Die Konfig Datei somit auch nicht.

Was macht denn der Docker Container laut logs?
Vermutlich läuft der ja bereits einwandfrei.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

HansDampfHH

Ja, ich denke der Container läuft wie er soll. Da kommen Readings von diversen Devices rein (Temperatur oder on/off).
Aber wie werde ich denn alexa-fhem auf dem NUC los? Einfach per 'npm uninstall' entfernen? Und dann zickt das FHEM alexa Device nicht rum?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Sidey

Zitat von: HansDampfHH am 21 Oktober 2023, 17:50:25Einfach per 'npm uninstall' entfernen? Und dann zickt das FHEM alexa Device nicht rum?

Genau so würde ich es machen.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

HansDampfHH

FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Otto123

die erste Meldung sind mMn Fake News ;) das kann man ignorieren.
Die zweite Meldung ist wichtig und richtig!
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

HansDampfHH

Tatsächlich. Habe mich davon irritieren lassen.
Kommandos werden ausgeführt. Sauber, danke für eure Hilfe!
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

HansDampfHH

Vielleicht doch zu früh gefreut. Nach einem Neustart von FHEM hat die Steuerung über Alexa nicht mehr funktioniert.
Das Attribut alexaFHEM.ProxyConnection am alexa-Device stand auf stopped. Also noch mal den alexa-fhem Docker-Container neu gestartet.

ProxyConnection stand wieder auf 'running; SSH connected' aber Befehle wurde dennoch quitiert mit 'Lampe reagiert gerade nicht'.
Im Log vom Docker-Container sehe ich allerdings Messages eintrudeln:

[10/22/2023, 6:00:16 PM] [FHEM]     caching: TargetTemperature: 21 (as number; from '21.0')
  2023-10-22 18:01:37 caching: LaCrosse_0D-temperature: 20.5

Jemand noch eine Idee, wie ich dem Problem auf die Spur komme?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Sidey

Poste mal das Log vom Zeitpunkt als der Container gestartet wurde.
Da steht ob er sich mit FHEM verbinden kann.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

HansDampfHH

Reicht so?
Preparing user environment ...
  - Creating symlink to config.json in /alexa-fhem/.alexa/config.json ...
Starting alexa-fhem ...
[10/22/2023, 5:55:07 PM] os.homedir()=/alexa-fhem
[10/22/2023, 5:55:07 PM] using config from /alexa-fhem/.alexa/config.json
*** CONFIG: parsed completely
[10/22/2023, 5:55:07 PM] this is alexa-fhem 0.5.64
[10/22/2023, 5:55:07 PM] connecting to FHEM ...
[10/22/2023, 5:55:07 PM] [FHEM] defaults to: will not send proactive events
[10/22/2023, 5:55:07 PM] [FHEM] trying longpoll to listen for fhem events
[10/22/2023, 5:55:07 PM] [FHEM] starting longpoll: http://192.168.148.24:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1697990107908
[10/22/2023, 5:55:07 PM] Server listening on: http://:::3000 for direct connections
[10/22/2023, 5:55:07 PM] [FHEM] got csrfToken: abcdefg
[10/22/2023, 5:55:07 PM] [FHEM] Checking devices and attributes...
[10/22/2023, 5:55:07 PM] [FHEM]   executing: http://192.168.148.24:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&fwcsrf=abcdefg&XHR=1
[10/22/2023, 5:55:07 PM] [FHEM]   executing: http://192.168.148.24:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&fwcsrf=abcdefg&XHR=1
[10/22/2023, 5:55:07 PM] [FHEM] waiting for events ...
[10/22/2023, 5:55:07 PM] [FHEM] Fetching FHEM devices...
[10/22/2023, 5:55:07 PM] [FHEM] fetching: http://192.168.148.24:8083/fhem?cmd=jsonlist2%20alexaName%3D..*&fwcsrf=abcdefg&XHR=1
[10/22/2023, 5:55:08 PM] [FHEM] alexa device is alexa
[10/22/2023, 5:55:08 PM] [FHEM] alexa will not send proactive events
[10/22/2023, 5:55:08 PM] [FHEM] alexa uses ID: abc-def-ghi-jkl-mno
[10/22/2023, 5:55:08 PM] [FHEM]   executing: http://192.168.148.24:8083/fhem?cmd=%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22alexa-fhem%20version%22%7D%20%3D%20%220.5.64%22%7D%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=abcdefg&XHR=1
[10/22/2023, 5:55:08 PM] [FHEM]   executing: http://192.168.148.24:8083/fhem?cmd=%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bget%20alexa%20proxyToken%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=abcdefg&XHR=1
[10/22/2023, 5:55:08 PM] [FHEM]   executing: http://192.168.148.24:8083/fhem?cmd=%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Blist%20alexa%20.eventToken%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=abcdefg&XHR=1
[10/22/2023, 5:55:08 PM] Server listening on: http://127.0.0.1:38450 for proxy connections
[10/22/2023, 5:55:08 PM] *** SSH: checking proxy configuration
[10/22/2023, 5:55:08 PM] sshautoconf: home=/alexa-fhem, spath=/alexa-fhem/.alexa, cpath=/alexa-fhem/.alexa/config.json, sshpath=/alexa-fhem/.ssh
[10/22/2023, 5:55:08 PM] Passed config: {
  alexa: {
    port: 3000,
    name: 'Alexa',
    ssl: false,
    keyFile: '/certs/alexa-fhem.key',
    certFile: '/certs/alexa-fhem.crt',
    'nat-pmp': '',
    'nat-upnp': false,
    applicationId: [ 'amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX' ],
    oauthClientID: [ 'amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' ]
  },
  sshproxy: {
    description: 'FHEM Connector',
    ssh: '/usr/bin/ssh',
    options: [ '-i', '/alexa-fhem/.ssh/id_rsa', '-p', 58824, 'fhem-va.fhem.de' ],
    'bind-ip': '127.0.0.1',
    server: Server {
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      _events: [Object: null prototype],
      _eventsCount: 3,
      _maxListeners: undefined,
      _connections: 0,
      _handle: [TCP],
      _usingWorkers: false,
      _workers: [],
      _unref: false,
      allowHalfOpen: true,
      pauseOnConnect: false,
      httpAllowHalfOpen: false,
      timeout: 0,
      keepAliveTimeout: 5000,
      maxHeadersCount: null,
      headersTimeout: 60000,
      requestTimeout: 0,
      _connectionKey: '4:127.0.0.1:0',
      [Symbol(IncomingMessage)]: [Function: IncomingMessage],
      [Symbol(ServerResponse)]: [Function: ServerResponse],
      [Symbol(kCapture)]: false,
      [Symbol(async_id_symbol)]: 93
    }
  },
  connections: [
    {
      name: 'FHEM',
      webname: 'fhem',
      filter: 'alexaName=..*',
      uid: '6062',
      port: '8083',
      server: '192.168.148.24'
    }
  ]
}
[10/22/2023, 5:55:08 PM] sshautoconf: SSH key seems to exist
[10/22/2023, 5:55:08 PM] sshautoconf: Our SSH key is known at the reverse proxy, good!
[10/22/2023, 5:55:08 PM] [FHEM]   executing: http://192.168.148.24:8083/fhem?cmd=%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%201%3B%3Bundef%7D%3Bjsonlist2%20alexa%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&fwcsrf=abcdefg&XHR=1
*** FHEM: connected
[10/22/2023, 5:55:08 PM] [FHEM] got: 19 results
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Sidey

Sieht doch gut aus.
Vermutlich musst Du den Skill nur neu anlernen.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

HansDampfHH

Ja, ich denke auch, dass alles soweit passt.
Du meinst den Alexa Skill fhem-connector? Einmal deaktivieren und neu aktivieren?
Oder habe ich das falsch verstanden?
FHEM Docker, CUL868, Zigbee, CCU2, Jeelink

Sidey

Zitat von: HansDampfHH am 22 Oktober 2023, 20:56:54Ja, ich denke auch, dass alles soweit passt.
Du meinst den Alexa Skill fhem-connector? Einmal deaktivieren und neu aktivieren?
Oder habe ich das falsch verstanden?
Ja so meinte ich das
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa, Docker, AlexaFhem

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

Borkk

Zitat von: HansDampfHH am 22 Oktober 2023, 20:56:54Ja, ich denke auch, dass alles soweit passt.
Du meinst den Alexa Skill fhem-connector? Einmal deaktivieren und neu aktivieren?
Oder habe ich das falsch verstanden?

Ja, du bekommst einen neuen ProxyKey und must den Skill neu aktivieren. U.U. läufst du dann in den gleichen Fehler wie ich (https://forum.fhem.de/index.php?msg=1288735)

Hier hat mir geholfen, das Alexa Modul einmal komplett aus FHEM zu löschen, Fhem neu starten und dann wieder zu installieren. Bei mir läuft das seitdem brettstabil ;D

Ich habe übrigens schon vor einiger Zeit FHEM, Alexa, Homebridge uvm. auf meine DS218+ auf Docker umgebaut und habe es nicht bereut. Ich gebe dir den Rat (wenn du es nicht ohnehin schon vor hast) MacVlan als Netzwerktreiber im Docker zu verwenden. Das macht vieles einfacher, da jeder Container eine IP aus deinem LAN bekommen kann. Hab das für IPv4 und IPv6 eingerichtet. (IPv6 muss nicht sein, geht aber).

Ach und noch was, nachdem ich alexa-fhem in den Docker Container verbannt habe, starte ich FHEM als fhem-minimal Image. Das ist nur halb so groß, hat alles was ich brauche und ist gefühlt etwas performanter.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...