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

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

Vorheriges Thema - Nächstes Thema

Stippy19

Da hast du natürlich absolut Recht!

Um erstmal zu checken, was los ist, hab ich:
- Firewall am Router ausgemacht (nur während des Tests)
- IP Filer auf alle eingehenden und ausgehenden durchlassen

- Ich kann vom Raspberry aus raus pingen (sehe ipv6.google.com)
- Ich kann im lokalen Netz auf den Raspberry (sehe dann apache server)
- Über http://www.subnetonline.com/pages/ipv6-network-tools/online-ipv6-ping.php scheint er von extern auf den Raspy zugreifen zu können
- Aber wenn ich über's Handy versuche auf die ipv6 des Raspberrys zuzugreifen, findet er nichts

--> Ok, es scheint, dass mein Mobilfunknetz ipv6 nicht unterstützt. Mit dem Handy komme ich nämlich auch nicht auf ipv6.google.com, vom PC aus allerdings schon.
Würde jetzt für mich bedeuten, dass ich wahrscheinlich schon über ipv6 auf den Raspberry komme, es nur nicht testen kann von hier aus. Werde weiter rumprobieren und durchgeben, wenn ich neue Infos hab.

/Edit1:
- Das Port Mapping war das Problem. Mit https://www.feste-ip.net/ lässt sich ein "dedizierter" Mapper einstellen, der ip und Port getrennt voneinander erlaubt (bzw. zu einer ip dann alle Ports mappen kann).
- myonlineportal.net erlaubt nur einen Port Mapper inkl. Port Angabe. Deswegen konnte ich bei Host und Port auch keine getrennten Angaben machen, da im Host der Port schon mit drin war. Erklärung auf der Website:
Zum Beispiel: portmapper.myonlineportal.net:6666 -> 2001:4dd0:ff00:1481::2 : 80
Dadurch wird jede Anfrage an http://portmapper.myonlineportal.net:6666 auf die IPv6 Adresse 2001:4dd0:ff00:1481::2 und den Port 80 umgeleitet.

Deswegen liefert der AWS Lambda Test dann auch:
problem with request: getaddrinfo ENOTFOUND portmapper.myonlineportal.net:6666 portmapper.myonlineportal.net:6666:3000
Was ja nicht funktioniert, weil in portmapper.myonlineportal.net:6666 der Port bereits mit drin ist.
- Kann mann
const PORT=3000;
const HOST='XXX.XX.XXX.XXX';

irgendwie ersetzen mit einem punkt, der dann gleich beides abdeckt? Ansonsten nutze ich weiter feste-ip.net, damit scheint es zu gehen.

Die Connect Box Firewall blockt die Funktion übrigens auch ab. Sobald diese an ist, kann AWS Lambda keine Verbindung mehr herstellen. Leider scheint es überhaupt keine Einstellungsmöglichkeiten zu haben, entweder an oder aus. Ich habe etwas Bedenken, die Firewall dauerhaft aus zu machen...


/Edit2:
Ok, man muss den Port wohl für UDP/TCP und nicht nur TCP freigeben. Dann geht's. Wenn Interesse besteht, schreib ich morgen kurz zusammen, was ich bei feste-ip.net und an der Connect Box gemacht habe, damit es jetzt funktioniert.
Meine Güte, viel komplizierter geht es ja echt nicht mehr  :o
(Und das ging nicht an justme1968 oder alexa-fhem, sondern an Unity Media!, btw.: Vielen Dank für alexa-fhem!)

justme1968

du musst doch nur bei port die 6666 eingeben und bei HOST alles bis zum :. d.h. dort die :6666 weg lassen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Marlen

Hallo, ich habe diese Fehler wenn ich den Alexa-Fehm Dienst mit

./bin/alexa

starten will!

[7/15/207, 12:32:59 PM] [FHEM] starting longpoll: http://192.168.178.33:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1500114779744
[7/15/2017, 12:32:59 PM] [FHEM] Checking devices and attributes...
[7/15/2017, 12:32:59 PM] [FHEM]   executing: http://192.168.178.33:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_23158754681415&XHR=1
[7/15/2017, 12:32:59 PM] [FHEM]   executing: http://192.168.178.33:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_23158754681415&XHR=1
[7/15/2017, 12:32:59 PM] [FHEM] Fetching FHEM devices...
[7/15/2017, 12:32:59 PM] [FHEM] fetching: http://192.168.178.33:8083/fhem?cmd=jsonlist2%20room=alexa&fwcsrf=csrf_23158754681415&XHR=1
[7/15/2017, 12:32:59 PM] [FHEM] longpoll ended, reconnect in: 12700msec
[7/15/2017, 12:32:59 PM] [FHEM] There was a problem connecting to FHEM (http://192.168.178.33:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_23158754681415&XHR=1).
[7/15/2017, 12:32:59 PM] [FHEM]   401: Authorization Required
[7/15/2017, 12:32:59 PM] [FHEM] There was a problem connecting to FHEM (http://192.168.178.33:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_23158754681415&XHR=1).
[7/15/2017, 12:32:59 PM] [FHEM]   401: Authorization Required
[7/15/2017, 12:32:59 PM] [FHEM] There was a problem connecting to FHEM
[7/15/2017, 12:32:59 PM] [FHEM]   401: Authorization Required


Was hab ich falsch gemacht? Oder vergessen?

LG
  Marlen

Esjay

Zitat von: Marlen am 15 Juli 2017, 12:39:19
Hallo, ich habe diese Fehler wenn ich den Alexa-Fehm Dienst mit

./bin/alexa

starten will!

[7/15/207, 12:32:59 PM] [FHEM] starting longpoll: http://192.168.178.33:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1500114779744
[7/15/2017, 12:32:59 PM] [FHEM] Checking devices and attributes...
[7/15/2017, 12:32:59 PM] [FHEM]   executing: http://192.168.178.33:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_23158754681415&XHR=1
[7/15/2017, 12:32:59 PM] [FHEM]   executing: http://192.168.178.33:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_23158754681415&XHR=1
[7/15/2017, 12:32:59 PM] [FHEM] Fetching FHEM devices...
[7/15/2017, 12:32:59 PM] [FHEM] fetching: http://192.168.178.33:8083/fhem?cmd=jsonlist2%20room=alexa&fwcsrf=csrf_23158754681415&XHR=1
[7/15/2017, 12:32:59 PM] [FHEM] longpoll ended, reconnect in: 12700msec
[7/15/2017, 12:32:59 PM] [FHEM] There was a problem connecting to FHEM (http://192.168.178.33:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_23158754681415&XHR=1).
[7/15/2017, 12:32:59 PM] [FHEM]   401: Authorization Required
[7/15/2017, 12:32:59 PM] [FHEM] There was a problem connecting to FHEM (http://192.168.178.33:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_23158754681415&XHR=1).
[7/15/2017, 12:32:59 PM] [FHEM]   401: Authorization Required
[7/15/2017, 12:32:59 PM] [FHEM] There was a problem connecting to FHEM
[7/15/2017, 12:32:59 PM] [FHEM]   401: Authorization Required


Was hab ich falsch gemacht? Oder vergessen?

LG
  Marlen

Hast du fhem abgesichert per Passwort?Und das auch in die config eingetragen?

Marlen

Danke, hab das Passwort gelöscht, geht jetzt scheinbar!!!

....wieder ein Stück weiter!

Marlen

Ne, moment, läuft immer noch nicht...oder was bedeutet das???

Das kommt nach der Eingabe von ./bin/alexa

t: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[7/15/2017, 2:07:56 PM] prefixOfIntent:
[7/15/2017, 2:07:56 PM] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[7/15/2017, 2:07:56 PM] suffixOfIntent:
[7/15/2017, 2:07:56 PM] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[7/15/2017, 2:07:56 PM] alexaTypes:
[7/15/2017, 2:07:56 PM] { light: [ 'licht', 'lampen' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }
[7/15/2017, 2:07:56 PM] roomOfEcho:
[7/15/2017, 2:07:56 PM] {}
[7/15/2017, 2:07:56 PM] fhemIntents:
[7/15/2017, 2:07:56 PM] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }
[7/15/2017, 2:07:56 PM] [FHEM] got: 0 results

Esjay

Gib mal die gesamte Ausgabe. Hast du dir mal ein dummy angelegt,mit setList on off und genericType Switch? Ansonsten mal das Trobleshooting im Wiki durchgehen.

Dhino

Guten Tag,
ich habe jetzt einige Stunden dran rumgebastelt und sämtliche Beiträge gegooglet und hier nach geschaut aber ich finde keine Lösung, vielleicht habt ihr eine Idee:

wenn ich ./bin/alexa starte kommt folgendes:

./bin/alexa
[2017-7-15 14:11:45] using /home/pi/.alexa/config.json
[2017-7-15 14:11:45] ---
[2017-7-15 14:11:45] this alexa-fhem 0.1.9
[2017-7-15 14:11:45] Fetching FHEM devices...
[2017-7-15 14:11:45] [FHEM] Checking devices and attributes...
[2017-7-15 14:11:45] [FHEM]   executing: https://192.168.2.116:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2017-7-15 14:11:45] [FHEM]   executing: https://192.168.2.116:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2017-7-15 14:11:45] [FHEM] starting longpoll: https://192.168.2.116:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1500120705695
[2017-7-15 14:11:45] [FHEM] Fetching FHEM devices...
[2017-7-15 14:11:45] [FHEM] fetching: https://192.168.2.116:8083/fhem?cmd=jsonlist2&XHR=1
[2017-7-15 14:11:45] Server listening on: https://:::3000


so bleibts dann auch bestehen, aber man sieht schon das alexa-fhem keine Schalter oder sonstiges sieht, wenn ich jetzt mit der Alexa Skill app nach Geräte suche kommt im Terminal folgendes noch dazu:

[2017-7-15 14:11:57] accepted new token
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Discovery","name":"DiscoverAppliancesRequest","payloadVersion":"2","messageId":"2246ebbb-0adb-4665-bfa5-fe230906c134"},"payload":{"accessToken":"Atza|IwEBIM9Vc4QwV8Zi6aIZevRYDHfSRY4f_QjMubLb3xvwaCzyoySKqFciVLgIXzzvtDUwGeBc-Kf-mQB8zu-wJi239h7qbZCpCWVWSkeBfCmcqkk4F2fGtfSqbekSXEkVpBZo6_4MOmcTYhW6x9J3rE_Vz3yCdQ4loOLHrS4et2Xt7IU8z2C0ohh69HdWoR4uhaLn2vYETO5zhhkWOsvCMMD1YP1HzanBC-EgNznG6QZPjumejAUCUPyW89jTDXSdPsb9bLdxHpIwukUtcwT-kzj2W9KkfPzk3gfPNsau_xfBBt-2fCuBJig0e3MJPssrrTY1IDYMd_7w_FZ5v0DALYiyNyXDdmGd7O1jxe4aC68t2SgWPzvPnnY24_WA3tfDV3Z--a1f9T_bJSVcyqrrR-FYBakCn1TBNOErmiTgjGlKOgidBVbflVQZcUqU4seeV3xDK92kUO0kvwsOdyEYv411sONYgVon1FntKxDeyknihKMtuuTRDnxfwhMZbCtJQC4luFDM6vahPCQTV62Vg61Eeqp_"}}
response :{"header":{"name":"DiscoverAppliancesResponse","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Discovery","messageId":"95dfd084-6752-4ebe-ac90-72a0342b4d2d"},"payload":{"discoveredAppliances":[]}}


aber natürlich findet die App nichts weil nichts zu sehen ist, aber die Kommunikation scheint ja zu funktionieren, anscheind gibts ein Problem mit FHEM (Habe eine Homebridge auch erfolgreich drauf am laufen womit ich per Iphone auch Schalter schalte)

danke schonmal im vorraus, bin am verzweifeln :-(


Edit:

habe es endlich hingekriegt, hatte alles soweit richtig, einzige was mir endlich aufgefallen ist das es bei allen ohne SSL in der config funktioniert, das wollte ich jetzt auch, dann kam ich auf die Lösung: attr WEB csrfToken none <- fehlte bei mir in fhem, als ich das eingefügt habe und aus der alexa fhem config ssl rausgenommen habe, hat er alle devices gefunden jippi.

Marlen

Dummy hab ich angelegt.

Mir ist noch das aufgefallen nach der .bin/alexa
[7/15/2017, 2:15:05 PM] Server listening on: https://:::3000


Und jetzt kommt am ende:
5/2017, 2:17:43 PM] Got SIGINT, shutting down alexa-fhem...

amenomade

Got SIGINT => irgendwas (du mit Ctrl+C?) hat das Prozess gestoppt.

Auf deinem Dummy, hast Du attr genericDeviceType gesetzt?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

@Dhino: hast Du ein Filter / Alexa room in deinem config.json. Und sind Geräte in diesem gefilterten Raum?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Dhino

Nein hatte es mit Filter versucht (habe auch einen alexa Raum mit Schaltern auf fhem) aber habe den Filter dann mal rausgenommen

justme1968

im filter gibts du an welche devices du haben willst. wenn du keinen filter angibst werden auch keine devices gefunden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Dhino

Habe es mit Filter (auch auf groß und klein Schreibung geachtet) versucht, klappt  trotzdem nicht  :(

amenomade

Zeig mal dein config.json (anonymisiert), und ein "list" von einem Gerät, das in diesem Raum ist.

In config.json musst Du sowas haben:
"filter": "room=irgendwelchenName"

Und beim Gerät musst Du:
attr Gerät room irgendwelchenName

So weisst Alexa welche Devices sie suchen musst.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus