[alexa-fhem | Generell] Alles zu Installation und damit verbundenen Problemen

Begonnen von prodigy7, 09 November 2016, 19:42:01

Vorheriges Thema - Nächstes Thema

Stonemuc


pi@raspberrypi:/opt/fhem/alexa-fhem $ ./bin/alexa
[2018-10-18 21:25:26] using /home/pi/.alexa/config.json
[2018-10-18 21:25:26] ---
[2018-10-18 21:25:26] this is alexa-fhem 0.4.4
[2018-10-18 21:25:26] Trying NAT-PMP ...
[2018-10-18 21:25:26] Fetching FHEM devices...
[2018-10-18 21:25:26] [FHEM] starting longpoll: http://192.168.2.101:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1539890726120
[2018-10-18 21:25:26] Server listening on: https://:::3000
/opt/fhem/alexa-fhem/lib/server.js:137
      if (err) throw err;
               ^

Error: "vers" must be 0. Got: 2
    at Client.onmessage (/opt/fhem/alexa-fhem/node_modules/nat-pmp/index.js:301:8)
    at Socket.<anonymous> (/opt/fhem/alexa-fhem/node_modules/nat-pmp/index.js:367:32)
    at emitTwo (events.js:126:13)
    at Socket.emit (events.js:214:7)
    at UDP.onMessage [as onmessage] (dgram.js:659:8)


aber auf Port 3000 kommt nix

so sieht meine json.config aus:
{
    "alexa": {
        "port": 3000,
        "name": "FHEM_AlexaSKill",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "nat-pmp": "192.168.2.1",
        "nat-upnp": false,
        "applicationId": "amzn1.ask.skill.b7bbdeaf-a325-4d60-9645-7c25ef5e39a7",
        "oauthClientID": "amzn1.application-oa2-client.38134c9037b04e2684331be403db9d18 ",
        "permissions": {"<skill-id>": { "client_id": "xyz", "client_secret": "123"}}
    },
   
    "connections": [
        {
            "name": "FHEM",
            "server": "192.168.2.101",
            "port": "8083",
            "webname": "fhem",
            "filter": "room=alexa"
        }
    ]
}
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

Lösche doch mal die beiden Einträge:


"nat-pmp": "192.168.2.1",
"nat-upnp": false,


Und mach die Portweiterleitung fix/direkt im Router...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Stonemuc

Die hab ich im Router schon drinnen...ich lösch die Zeilen mal komplett raus und schaum mal. Allerdings komme ich erst morgen früh dazu...ich berichte weiter.
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

Dann brauchst du die Einträge auch nicht...

Viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Stonemuc

pi@raspberrypi:/opt/fhem/alexa-fhem $ ./bin/alexa
[2018-10-19 07:34:45] using /home/pi/.alexa/config.json
[2018-10-19 07:34:45] ---
[2018-10-19 07:34:45] this is alexa-fhem 0.4.4
[2018-10-19 07:34:45] Fetching FHEM devices...
[2018-10-19 07:34:45] [FHEM] starting longpoll: http://192.168.2.101:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1539927285412
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRINUSE :::3000
    at Server.setupListenHandle [as _listen2] (net.js:1360:14)
    at listenInCluster (net.js:1401:12)
    at Server.listen (net.js:1485:7)
    at Server.startServer (/opt/fhem/alexa-fhem/lib/server.js:125:15)
    at Server.run (/opt/fhem/alexa-fhem/lib/server.js:240:8)
    at module.exports (/opt/fhem/alexa-fhem/lib/cli.js:30:10)
    at Object.<anonymous> (/opt/fhem/alexa-fhem/bin/alexa:17:22)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)


So..jetzt hab ich das rausgelöscht, aber einen Fehler gibt es immernoch - irgendwas mit Port 3000, so wie es mir scheint...
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

Hast du nach dem Rauslöschen gebootet?

Oder den alexa-service mittels sudo service alexa start (o.ä.) gestartet?

Sieht so aus als ob (alexa fhem oder) irgendwas (anderes) auf Port 3000 läuft...

Was kommt bei:

ps -ax | grep alexa

Ansonsten einfach mal booten (ohne alexa-fhem manuell zu starten) und sehen ob der Zugriff von außen (also wirklich von außen: Handy NICHT im WLAN sondern Providernetz) übder deinen "DynDNS-Namen" (oder was immer du in der Lambda-Funktion hinterlegt hast) drauf kommst und was dann kommt (mal posten).

Ebenso mal den Testknopf in AWS Lambda drücken (Inhalt ist unwichtig es geht nur um die Verbindung)...

Log bekommst du über journal-control (z.B. https://wiki.ubuntuusers.de/systemd/journalctl/)...

Alternativ den (evtl. autom.) gestarteten alexa-fhem Dienst stoppen (oder killen)...

Sollte es nicht ein bereits laufender alexa-fhem sein, der Port 3000 blockiert mustt du das rausfinden...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Stonemuc

pi@raspberrypi:/opt/fhem/alexa-fhem $ ps -ax | grep alexa
  304 ?        Ssl    0:07 alexa
3581 pts/1    S+     0:00 grep --color=auto alexa


Von außen komme ich auch nicht drauf. Einen kompletten Neustart vom Raspi hab ich schon gemacht. Ich probier mal ohne manuellen Start und lösche nochmal das Startscipt um zu testen.

Wenn ich es mit https:// versuche, kommt folgende Meldung - passt das? Weil da steht ja auch was von Error:
{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"1e617730-5410-459b-b10f-7fbc9defd337"},"payload":{}}
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

Stonemuc

Zitat von: Stonemuc am 19 Oktober 2018, 08:40:39
pi@raspberrypi:/opt/fhem/alexa-fhem $ ps -ax | grep alexa
  304 ?        Ssl    0:07 alexa
3581 pts/1    S+     0:00 grep --color=auto alexa


Von außen komme ich auch nicht drauf. Einen kompletten Neustart vom Raspi hab ich schon gemacht. Ich probier mal ohne manuellen Start und lösche nochmal das Startscipt um zu testen.

Wenn ich es mit https:// versuche, kommt folgende Meldung - passt das? Weil da steht ja auch was von Error:
{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"1e617730-5410-459b-b10f-7fbc9defd337"},"payload":{}}

Und hier noch der AWS Auszug vom Test:
Response:
{
  "header": {
    "name": "UnsupportedOperationError",
    "payloadVersion": "2",
    "namespace": "Alexa.ConnectedHome.Control",
    "messageId": "7bec1050-fe9b-4f67-a1ab-329e4b8c10d0"
  },
  "payload": {}
}

Request ID:
"a2d0b0e6-d36a-11e8-985f-b9ee46401067"

Function Logs:
START RequestId: a2d0b0e6-d36a-11e8-985f-b9ee46401067 Version: $LATEST
2018-10-19T06:45:59.002Z a2d0b0e6-d36a-11e8-985f-b9ee46401067 EVENT: [object Object]
2018-10-19T06:45:59.003Z a2d0b0e6-d36a-11e8-985f-b9ee46401067 CONTEXT: [object Object]
2018-10-19T06:45:59.983Z a2d0b0e6-d36a-11e8-985f-b9ee46401067 STATUS: 200
2018-10-19T06:45:59.983Z a2d0b0e6-d36a-11e8-985f-b9ee46401067 HEADERS: {"date":"Fri, 19 Oct 2018 06:45:59 GMT","connection":"close","content-length":"174"}
2018-10-19T06:46:00.018Z a2d0b0e6-d36a-11e8-985f-b9ee46401067 BODY: "{\"header\":{\"name\":\"UnsupportedOperationError\",\"payloadVersion\":\"2\",\"namespace\":\"Alexa.ConnectedHome.Control\",\"messageId\":\"7bec1050-fe9b-4f67-a1ab-329e4b8c10d0\"},\"payload\":{}}"
END RequestId: a2d0b0e6-d36a-11e8-985f-b9ee46401067
REPORT RequestId: a2d0b0e6-d36a-11e8-985f-b9ee46401067 Duration: 1057.61 ms Billed Duration: 1100 ms Memory Size: 128 MB Max Memory Used: 48 MB
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

D.h. aktuell hast du manuell gestartet!?

Dann sollten beim Test mit AWS-Lambda weitere Ausgaben kommen (ja ein Fehler, da alexa-fhem mit der Testanfrage nichts anfangen kann aber es sollte was kommen)...

Den Zugriff per https hast du "von außen" gemacht, also beispielsweise Handy im Providernetz und NICHT im heimischen WLAN/Netz!?

Sieht soweit erst mal ok aus.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Stonemuc

Ich glaube jetzt passt es...er startet nun beim reboot vom Raspi automatisch. Jetzt muss ich mir nur mal das mit dem dummy wegen dem Status von alexa-fhem anschauen, dass ich in fhem sehe, ob alexa-fhem läuft oder nicht.

Vielen Dank für deine Hilfe.
Jetzt muss ich mich mal einlesen wie ich meine Rollos und Lichter steuern kann...
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

Das mit dem Dummy und DOIF geht NUR wenn du per initd startest.
Dort sind im Startscript die entsprechenden Aufrufe drin, die FEHLEN beim Start mit systemd (was du hast / soweit ich gesehen habe)...

Es gibt aber ein anderes Modul: https://forum.fhem.de/index.php/topic,79952.msg719659.html#msg719659

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Stonemuc

Okay,

danke.

Noch eine Frage...wenn sie hierher passt - wie löse ich das mit dem schalten der Geräte? Ich hab mich an das Beispiel mit der Lichtsteuerung gehalten. Allerdings kann ich das attr genericDeviceType switch nicht vergeben, da ich das nicht definieren kann...gibt es bei mir nicht.
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

Hast du ein Alexa-Device angelegt?

define myAlexa Alexa
(oder so ähnlich)

Ansonsten:

attr DeviceName userAttr genericDeviceType
(oder so ähnlich: siehe userAttr in der commandref...)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Stonemuc

Ich hab es über Global hinzugefügt....passt...aber wie das mit einem einfachen Schalter funktioniert, kapier ich immernoch nicht
FHEM aus Raspberry PI 3 B+, Haussteuerung auf EnOcean Basis, Tecalor THZ 404eco Wärmepumpe

MadMax-FHEM

Zitat von: Stonemuc am 19 Oktober 2018, 12:02:45
Ich hab es über Global hinzugefügt....passt...aber wie das mit einem einfachen Schalter funktioniert, kapier ich immernoch nicht

Wollte grad editieren, dass es nat. auch global funktioniert aber halt mit Vorsicht nicht dass andere Dinge "rausfallen"...

Wie was mit dem einfachen Schalter (für was) funktioniert?

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)