Offizielles FHEM Docker Basis Image für verschiedene Plattformen

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

Vorheriges Thema - Nächstes Thema

MichaelS

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

Sidey

Zitat von: MichaelS am 21 August 2022, 12:39:27
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.

Zitat von: MichaelS am 21 August 2022, 12:39:27
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, Docker, AlexaFhem

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

MichaelS

#1622
ZitatBei 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...

chrizza87

Zitat von: MichaelS am 20 August 2022, 07:17:01
[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

Sidey

Zitat von: chrizza87 am 12 September 2022, 21:23:13

@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, Docker, AlexaFhem

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

chrizza87

Zitat von: Sidey am 12 September 2022, 22:27:15
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 :) )

Sidey

Zitat von: chrizza87 am 12 September 2022, 23:00:04

- 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, Docker, AlexaFhem

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

chrizza87

#1627
Zitat von: Sidey am 13 September 2022, 06:53:47
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"
        }
    ]
}

Sidey

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, Docker, AlexaFhem

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

chrizza87

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

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

chrizza87

Zitat von: Wernieman am 14 September 2022, 10:44:40
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

Wernieman

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


Sidey

Zitat von: chrizza87 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

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, Docker, AlexaFhem

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