alexa-fhem: amazon alexa smart home skill für fhem

Begonnen von justme1968, 05 November 2016, 23:21:32

Vorheriges Thema - Nächstes Thema

mrbreil

#750
Hallo justme1968.

Ich habe da noch eine Frage die gleichzeitig eine Bitte ist. Ist es technisch möglich ein Reading im Alexa Modul zu coden welches einen String enthält mit allem was nach dem Invocation Name folgt? Für mich wäre es einfacher und personalisierter diesen auszuwerten.

Gruß MrBreil

justme1968

nein. das ist nicht möglich. es lassen sich mit dem aktuellen api keine beliebigen texte erkennen.

ich weiß auch nicht was daran einfacher sein soll als die weiter oben vorgestellte konfigurierbarkeit die demnächst kommt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

xanker

#752
@justme1968: ist es alexa-fhem möglich auszuwerten von welchem Skill das Event kommt? Dann würde ich mir für jeden Raum einen custom Skill anlegen um sozusagen mit den "Räumen zu sprechen". Beispiel: "Alexa, sage dem Wohnzimmer es soll auf [Sender] umschalten" oder "Alexa, sage dem Büro es soll den Rollo hochfahren".
Danke schonmal.

Edit: Erst denken dann fragen...man kann ja nur eine Applikation Id angeben, wäre das noch irgendwie anders möglich? Oder bräuchte ich dann mehrere alexa-fhem Prozesse?
Maintainer vom flex Style.
Intel NUC mit fhem in Docker Container | Homematic | SIGNALduino 433MHz | HUE Bridge | Harmony HUB | lepresenced | alexa-fhem ...

visionsurfer

@justme1968

Ja soweit verstanden. Leider für mich aber komplett unlogisch. Ich habe ein Device welches durch on und off zu steuern ist. Der Befehl: alexa, schalte kochen ein, steht sowohl in der alexa App unter den verstandenen befehlen als auch in der Konsole und löst einen Schaltvorgang aus.

Der Befehl: alexa, schalte kochen aus steht auch unter den zuletzt verstandenen Befehlen, kommt aber nicht in Fhem an.

Bei jeder normalen Lampe klappt das mit an und aus auch wunderbar.
Für mich ist total unlogisch warum gerade bei dem Device nichts ankommt.

Puh. Keine Ahnung. Schade.

Grüße
Visionsurfer

chunter1

#754
bitte kurz im Rat...
Was könnte hier schief laufen wenn ich auf die Frage "Alexa, frage fhem nach meiner Raumliste" als Antwort nur "Ich kenne" zurück bekomme?
Im custom skill ist aber "Wohnzimmer" eingetragen und dieser Raum existiert auch in FHEM.

justme1968

@xanker: in der nächsten version ist es schon möglich mehr als eine applicationId einzutragen. es würde nur noch eine zuordnung von id zu raum fehlen. ich überlege mal wie das am besten geht.

@visionsurfer: schau ob es im cloudwatch log einträge gibt

@chunter1: zeig mal die konsolen ausgabe mit --debug wenn du diese frage stellst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

chunter1

Beim manuellen Starten auf der Konsole bekomm ich folgende Meldungen:



[2016-12-10 18:36:43] using /root/.alexa/config.json
[2016-12-10 18:36:44] ---
[2016-12-10 18:36:44] this alexa-fhem 0.1.3
[2016-12-10 18:36:44] Trying NAT-PMP ...
[2016-12-10 18:36:44] Fetching FHEM devices...
[2016-12-10 18:36:45] [FHEM] Checking devices and attributes...
[2016-12-10 18:36:45] [FHEM]   executing: http://192.168.0.23:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-12-10 18:36:45] [FHEM]   executing: http://192.168.0.23:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2016-12-10 18:36:45] [FHEM] starting longpoll: http://192.168.0.23:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1481391405132
[2016-12-10 18:36:45] [FHEM] Fetching FHEM devices...
[2016-12-10 18:36:45] [FHEM] fetching: http://192.168.0.23:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[2016-12-10 18:36:45] Server listening on: https://:::3000
[2016-12-10 18:36:45] [FHEM] got: 5 results
[2016-12-10 18:36:45] [FHEM] FHEM.Alexa: no service type detected
[2016-12-10 18:36:45] [FHEM] no device created for FHEM.Alexa (dummy)
[2016-12-10 18:36:45] [FHEM] FHEM.Alexa.DOIF: no service type detected
[2016-12-10 18:36:45] [FHEM] no device created for FHEM.Alexa.DOIF (DOIF)
[2016-12-10 18:36:45] [FHEM] FHEM.Alexa.Status: no service type detected
[2016-12-10 18:36:45] [FHEM] no device created for FHEM.Alexa.Status (dummy)
[2016-12-10 18:36:45] [FHEM] MyAlexa: no service type detected
[2016-12-10 18:36:45] [FHEM] no device created for MyAlexa (alexa)
[2016-12-10 18:36:45] [FHEM] radio: no service type detected
[2016-12-10 18:36:45] [FHEM] no device created for radio (dummy)
[2016-12-10 18:36:45] [FHEM] alexa device is MyAlexa
[2016-12-10 18:36:45] [FHEM]   executing: http://192.168.0.23:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.1.3%22%7D&XHR=1


justme1968

in deinem log ist keine anfrage zu sehen.

dafür aber das kein device richtig konfiguriert ist. ohne devices auch keine räume.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sokomania

Ich bin nun seit einer Woche dabei , das Alexa FHEM ansprechen kann.  Ich habe mal das Lambda Test durchgeführt, dabei kommt die Meldung: Execution result: succeeded
{
  "header": {
    "name": "UnsupportedOperationError",
    "payloadVersion": "2",
    "namespace": "Alexa.ConnectedHome.Control",
    "messageId": "62955d99-dcce-46de-9fc3-19eefc6a396e"
  },
  "payload": {}
}

in der Konsole vom Pi kommt diese Meldung:#

pi@xxx:/opt/fhem/alexa-fhem $ ./bin/alexa
[2016-12-10 19:55:07] using /home/pi/.alexa/config.json
[2016-12-10 19:55:07] ---
[2016-12-10 19:55:07] this alexa-fhem 0.1.3
[2016-12-10 19:55:07] Fetching FHEM devices...
[2016-12-10 19:55:07] [FHEM] Checking devices and attributes...
[2016-12-10 19:55:07] [FHEM]   executing: http://192.168.178.104:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2016-12-10 19:55:07] [FHEM]   executing: http://192.168.178.104:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2016-12-10 19:55:07] [FHEM] starting longpoll: http://192.168.178.104:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1481396107686
[2016-12-10 19:55:07] [FHEM] Fetching FHEM devices...
[2016-12-10 19:55:07] [FHEM] fetching: http://192.168.178.104:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[2016-12-10 19:55:07] Server listening on: https://:::3000
[2016-12-10 19:55:07] [FHEM] got: 2 results
[2016-12-10 19:55:07] [FHEM] Lichterkette is switch
[2016-12-10 19:55:07] [FHEM] Lichterkette has
[2016-12-10 19:55:07] [FHEM]   On [state;on,off]
  2016-12-10 19:55:07 caching: Lichterkette-state: on
[2016-12-10 19:55:07] [FHEM] Stern1 is switch
[2016-12-10 19:55:07] [FHEM] Stern1 has
[2016-12-10 19:55:07] [FHEM]   On [state;on,off]
  2016-12-10 19:55:07 caching: Stern1-state: on
[2016-12-10 19:55:07] [FHEM] alexa device is alexa
[2016-12-10 19:55:07] [FHEM]   executing: http://192.168.178.104:8083/fhem?cmd=%7B$defs%7Balexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.1.3%22%7D&XHR=1
[2016-12-10 19:57:30] event not supported
response :{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"62955d99-dcce-46de-9fc3-19eefc6a396e"},"payload":{}}



Wenn ich die Webseite vom Pie (https://xxxx.xx:3000) aufrufe kommt die Meldung:

{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"925abad2-1c22-47e3-9618-dfaba77b7e76"},"payload":{}}


Ich wäre sehr dankbar, wenn mir einer auf die Sprünge helfen könnte, was ich den falsch mache.
Vielen Dank im Vorraus

stinky23

#759
Falls mal jemand fragt warum die Anleitung etwas unstrukturiert wirkt: Ist sie nicht, die Abhängigkeiten sind wirklich wirr...

Ich hab mal versucht die Zusammenhaenge klar zu kriegen, damit Ihr auch was davon habt das Resultat hier:

http://imgur.com/2gpXyLN.jpg

Mein tiefer Respekt fuer die Nerven, das funktionierend zu dokumentieren!

cu
  gonz

P.S.: Wenn an der Grafik was falsch ist oder ergänzt gehört bin ich ganz Ohr.

justme1968

@sokomania: wie kommst du drauf das du etwas falsch machst?
wie oben schon ein paar mal geschrieben kann man den lambda test nicht verwenden weil er kein vollständiges event erzeugt. man sieht nur das alexa-fhem antwortet. das gleiche gilt für den test per browser.

wenn du so weit bist musst du nur die geräte suche starten und solltest los legen können.

@chunter1: bitte mit --debug starten dein device ist vermutlich immer noch nicht vollständig konfiguriert. wenn die setList kein on und off enthält -> eintragen. wenn du andere kommandos verwendest -> homebridgeMapping passend setzen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sokomania

@justme1968 Danke für deine Antwort.  :)
Aber leider wird keine Geräte gefunden, habe auch schon ein paar mal den Skill neu angelegt. es kommt auch meldungen in der CloudWatch Log:

19:17:25
START RequestId: 486fdf84-bf0d-11e6-8975-4f8fd72d0879 Version: $LATEST

19:17:25
2016-12-10T19:17:25.296Z 486fdf84-bf0d-11e6-8975-4f8fd72d0879 EVENT: [object Object]

19:17:25
2016-12-10T19:17:25.296Z 486fdf84-bf0d-11e6-8975-4f8fd72d0879 CONTEXT: [object Object]

19:17:26
2016-12-10T19:17:26.324Z 486fdf84-bf0d-11e6-8975-4f8fd72d0879 STATUS: 200

19:17:26
2016-12-10T19:17:26.324Z 486fdf84-bf0d-11e6-8975-4f8fd72d0879 HEADERS: {"date":"Sat, 10 Dec 2016 19:17:26 GMT","connection":"close","content-length":"174"}

19:17:26
2016-12-10T19:17:26.324Z 486fdf84-bf0d-11e6-8975-4f8fd72d0879 BODY: "{\"header\":{\"name\":\"UnsupportedOperationError\",\"payloadVersion\":\"2\",\"namespace\":\"Alexa.ConnectedHome.Control\",\"messageId\":\"015afcf7-0007-4bc4-8be0-ad8a52e358c2\"},\"payload\":{}}"

19:17:26
END RequestId: 486fdf84-bf0d-11e6-8975-4f8fd72d0879

19:17:26
REPORT RequestId: 486fdf84-bf0d-11e6-8975-4f8fd72d0879 Duration: 1028.61 ms Billed Duration: 1100 ms Memory Size: 128 MB Max Memory Used: 19 MB


Der Skill wird auch unter Alexa angezeigt und ist aktiviert. genericDeviceType ist auch als Switch angelegt und auch der alexaName ist vergeben. Aber wenn ich In Alexa die geräte suche starte, findet er nix...  :(

justme1968

#762
das cloudwatch log ist von deinem manuellen test. nicht von einer geräte suche.

bitte schau dir den trouble shooting abschnitt im wiki an und mach im anderen thread weiter.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

sokomania


chunter1

Zitat von: justme1968 am 10 Dezember 2016, 20:31:43
@chunter1: bitte mit --debug starten dein device ist vermutlich immer noch nicht vollständig konfiguriert. wenn die setList kein on und off enthält -> eintragen. wenn du andere kommandos verwendest -> homebridgeMapping passend setzen.

vielen Dank!
"setList on off" hatte gefehlt.
jetzt muss ich nur noch das room Konzept durchschaun um "Standheizung" im "Mazda" und "Standheizung" im "VW" zu unterscheiden ;)