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

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

Vorheriges Thema - Nächstes Thema

Hotbird

Achso, ich dachte der findet erst einmal jedes Device und ich kann dann anfangen die Räume einzurichten... Ich habe jetzt den Raum "alexa" in FHEM erstellt und eine schaltbare Steckdose aus dem Wohnzimmer dort reingepackt. Raspi komplett neu gestartet und die Console aufgemacht. Dann wundert mich aber das er immer noch kein Device dort findet...


[2016-11-12 10:37:43] using /home/pi/.alexa/config.json
[2016-11-12 10:37:45] ---
[2016-11-12 10:37:45] Trying UPnP NAT-PMP ...
[2016-11-12 10:37:45] Fetching FHEM devices...
starting longpoll: https://192.168.0.9:8083/fhem.pl?XHR=1&inform=type=status;add                                   global=1;filter=.*;since=null;fmt=JSON&timestamp=1478943465904
[2016-11-12 10:37:45] [FHEM] Checking genericDeviceType...
[2016-11-12 10:37:45] [FHEM]   executing: https://192.168.0.9:8083/fhem?cmd=%7BA                                   ttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-11-12 10:37:45] [FHEM] Fetching FHEM devices...
[2016-11-12 10:37:45] [FHEM] fetching: https://192.168.0.9:8083/fhem?cmd=jsonlis                                   t2%20room=alexa&XHR=1
Server listening on: https://:::3000


Log ist nicht abgeschnitten oder sonstiges.. Dann stimmt ja immer noch irgendetwas nicht mit der config.json wenn ich das so recht überlege...



{
    "alexa": {
        "name": "Alexa TEST",
        "keyFile": "./key.pem",
        "certFile": "./cert.pem",
        "oauthClientID": "amzn1.application-oa2-client.xxxxx0fa67ca4422e"
  },
  "connections": [
        {
            "name": "FHEM",
            "server": "192.168.0.9",
            "port": "8083",
            "ssl": true,
            "auth": {"user": "xx", "pass": "xx"},
                        "filter": "room=alexa"
        }
    ]
}


Fhem erreiche ich über meinen Browser unter
http://192.168.0.9:8083/fhem?room=alexa

soll ich das ssl true nochmal löschen?

justme1968

wenn du nicht https verwendest muss natürlich ssl=false gesetzt werden.

Zitatwas gibt ein list room=alexa ?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Hotbird

ok... wenn ich ssl auf false setze kommt das hier
[2016-11-12 10:52:16] [FHEM] There was a problem connecting to FHEM (http://192.168.0.9:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1).
[2016-11-12 10:52:16] [FHEM]   401: Authorization Required
[2016-11-12 10:52:16] [FHEM] There was a problem connecting to FHEM
[2016-11-12 10:52:16] [FHEM]   401: Authorization Required
Server listening on: https://:::3000


dann war es das schon einmal nicht

das list room in fhem ergibt folgendes


Internals:
   DEF        fbahahttp:08761_0277450 powerMeter,tempSensor,switch
   IODev      fbahahttp
   LASTInputDev fbahahttp
   MSGCNT     4
   NAME       FBDECT_fbahahttp_08761_0277450
   NR         37
   STATE      on
   TYPE       FBDECT
   fbahahttp_MSGCNT 4
   fbahahttp_TIME 2016-11-12 10:52:20
   id         08761_0277450
   props      powerMeter,tempSensor,switch
   Readings:
     2016-11-12 10:52:20   AIN             08761 0277450
     2016-11-12 10:52:20   FBNAME          Steckdose variabel
     2016-11-12 10:52:20   FBPROP          powerMeter,tempSensor,switch
     2016-11-12 10:52:20   FBTYPE          FRITZ!DECT 200
     2016-11-12 10:52:20   ID              19
     2016-11-12 10:52:20   energy          3678 Wh
     2016-11-12 10:52:20   fwversion       03.59
     2016-11-12 10:52:20   locked          no
     2016-11-12 10:52:20   mode            manuell
     2016-11-12 10:52:20   power           2.36 W
     2016-11-12 10:52:20   present         yes
     2016-11-12 10:52:20   state           on
     2016-11-12 10:52:20   tempadjust      -4.5 C
     2016-11-12 10:52:20   temperature     20.0 C (measured)
Attributes:
   IODev      fbahahttp
   alias      Steckdose variabel
   event-min-interval power:120
   icon       message_socket
   room       alexa



justme1968

#93
doch. das war es schon.

auth ohne ssl geht aktuell nicht.

d.h. aktuell musst du fhem auf ssl und password konfigurieren oder einen zugang ohne password erlauben.


noch mal nachgeschaut. ist im code doch schon seit einiger zeit drin. man kann ssl und auth unabhängig voneinander setzen.

wie genau ist dein fhem konfiguriert? mit ssl? mit basic auth?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Hotbird

#94
gute Frage, hab es nach ner Anleitung eingerichtet... Wo seh ich das denn? Wenn ich über http drauf zuigreife kommt ne Passwortabfrage. Über HTTPS komme ich nicht drauf im Browser...
Hoffe das hilft

hier mal das startlog von fhem nach dem Neustart


2016.11.12 10:36:31 0: Server shutdown
2016.11.12 10:36:51 1: Including fhem.cfg
2016.11.12 10:36:51 3: telnetPort: port 7072 opened
2016.11.12 10:36:52 3: WEB: port 8083 opened
2016.11.12 10:36:52 3: WEBphone: port 8084 opened
2016.11.12 10:36:52 3: WEBtablet: port 8085 opened
2016.11.12 10:36:53 2: eventTypes: loaded 672 events from ./log/eventTypes.txt
2016.11.12 10:36:56 2: Wetter: encrypt crypt:595f45570d145578410c5b185054/crypt:725c5040000f5009 to crypt:595f45570d145578410c5b185054/crypt:725c5040000f5009
Current: "fhem.pl", gPath: "./FHEM"
2016.11.12 10:37:04 1: Including ./log/fhem.save
2016.11.12 10:37:13 1: usb create starting
2016.11.12 10:37:13 3: Probing CUL device /dev/ttyAMA0
2016.11.12 10:37:14 3: Probing TCM_ESP3 device /dev/ttyAMA0
2016.11.12 10:37:14 3: Probing FRM device /dev/ttyAMA0
2016.11.12 10:37:19 1: usb create end
2016.11.12 10:37:19 3: netatmo_D70_ee_50_13_14_12: I/O device is Wetter
2016.11.12 10:37:20 3: netatmo_M02_00_00_13_0f_0c: I/O device is Wetter
2016.11.12 10:37:20 3: netatmo_M03_00_00_02_76_08: I/O device is Wetter
2016.11.12 10:37:20 2: SecurityCheck:  telnetPort has no associated allowed device with password/globalpassword.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2016.11.12 10:37:20 0: Featurelevel: 5.7
2016.11.12 10:37:20 0: Server started with 60 defined entities (fhem.pl:12519/2016-11-07 perl:5.020002 os:linux user:fhem pid:1114)
2016.11.12 10:37:20 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
Current: "./FHEM/00_SONOS.pm", gPath: ""
2016.11.12 10:37:21 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
2016.11.12 10:37:28 3: Opening Sonos device localhost:4711
2016.11.12 10:37:28 3: SONOS0: Connection accepted from localhost:53660
2016.11.12 10:37:28 3: Sonos device opened

U.S.W

justme1968

und user/password die du von hand eingibst sind die gleichen wie im alexa config file?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Hotbird

jepp, extra nochmal im Firefox nachgeschaut. Gibt ja auch keinen Error beim Zugriff.. Kann es vielleicht sein das Steckdose variabel oder Steckdose_variabel das Problem ist ( Leerzeile oder trennstrich) ?

Capeghost

Hallo,

ich bin jetzt auch mit meinem Latein am Ende und muss mal um Hilfe bitten.
Mein Log beim Starten sagt folgendes:


pi@raspberrypi3:~/alexa-fhem $ bin/alexa
[2016-11-12 11:34:35] using /home/pi/.alexa/config.json
[2016-11-12 11:34:35] ---
[2016-11-12 11:34:35] Trying UPnP NAT-PMP ...
[2016-11-12 11:34:35] Fetching FHEM devices...
starting longpoll: http://192.168.178.32:8083/fhem.pl?XHR=1&inform=type=status;a                                      ddglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1478946876810
[2016-11-12 11:34:36] [FHEM] Checking genericDeviceType...
[2016-11-12 11:34:36] [FHEM]   executing: http://192.168.178.32:8083/fhem?cmd=%7                                      BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-11-12 11:34:36] [FHEM] Fetching FHEM devices...
[2016-11-12 11:34:36] [FHEM] fetching: http://192.168.178.32:8083/fhem?cmd=jsonl                                      ist2%20room=alexa&XHR=1
[2016-11-12 11:34:37] [FHEM] got: 1 results
[2016-11-12 11:34:37] [FHEM] FS20_005507 is switch
[2016-11-12 11:34:37] [FHEM] FS20_005507 has
[2016-11-12 11:34:37] [FHEM]   On [state;on,off]
[2016-11-12 11:34:37] [FHEM]   Brightness [state]
  2016-11-12 11:34:37 caching: FS20_005507-state: off
NAT-PMP failed: Error: Request failed: 500
Server listening on: https://:::3000
[2016-11-12 11:34:35] using /home/pi/.alexa/config.json
[2016-11-12 11:34:35] ---
[2016-11-12 11:34:35] Trying UPnP NAT-PMP ...
[2016-11-12 11:34:35] Fetching FHEM devices...
starting longpoll: http://192.168.178.32:8083/fhem.pl?XHR=1&inform=type=status;a                                      ddglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1478946876810
[2016-11-12 11:34:36] [FHEM] Checking genericDeviceType...
[2016-11-12 11:34:36] [FHEM]   executing: http://192.168.178.32:8083/fhem?cmd=%7                                      BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-11-12 11:34:36] [FHEM] Fetching FHEM devices...
[2016-11-12 11:34:36] [FHEM] fetching: http://192.168.178.32:8083/fhem?cmd=jsonl                                      ist2%20room=alexa&XHR=1
[2016-11-12 11:34:37] [FHEM] got: 1 results
[2016-11-12 11:34:37] [FHEM] FS20_005507 is switch
[2016-11-12 11:34:37] [FHEM] FS20_005507 has
[2016-11-12 11:34:37] [FHEM]   On [state;on,off]
[2016-11-12 11:34:37] [FHEM]   Brightness [state]
  2016-11-12 11:34:37 caching: FS20_005507-state: off
NAT-PMP failed: Error: Request failed: 500
Server listening on: https://:::3000


Das Gerät wird nicht in der Alexa-App gefunden (Der Alias, den ich im FHEM gesetzt habe, wird scheinbar auch nicht übernommen, wenn ich das Log richtig lese).

Troubleshooting-Rubrik im Wiki bin ich durchgegangen. Port-Forwarding funktioniert, Alexa-Code wird angezeigt.
Trigger ist gesetzt (Habe ihn nochmal gelöscht und neu gesetzt) - der kommt aber sowieso erst später ins Spiel.

NAT-PMP failed: Error: timeout aus dem Wiki klingt auch irgendwie anders als NAT-PMP failed: Error: Request failed: 500 aus meinem Log.

Habt ihr noch eine Idee?

Danke.

Gruß

justme1968

@Hotbird: wenn keine devices gefunden werden stimmt irgendetwas mit der verbindung nicht. leg dir zum weiteren testen erst mal ein FHEMWEB device ohne user/password an und teste damit. wichtig: im config file den fhem port ändern und ssl und auth entfernen. auf das letzte komma achten.

@Capeghost: das schaut erst mal ok aus. der alias ist nur in alexa zu sehen. nicht auf der console.
hast du das port-forwarding von extern geprüft? was sagt das aws log? der trigger kommt nicht später ins spiel. wenn der nicht gesetzt ist wird dein aws code nicht aufgerufen weil der die zuordnung zwischen skill und aws code ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Capeghost

Aufruf von extern bringt folgendes Ergebnis:

{"header":{"messageId":"9e216a19-d219-4668-9ec6-d855a4ac7378","namespace":"Alexa.ConnectedHome.Control","name":"UnsupportedOperationError","payloadVersion":"2"},"payload":{}}


Da befürchte ich, dass der UnsupportedOperationError nicht so gut ist...

Log ins AWS gibt es bisher keines...außer aus den Test direkt in AWS

Das steht im Code (etwas verfremdet):

const PORT=3000;
const HOST='0sddoprh7xxxxxxx.myfritz.net';

Markus Hermann

#100
Hallo zusammen.

Ich hab auch Problem, dass ich unter: "http://alexa.amazon.de  / Smart Home / Geräte suchen " keine Geräte finde!

Unter Monitor/Log Cloud Watch steht:

2016-11-12T11:27:36.806Z 03437a24-a8cb-11e6-95d6-e970a63286c8 problem with request: getaddrinfo ENOTFOUND https://eoxyzxzyzxzyzxsa.myfritz.net https://eoxyzxzyzxzyzxsa.myfritz.net:3000

Wenn ich von Extern diese URL im Browser eingebe: https://eoxyzxzyzxzyzxsa.myfritz.net:3000 dann erhalte ich nach der Browser Sicherheitswarnung, dass die Seite nicht sicher ist diese Meldung:

{"header":{"messageId":"9b58f9bf-630d-40ac-a08c-98cd66936197","namespace":"Alexa.ConnectedHome.Control","name":"UnsupportedOperationError","payloadVersion":"2"},"payload":{}}

Und auf dem FHEM-Server auf dem ./bin/alexa gestartet ist und auf Port 3000 lauscht diese Meldung:


  2016-11-12 10:20:19 caching: Nachtischlampe-D-firmware: 1.9
  2016-11-12 10:20:19 caching: Nachtischlampe-state: off
NAT-PMP failed: Error: Request failed: 500
Server listening on: https://:::3000
  2016-11-12 11:54:32 caching: Heizung-state: off
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}
**** Error: {}


Immer wenn ich die URL erneut aufrufe, kommt **** Error: {} auf der FHEM-Console. Das heißt für mich der Port ist von außen erreichbar, oder?

Wo ich  mir noch nicht sicher bin, ob die Client-ID und die App-ID ricchtig eingetragen sind:

amzn1.ask.skill.08ee1a5e-xxxx-xxxx-xxxx-xxxxxxxxxxxx   steht bei mir unter AWS-Lambda / Trigger  UND unter SKILL Information / Application-ID

amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxx steht unter Security Profile UND  unter Smarthome Skill / Configuration / Client Id  UND in der config.json auf dem FHEM-Server

In der config.json ist room="alexa" eingegeben und in FHEM gibt es zwei Geräte "Heizung" & "Nachtischlampe" die auch durch /bin/alexa aufgelistet werden.

Trostzdem findet alexa.amazon.de keine Geräte.

Was mach ich falsch?

Gruß
Markus


EDIT:
Muss es nun mit oder ohne HTTPS in der Lamda-Funktion lauten:

const PORT=3000;
const HOST='eoxyzxzyzxzyzxsa.myfritz.net';

Wenn ich im Browser eoxyzxzyzxzyzxsa.myfritz.net:3000 ohne https aufrufen laden ich auf den Apache-Startseite!


CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

justme1968

@Capeghost: das schaut nach fehlendem/falschen trigger aus

@Markus Hermann: der host muss ohne https eingetragen werden. nur der host name.
bei trigger muss die application id stehen.
was steht im log unter Monitor/Log Cloud Watch
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Markus Hermann

#102
Hallo justme1968,

jetzt habe ich bei Triggers die Application Id: amzn1.application-oa2-client.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx eingeben, wenn ich jetzt Geräte suche kommt kein Eintrag mehr im Cloud Watch Log.

In der Funktion steht nun kein HTTPS mehr: const HOST='eokxxxxxxxxavsa.myfritz.net';

Es kommt aber wohl gar nicht an Port 3000 an.

Habe den Trigger wieder auf: amzn1.ask.skill.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx nun steht im Log wieder.

2016-11-12 12:50:31
START RequestId: 982e2f1d-a8d6-11e6-b4ff-b5e6ca5c702c Version: $LATEST
2016-11-12T12:50:31.258Z 982e2f1d-a8d6-11e6-b4ff-b5e6ca5c702c **** Received Directive:
{
    "header": {
        "namespace": "Alexa.ConnectedHome.Discovery",
        "name": "DiscoverAppliancesRequest",
        "payloadVersion": "2",
        "messageId": "799f84a5-2f78-4123-bbe6-c4112b1af133"
    },
    "payload": {
        "accessToken": "Atza|IwEBIN7Ql6XzbA8UCM_hz6deHVf-mXHee6KJbvsJfMxEBanoJ8vLPrisXkYgGrguSl5bY7CQzYpIW4mJk-P6h54th0o0Mh4BxKUdMeD6617YVXbEbtovnNsBZP6XJ2UGIQyTzyYagZHWGTfB3h3EtUF6TU_RIfH5Ct0mCMC0z3e_RzZUFBGQ4LRHrsa_H7-29x4XnSyTjvBZTQ97z1IMAujP8lGkIh6QEwkYnGCiYpY-f7PNVxWuXxzh-55wM43P_5CN1Agb66bmhHt85z6LxuafRhtrHSoRfnriudSVB-8_iuunrF70r2qoe1xkY6I4L28gnS1WgnjrWA61fgYM6XUgR7mZfXU9z_JvN5-CvKdC903NC_rP22ta1tjuxroBhNK4ngiRkfU4cDJ2w1jL2mZ9trzPNVHZRFfylUHVisQmue4sCwY8fazHm5SHY7L9PmsmnpXfV0DEvrnW32eIvRD0rOz6O7hBIgpe1_shOdNjYCkOyIwKY-6Uk6YmhWRyr3-Up-4"
    }
}
2016-11-12T12:50:31.779Z 982e2f1d-a8d6-11e6-b4ff-b5e6ca5c702c problem with request: getaddrinfo ENOTFOUND https://eoxxxxxxxxxa.myfritz.net https://eoklxxxxxxa.myfritz.net:3000
END RequestId: 982e2f1d-a8d6-11e6-b4ff-b5e6ca5c702c
REPORT RequestId: 982e2f1d-a8d6-11e6-b4ff-b5e6ca5c702c Duration: 637.75 ms Billed Duration: 700 ms Memory Size: 128 MB Max Memory Used: 16 MB





Gruß
Markus
CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR

justme1968

amzn1.ask.skil... ist richtig.

ich bekomme unter deiner adresse auch eine antwort. du solltest sie aus dem geposteten log löschen. :)

der log eintrag schaut eher so aus als ob der host nicht (noch nicht?) aufgelöst wird. falls du die freigabe eben erst eingerichtet hat warte noch ein paar minuten und versuch es dann noch mal.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Markus Hermann

Danke für den Tipp :-)

Die Portfreigabe iust schon ein paar Stunden.
Ich glaube das ist das selbe Problem wie bei: https://forum.fhem.de/index.php/topic,60244.msg516996.html#msg516996
Ich habe eine Kabel-Fritzbox 6360 und bin Kabel(Vodafone) Kunde, vielleicht liegt es daran.

Die Fehlermeldungen bleiben in Cloud Watch Log dieselben.

CUL/CUL-RFR/HM-LAN an Cubietruck

FS20/FHT/TFK/UTS/KS300/HM-SEC-SC/HMS100/HM-OU-CFM-PL/HM-RC-SEC3/

FLOORPLAN auf Android-Tablet und VDR