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

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

Vorheriges Thema - Nächstes Thema

Amenophis86

Ich denke du solltest dir eher die Intents des Custom Skill ansehen, als das Mapping. Gerade für Komplexe Aufgaben scheint mir dies besser zu sein.
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

justme1968

da alexaMapping ist primär dazu da mehrere (viele) gleiche oder ähnliche standard devices mit den gleichen kommandos zu steuern. lampen ein und aus schalten, farben ändern. temperaturen einstellen, ...

wenn man so ein mapping ein mal korrekt aufgesetzt hat greift es automatisch für alle neu hinzu kommenden geräte die gleiche charakteristiken anbieten. hier kann man auch einfach raum/gruppen weise schalten oder geräte typen (alle lampen,...) ansprechen.


fhemIntents sind primär für dinge die nicht an ein device gebunden sind ('guten morgen') und dinge bei denen man sehr viel mehr freiheiten braucht als es der satzbau im alexaMapping erlaubt. hier kann man auch dialog spiele einbauen oder rückmeldungen und abfragen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cs-online

Hallo,

ich versuche das Beispiel von Reinhard nachzubauen, verstehe ich das richtig, dass
{alexaHeizung()}=heizungsstatus
{currentEnergy()}=energieverbrauch


aus "2 FHEMIntents hinzugefügt" kommt im Alexa-Device in "fhemIntents" hinein ? So wie es da steht ?

Dann würde ich

FHEMperlCodeIntentB heizungsstatus
FHEMperlCodeIntentC energieverbrauch


auf der Amazonseite mit dem Skill unter "Sample Utterances Skill", also in das untere Feld einfügen oder ?

die 99_MyUtils sind klar.

Und dann weiter ??

Amazon sagt beim Speicherversuch:

Error: There was a problem with your request: The intent 'FHEMperlCodeIntentB' was not found in the domain definition.This error occurred in sample 'FHEMperlCodeIntentB heizungsstatus' on line 49.

Sorry, aber ich blick da echt nicht durch, ich brauche mal ein Beispiel von A-Z. Ich finde immer nur Bruchstücke und dreh mich tagelang im Kreis. Da ist der Fun-Faktor total im Keller. Es gibt doch bestimmt irgendwo mal eine Schritt für Schritt-Anleitung oder ? Nur finde ich keine...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Esjay

Zitat von: cs-online am 25 Juli 2017, 20:11:49
Hallo,

ich versuche das Beispiel von Reinhard nachzubauen, verstehe ich das richtig, dass
{alexaHeizung()}=heizungsstatus
{currentEnergy()}=energieverbrauch


aus "2 FHEMIntents hinzugefügt" kommt im Alexa-Device in "fhemIntents" hinein ? So wie es da steht ?

Dann würde ich

FHEMperlCodeIntentB heizungsstatus
FHEMperlCodeIntentC energieverbrauch


auf der Amazonseite mit dem Skill unter "Sample Utterances Skill", also in das untere Feld einfügen oder ?

die 99_MyUtils sind klar.

Und dann weiter ??

Amazon sagt beim Speicherversuch:

Error: There was a problem with your request: The intent 'FHEMperlCodeIntentB' was not found in the domain definition.This error occurred in sample 'FHEMperlCodeIntentB heizungsstatus' on line 49.

Sorry, aber ich blick da echt nicht durch, ich brauche mal ein Beispiel von A-Z. Ich finde immer nur Bruchstücke und dreh mich tagelang im Kreis. Da ist der Fun-Faktor total im Keller. Es gibt doch bestimmt irgendwo mal eine Schritt für Schritt-Anleitung oder ? Nur finde ich keine...

Schau mal unter « Antwort #6 am: 12 Februar 2017, 10:40:02 » hier https://forum.fhem.de/index.php/topic,65890.0.html

Das sollte doch das sein, was du brauchst oder?

Grüße

cs-online

danke, das werde ich mir morgen mal in einer ruhigen Minute durchlesen. Habe das Beispiel nun auch adaptieren können, hatte vergessen, die FHEM_Intents aus dem interaction Modell in den Skill zu kopieren. Bei mir heisst das nun "wasserstatus". Ich kann aber nur mit "Alexa, starte FHEM" und dann "wasserstatus" fragen, bei "Alexa frage FHEM wasserstatus", auch mit "nach" und "wie ist" oder "wie ist der" kommt nichts. Das Problem habe ich auch öfters bei anderen Devices, die als Thermomenter definiert sind. Woran kann das liegen ? Und wie müßte ich das FHEM_Intent ändern, damit ich zusätzlich auch fragen könnte "wie ist der wasserstatus" ?

Mühsam ernährt sich das Eichhörnchen... aber ich komme jeden Tag ein Stückchen weiter, Dank Eurer Hilfe !!!!!!

Vielen Dank dafür und gute Nacht
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

cs-online

...in der App steht wenn ich sage "alexa, frage femm (nach) wasserstatus", erkannt hat sie "alexa, frage fam .....", wenn ich "alexa, starte femm", dann startet sie den Skill... rutscht sie da ins englische ? und kann mann das korrigieren ? würd ungern einen anderen Namen nehmen...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

cs-online

Guten Morgen,

da ich dachte, daß der Invocation-Name "FHEM" als Abkürzung für Alexa wohl nicht geht, ich den Skill aber doch gerne wie "FEMM" ausgesprochen (so hat der Schöpfer Rudi mal in einem Interview die Aussprache benannt und mir gefällt das) haben möchte, habe ich als Invocation-Name "femm" angegeben. Mal die Frage in die Runde, klappt das mit "FHEM" und wie spricht sich das dann aus und erkennt Alexa das dann auch mit "Alexa, frage...." ? Bei einigen Devices (merkwürdigerweise nicht bei allen) erkennt sie das als "fam", also die amerikanische Aussprache. Manchmal antwortet sie auch bei "Aquariumleuchte" das "Aquarium" mit amerikanischem Slang, die Leuchte dann wieder normal. Wenn ich "Alexa, starte femm" sage, erkennt sie das immer zuverlässig

@Esjay: Danke für den Tip, das sieht tatsächlich aus, wie ich es brauchen würde :-) Werde ich bald mal ausprobieren
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Reinhart

Zitat von: cs-online am 25 Juli 2017, 21:48:09
...in der App steht wenn ich sage "alexa, frage femm (nach) wasserstatus", erkannt hat sie "alexa, frage fam .....", wenn ich "alexa, starte femm", dann startet sie den Skill... rutscht sie da ins englische ? und kann mann das korrigieren ? würd ungern einen anderen Namen nehmen...

das habe ich auch schon bemerkt und obwohl ich gerne "fhem" hätte habe ich jetzt einen deutschen unverwechselbaren Namen "Haus" gewählt weil sich sonst Alexa noch etwas hart tut. Früher hatte ich "Smarthome", das geht aber nicht mehr weil es einen öffentlichen Skill "Smarthome Austria" gibt und sich der immer angesprochen fühlt (Bild 1). Diesbezüglich habe ich schon Feedback an Amazon gegeben.

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Markus.

Hallo Zusammen,
kann ich eigentlich das Problem mit dem TargetPosition_article Fehler bei copy und paste aus dem "get Interactionmodel Fenster" irgendwie umgehen anstatt immer die entsprechenden Zeilen anschließend im Skill zu müssen? Oder ist das Browser abhängig? Ich benutze zur Zeit noch IE11 auf win 10.

Gruß

Markus

Reinhart

Zitat von: cs-online am 25 Juli 2017, 21:06:33
bei "Alexa frage FHEM wasserstatus", auch mit "nach" und "wie ist" oder "wie ist der" kommt nichts. Das Problem habe ich auch öfters bei anderen Devices, die als Thermomenter definiert sind. Woran kann das liegen ? Und wie müßte ich das FHEM_Intent ändern, damit ich zusätzlich auch fragen könnte "wie ist der wasserstatus" ?

Ich mache das immer in 2 Stufen (in einer Frage gibt es zu viele Fehlfunktionen bei mir):

F: Alexa frage Haus
A: wie kann ich helfen
F: wie ist der Status vom Wasser
A: Wasser misst 23,6 Grad und der Batteriestand ist in Ordnung

Definiert habe ich es so, das ergab bei mir das Beste Ergebnis.

alexaname des HM-WDS30-T-O =wasser
Custom Slot Type Fhem_Device =wasser
Sample Utterances = StatusIntent wie ist der status von {Device}


LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Reinhart

Zitat von: Markus. am 26 Juli 2017, 09:18:13
Hallo Zusammen,
kann ich eigentlich das Problem mit dem TargetPosition_article Fehler bei copy und paste aus dem "get Interactionmodel Fenster" irgendwie umgehen anstatt immer die entsprechenden Zeilen anschließend im Skill zu müssen? Oder ist das Browser abhängig? Ich benutze zur Zeit noch IE11 auf win 10.

Gruß

Markus

Hallo Markus!

Ich benutze Win10 mit Edge und mache immer "copy und paste". Ich kopiere mir aber alles zuerst in einen Editor (PSPad) .

LG
FHEM auf Raspy4 mit Bullseye + SSD, Homematic, ESP8266, ESP32, Sonoff, eBus, NanoCUL, MapleCUL, , MQTT2, Alexa

Markus.

@Reinhart
Vielen Dank für den Tipp! Musst Du dann die fehlerhaften Zeilen nicht Ändern?
Werde das aber mal versuchen...

Gruß

Markus

MarkusRobertAllen

Hallo,
ich möchte den Skill gerne anpassen und die Information zum FHEM Server (und andere "Parameter") nicht als Teil des Lambda Codes, wie:

Zitatconst HOST='myserver.no-ip.biz';

zu haben, sondern als Teil der Anmeldung an den Skill - und dann weiter an Lambda - zu übergeben.

Ich hoffe also zu realisieren, dass der Anmeldeprozess nicht nur UN/PW, sondern auch den FHEM Server abfragt. Hier denke ich in die Richtung eines eigenen OAUTH-Servers...

Hier bin ich gerade in mehrere Sackgassen gelaufen. Hat hier jemand ein Idee oder eine klare Indikation, dass dies nicht funktionieren kann?

Danke!

justme1968

zum invocation name: ich verwende 'schon immer' fhem und das geht völlig problemlos.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MadMax-FHEM

Zitat von: justme1968 am 26 Juli 2017, 14:20:43
zum invocation name: ich verwende 'schon immer' fhem und das geht völlig problemlos.

Nur weil du Alexa nach dem "Mund redest"... ;)

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)