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

Offline MichaelS

  • New Member
  • *
  • Beiträge: 5
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1620 am: 21 August 2022, 12:39:27 »
Klar, habe den container noch mal neu gebaut und meine ganzen device logs entfernt:

Preparing user environment ...,
  - Creating symlink to config.json in /alexa-fhem/.alexa/config.json ...,
,
,
,
Starting alexa-fhem ...,
[8/21/2022, 12:27:11 PM] os.homedir()=/alexa-fhem,
[8/21/2022, 12:27:11 PM] using config from /alexa-fhem/.alexa/config.json,
*** CONFIG: parsed completely,
[8/21/2022, 12:27:11 PM] this is alexa-fhem 0.5.62,
[8/21/2022, 12:27:11 PM] connecting to FHEM ...,
[8/21/2022, 12:27:11 PM] [FHEM] defaults to: will not send proactive events,
[8/21/2022, 12:27:12 PM] [FHEM] trying longpoll to listen for fhem events,
[8/21/2022, 12:27:12 PM] [FHEM] starting longpoll: http://fhem:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1661077632386,
[8/21/2022, 12:27:12 PM] Server listening on: http://:::3000 for direct connections,
[8/21/2022, 12:27:12 PM] [FHEM] got csrfToken: ,
[8/21/2022, 12:27:12 PM] [FHEM] Checking devices and attributes...,
[8/21/2022, 12:27:12 PM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&XHR=1,
[8/21/2022, 12:27:12 PM] [FHEM]   executing: http://fhem:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&XHR=1,
[8/21/2022, 12:27:12 PM] [FHEM] waiting for events ...,
[8/21/2022, 12:27:12 PM] [FHEM] Fetching FHEM devices...,
[8/21/2022, 12:27:12 PM] [FHEM] fetching: http://fhem:8083/fhem?cmd=jsonlist2%20alexaName%3D..*&XHR=1,
[8/21/2022, 12:27:12 PM] [FHEM] alexa device is alexa,
[8/21/2022, 12:27:12 PM] [FHEM] alexa will not send proactive events,
[8/21/2022, 12:27:12 PM] [FHEM] alexa uses ID: 62ffc750-f33f-3e71-971d-a137bb8a17b8f946,
[8/21/2022, 12:27:12 PM] [FHEM]   executing: http://fhem: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.62%22%7D%3B%7B%24defs%7B%22alexa%22%7D-%3E%7B%22active%22%7D%20%3D%200%3B%3Bundef%7D&XHR=1,
[8/21/2022, 12:27:12 PM] [FHEM]   executing: http://fhem: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&XHR=1,
*** FHEM: connected,
[8/21/2022, 12:27:12 PM] [FHEM] got: 17 results,
...

Dabei kommen die Logs hinzu, wenn ich meinen server mit dem port 3000 im browser aufrufe:
Zitat
[8/19/2022, 7:37:51 PM] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:327:26)
    at Server.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:338:33)
    at IncomingMessage.emit (events.js:412:35)
    at endReadableNT (internal/streams/readable.js:1333:12
    at processTicksAndRejections (internal/process/task_queues.js:82:21) from ::ffff:172.27.0.1
[8/19/2022, 7:37:51 PM] <<<< [srv] {"header":{"namespace":"Alexa.ConnectedHome.Control","name":"UnsupportedOperationError","payloadVersion":"2","messageId":"04a3ee4d-b969-4489-9a74-d19c47d61eda"},"payload":{}}


Persönlich sehe ich jetzt nichts...:/

Grüße

Offline Sidey

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2709
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1621 am: 21 August 2022, 20:07:50 »
Klar, habe den container noch mal neu gebaut und meine ganzen device logs entfernt:

Welche device Logs?
Bei mir kommen da noch Informationen zur Proxy Verbindung zum Vereinsserver.
Die fehlen hier.

Dabei kommen die Logs hinzu, wenn ich meinen server mit dem port 3000 im browser aufrufe: 

Das ist kein Fehler, wenn Du nicht den passenden Payload mitgesendet hast.

Hast Du den Skill bei Amazon denn neu verbunden/ eingerichtet?

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

Offline MichaelS

  • New Member
  • *
  • Beiträge: 5
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1622 am: 21 August 2022, 21:23:01 »
Zitat
Bei mir kommen da noch Informationen zur Proxy Verbindung zum Vereinsserver.
Bei mir kommt nichts mehr.

Kann den Skill nicht einrichten:

Checking your key:
Status ActivationKey: Good Key
Checking connection status:
Status SSH: NOT online - no SSH session established
Status Reverse-Portmapping: -
Status nodejs-Connectivity: -
Status nodejs-Interaction: -

Naja, meine alten devices scheint er zu erkennen. Die logs habe ich entfernt:

z.B: [8/21/2022, 9:18:46 PM] [FHEM] az_heizung1 has
[8/21/2022, 9:18:46 PM] [FHEM]   StatusLowBattery [battery]
[8/21/2022, 9:18:46 PM] [FHEM]   FirmwareRevision [firmware]
[8/21/2022, 9:18:46 PM] [FHEM]   TargetTemperature [desiredTemperature]
[8/21/2022, 9:18:46 PM] [FHEM]   TargetHeatingCoolingState [mode]
[8/21/2022, 9:18:46 PM] [FHEM]   CurrentHeatingCoolingState [undefined]

Ggf. hier noch mein compose file:
version: '2'
networks:
  fhem_net:
    driver: bridge
    ipam:
      driver: default
      config:
        - subnet: 172.27.0.0/28
          gateway: 172.27.0.1
        - subnet: fd00:0:0:0:27::/80
          gateway: fd00:0:0:0:27::1
services:
  fhem:
    networks:
      - default
      - fhem_net
    image: fhem/fhem:bullseye
    restart: always
    privileged: true
    ports:
      - "7072:7072"
      - "1883:1883"
      - "8083:8083"
      - "8087:8087"
    volumes:
      - "./fhem:/opt/fhem/"
    devices:
      - /dev/ttyAMA0
    environment:
      TZ: Europe/Berlin
  alexa-fhem:
    image: ghcr.io/fhem/fhem/alexa-fhem:2
    restart: always
    networks:
     - fhem_net
    ports:
      - "3000:3000"
    volumes:
      - "./alexa-fhem/:/alexa-fhem/"
    environment:
      ALEXAFHEM_UID: 6062
      ALEXAFHEM_GID: 6062
      TZ: Europe/Berlin

Vielleicht ist hie was im Braten...
« Letzte Änderung: 21 August 2022, 23:02:42 von MichaelS »

Offline chrizza87

  • New Member
  • *
  • Beiträge: 26
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1623 am: 12 September 2022, 21:23:13 »
[8/19/2022, 7:37:51 PM] ERROR: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at Server.processBody (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:327:26)
    at Server.<anonymous> (/usr/local/lib/node_modules/alexa-fhem/lib/server.js:338:33)
    at IncomingMessage.emit (events.js:412:35)
    at endReadableNT (internal/streams/readable.js:1333:12
    at processTicksAndRejections (internal/process/task_queues.js:82:21) from ::ffff:172.27.0.1
[8/19/2022, 7:37:51 PM] <<<< [srv] {"header":{"namespace":"Alexa.ConnectedHome.Control","name":"UnsupportedOperationError","payloadVersion":"2","messageId":"04a3ee4d-b969-4489-9a74-d19c47d61eda"},"payload":{}}

mein config file sieht so aus:

{
  "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.XXXXXXXXXXXXXXXXXXXXXXXXXXXX$
  },
  "connections": [
    {
      "name": "FHEM",
      "webname": "fhem",
      "filter": "alexaName=..*",
      "uid": "6062",
      "port": "8083",
      "server": "fhem"
    }
  ]
}

Späte Antwort, aber:

Dein JSON (config datei) ist nicht korrekt:
Zeile:
    "oauthClientID": "amzn1.application-oa2-client.XXXXXXXXXXXXXXXXXXXXXXXXXXXX$ <- das schließendete Anführungszeichen ( " ) fehlt

Oder nur beim "schwärzen" der ID passiert?

@Sidey:
Gibt es schon neue Erkenntnisse bzgl. Alexa-Fhem im seperaten Container und Vereinsserver connect über das alexa modul?

Dank dir schonmal im Voraus

Offline Sidey

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2709
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1624 am: 12 September 2022, 22:27:15 »

@Sidey:
Gibt es schon neue Erkenntnisse bzgl. Alexa-Fhem im seperaten Container und Vereinsserver connect über das alexa modul?

Dank dir schonmal im Voraus

Was meinst Du mit Erkenntnissen.
Läuft bei mir seit Jahren problemlos :)

Was den beschriebenen Fehler von MichaelS angeht, fällt es mir schwierig, da im Log nichts zum connect zum Vereinsserver steht.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa

Offline chrizza87

  • New Member
  • *
  • Beiträge: 26
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1625 am: 12 September 2022, 23:00:04 »
Was meinst Du mit Erkenntnissen.
Läuft bei mir seit Jahren problemlos :)

Was den beschriebenen Fehler von MichaelS angeht, fällt es mir schwierig, da im Log nichts zum connect zum Vereinsserver steht.

Danke für die schnelle Rückmeldung erstmal :-)

Okay. Ich hatte es so verstanden, dass das Scenario.
- Docker Instanz Fhem
- Extra Docker Instanz Alexa-Fhem
---Connect zu Vereinsserver über Docker Instanz Fhem mit Alexa Modul

generell nicht klappt, wie bei MichaelS. Ich habe zumindest das gleiche Problem. Habe seit etlichen Jahren die manuelle AWS Variante im Einsatz. Wollte für meine Eltern (Wohnen im gleichen Haus) dann einfach den "leichteren" Weg über den offiziellen Fhem Skill für ihre Geräte gehen, damit sie über ihre Alexa Devices verwendbar sind und sie nicht meine Geräte steuern können (und natürlich umgekehrt :) )

Offline Sidey

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2709
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1626 am: 13 September 2022, 06:53:47 »

- Extra Docker Instanz Alexa-Fhem

Kannst Du das komplette Logfile und deine Konfig ab Start des containers dieser Instanz schicken ich kann dann ja mal mit meinem vergleichen.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa

Offline chrizza87

  • New Member
  • *
  • Beiträge: 26
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1627 am: 13 September 2022, 16:58:48 »
Kannst Du das komplette Logfile und deine Konfig ab Start des containers dieser Instanz schicken ich kann dann ja mal mit meinem vergleichen.

hier mal das logfile vom alexa-fhem container:

Preparing user environment ...

  - Creating symlink to config.json in /alexa-fhem/.alexa/config.json ...

Starting alexa-fhem ...

[9/13/2022, 4:55:52 PM] os.homedir()=/alexa-fhem

[9/13/2022, 4:55:52 PM] using config from /alexa-fhem/.alexa/config.json

*** CONFIG: parsed completely

[9/13/2022, 4:55:52 PM] this is alexa-fhem 0.5.64

[9/13/2022, 4:55:52 PM] connecting to FHEM ...

[9/13/2022, 4:55:52 PM] [FHEM] defaults to: will not send proactive events

[9/13/2022, 4:55:52 PM] [FHEM] trying longpoll to listen for fhem events

[9/13/2022, 4:55:52 PM] [FHEM] starting longpoll: http://fhem:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1663080952364

[9/13/2022, 4:55:52 PM] Server listening on: https://:::3000 for direct connections

[9/13/2022, 4:55:52 PM] [FHEM] got csrfToken:

[9/13/2022, 4:55:52 PM] [FHEM] Checking devices and attributes...

[9/13/2022, 4:55:52 PM] [FHEM]   executing: http://fhem:8083/fhem?cmd=%7BAttrVal(%22global%22%2C%22userattr%22%2C%22%22)%7D&XHR=1

[9/13/2022, 4:55:52 PM] [FHEM]   executing: http://fhem:8083/fhem?cmd=jsonlist2%20TYPE%3Dalexa&XHR=1

[9/13/2022, 4:55:52 PM] [FHEM] waiting for events ...

[9/13/2022, 4:55:52 PM] [FHEM] Fetching FHEM devices...

[9/13/2022, 4:55:52 PM] [FHEM] fetching: http://fhem:8083/fhem?cmd=jsonlist2%20room%3D97_Eltern_Homekit&XHR=1

[9/13/2022, 4:55:52 PM] [FHEM] alexa device is alexa

[9/13/2022, 4:55:52 PM] [FHEM] alexa will not send proactive events

[9/13/2022, 4:55:52 PM] [FHEM] alexa uses ID: xyz

[9/13/2022, 4:55:52 PM] [FHEM]   executing: http://fhem: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&XHR=1

[9/13/2022, 4:55:52 PM] [FHEM]   executing: http://fhem: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&XHR=1

*** FHEM: connected

[9/13/2022, 4:55:52 PM] [FHEM] got: 16 results

config:
{
    "alexa": {
        "name": "xyz",
        "keyFile": "./certs/key.pem",
        "certFile": "./certs/cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "xyz",
        "oauthClientID": "xyz"
    },
    "connections": [
        {
            "name": "FHEM",
            "server": "fhem",
            "port": "8083",
            "filter": "room=97_Eltern_Homekit"
        }
    ]
}
« Letzte Änderung: 13 September 2022, 17:01:09 von chrizza87 »

Offline Sidey

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2709
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1628 am: 13 September 2022, 22:06:22 »
Kannst Du in deiner Config bitte mal den Abschnitt mit sshproxy ergänzen:

{
    "alexa": {
        "name": "xyz",
        "keyFile": "./certs/key.pem",
        "certFile": "./certs/cert.pem",
        "nat-pmp": "",
        "nat-upnp": false,
        "applicationId": "xyz",
        "oauthClientID": "xyz"
    },

    "sshproxy" : {
        "description" : "FHEM Connector",
        "ssh" : "/usr/bin/ssh"
    },

    "connections": [
        {
            "name": "FHEM",
            "server": "fhem",
            "port": "8083",
            "filter": "room=97_Eltern_Homekit"
        }
    ]
}

Ich glaube, dann siehst Du im Logfile, dass die Instanz sich mit dem Vereinsserver verbindet.

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

Offline chrizza87

  • New Member
  • *
  • Beiträge: 26
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1629 am: 14 September 2022, 09:34:35 »
hey sidey,

danke für den tipp.

Habe es eingefügt und noch einiges anderes machen müssen (schreibrechte für ordner anpassen, ssh key erstellung etc etc). Dann ging es aber, jetzt ist der alexa-fhem Container mit dem Vereinsserver verbunden und ich kann über cie FHEM Oberfläche mir den Key anzeigen lassen für die Skill Verknüpfung.

Was ein bissl tricky war, es gab eine Fehlermeldung
Zitat
"error; user homedir writable by group/other ('chmod 755 /alexa-fhem' required)"
, hier musste ich aber die Rechte 0700 setzen damit es ging (https://forum.fhem.de/index.php/topic,96510.0.html).

Wäre das eine Ergänzung wert in der Anleitung (https://wiki.fhem.de/wiki/FHEM_Connector_f%C3%BCr_Amazon_Alexa), wie man den Connector mit alexa-fhem als docker Container verwendet? Ohne dich hätte ich das nämlich nicht hinbekommen. Dank dir nochmal vielmals :)

Gruß
chrizza

Offline Wernieman

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8512
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1630 am: 14 September 2022, 10:44:40 »
Hast Du es außen oder im Container gesetzt?
- 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

Offline chrizza87

  • New Member
  • *
  • Beiträge: 26
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1631 am: 14 September 2022, 11:14:47 »
Hast Du es außen oder im Container gesetzt?

Was genau meinst du?

Wenn der teil mit ssh-config, dann im Container mount in der config.json

Wenn rechte dann außerhalb, da ich es reinmounte an den Ort /alexa-fhem

Offline Wernieman

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8512
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1632 am: 14 September 2022, 11:46:35 »
Ich meinte eigentlich die Rechte für .ssh .. die Frage hast Du beantworten ;)
- 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

Offline chrizza87

  • New Member
  • *
  • Beiträge: 26
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1633 am: 14 September 2022, 20:28:57 »
alles klar  :P

Offline Sidey

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2709
Antw:Offizielles FHEM Docker Basis Image für verschiedene Plattformen
« Antwort #1634 am: 14 September 2022, 20:55:21 »
hey sidey,

danke für den tipp.

Habe es eingefügt und noch einiges anderes machen müssen (schreibrechte für ordner anpassen, ssh key erstellung etc etc). Dann ging es aber, jetzt ist der alexa-fhem

Ich kann dem nicht ganz folgen.
Die benötigten sah Keys werden bei Bedarf beim Start des Containers erzeugt.
Dabei werden auch Berechtigungen für die SSH Keys gesetzt.

Ich würde gerne verstehen, was da nicht gepasst hat.
Signalduino, Homematic, Raspberry Pi, Mysensors, MQTT, Alexa