alexa-fhem: amazon alexa smart home skill für fhem, api version 3

Begonnen von justme1968, 19 Dezember 2017, 22:16:30

Vorheriges Thema - Nächstes Thema

errazzor

Zitat von: balli1187 am 21 September 2018, 10:14:20
Der AlexaRoom greift nur im Chstom Skill.

Warum setzt du als Alexa Name nicht "Rollladen (im) Schlafzimmer". Damit funktioniert es bei mir hervorragend.


Gesendet von iPhone mit Tapatalk

DANKE - das geht. Auf die einfachsten Dinge kommt man manchmal nicht.

ABER:

Was jetzt nicht mehr geht ist "mach Rollladen Schlafzimmer hoch/runter". --> "...unterstützt das nicht".
Es geht nur noch mit Prozent.

Nur aufgrund der Namensänderung von "Rollladen" in "Rollladen Schlafzimmer".

Also das Verhalten ist schon echt strange, das muss ich mal so sagen ... :o

balli1187

Zitat von: errazzor am 21 September 2018, 10:50:32
DANKE - das geht. Auf die einfachsten Dinge kommt man manchmal nicht.

ABER:

Was jetzt nicht mehr geht ist "mach Rollladen Schlafzimmer hoch/runter". --> "...unterstützt das nicht".
Es geht nur noch mit Prozent.

Nur aufgrund der Namensänderung von "Rollladen" in "Rollladen Schlafzimmer".

Also das Verhalten ist schon echt strange, das muss ich mal so sagen ... :o
Interessant.... müsste ich mal testen. Ich nutze eigentlich immer nur die Prozentangabe, da ich die Rollläden zum Beispiel nie ganz schließe. Bei 20% fährt er gerade soweit herunter, dass die Lüftungsschlitzeoffen bleiben.


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

errazzor

#362
Zitat von: balli1187 am 21 September 2018, 11:11:43
Interessant.... müsste ich mal testen. Ich nutze eigentlich immer nur die Prozentangabe, da ich die Rollläden zum Beispiel nie ganz schließe. Bei 20% fährt er gerade soweit herunter, dass die Lüftungsschlitzeoffen bleiben.


Gesendet von iPhone mit Tapatalk

Würde mich sehr intressieren, ob das Verhalten bei Dir genauso ist. Wäre toll ,wenn Du nochmal Rückmeldung geben könntest. Danke!

KORREKTUR:

Es kommt wohl extrem darauf an, was man sagt...ich muss das Wort "mach / mache" (oder auch "fahre") weglassen, dann funktioniert zumindest das hochfahren.
Runterfahren geht dennoch nicht (nicht unterstützt), das hatte ich aber weiter vorne hier im Thread schonmal gelesen.

Zusammengefasst:

Was funktioniert:

"Rolladen Schlafzimmer hoch"
"Rolladen Schlafzimmer auf xx Prozent"

Was nicht funktioniert:

"mach/mache Rolladen Schlafzimmer hoch/runter" (nicht unterstützt)
"Rolladen Schlafzimmer runter" (nicht untersützt)

Da das runterfahren in keinem Fall unterstützt wird, ist die einzigst sinnvolle Verwendung mit Prozentangaben.

Es sei denn, jemand kann berichten das er es mit dem SmartHome-Skill anders hinbekommen hat (also das sowohl "hoch" als auch "runter" funktioniert bei Verwendung von Gerätenamen wie "Rollladen Schlafzimmer")

TomLee

Zitat von: justme1968 am 13 Februar 2017, 21:04:24
@Det20: namen mit leerzeichen sind keine gute idee und namen die den raum enthalten auch nicht. zum einen hat alexa öfter probleme damit und zum anderen verbaust du dir damit das raum basierte ansprechen.

Die Antwort damals bezog sich zwar mehr auf den Custom-Skill welchen du dir mit der Angabe des Raumnamen im alexaName verbaust (Custom-Skill willst du ja aber nicht verwenden), was die Leerzeichen angeht, denke ich, sollte man diese Aussage aber auch heute immer noch beachten.

balli1187

Ich habe von Anfang an Leerzeichen im Namen und hatte was das angeht bisher keine Probleme. Ich nutze aber wie gesagt auch nur die Prozentangaben....

Ohne Leerzeichen wird es meiner Meinung nach auch recht schnell schwierig, wenn man mehrere Rollläden hat.


Gesendet von iPhone mit Tapatalk
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

gvzdus

Ich habe nun heute diverse Frusterlebnisse hinter mir:

Vorgeschichte
Bisher hatte ich Alexa über habridge angebunden. Parallel habe ich eine Huebridge, das lief halbwegs gut: Hatte ich in habridge neue Geräte mit ihrer FHEM-URL eingetragen, musste ich der Huebridge den Saft ziehen, die Gerätesuche von Alexa laufen lassen, und es lief. Für die, die es nicht kennen: HAbridge emuliert eine Philips huebridge, und eigentlich ist das schon ganz nett: Man trägt fiktive "Lampen" ein und eine beliebige (FHEM-)URL, und schon hat man über FHEM den Homematic-Rolladen zur hue-Birne gemacht und kann "Schalte Rolladen Büro auf 100" sagen.

Mein Eindruck ist, dass Amazon gestern wohl endgültig der LAN-Anbindung von Smarthome den Saft abgedreht hat. Die Geräte sind offline, mit tcpdump sehe ich auch keine Requests auf den Raspberry mit habridge, und Alexa erzählt mir, dass ich mal den Strom überprüfen sollte :-)

Die Erfahrung mit Alexa-FHEM
Ich habe mich heute durchgekämpft, letztlich ohne Erfolg. Der Kern des Problems ist wohl, dass die Amazon Lambda-Funktionen noch immer kein IPv6 unterstützen, ich aber zum heimischen Raspberry mit alexa-fhem nur dann durchkomme, wenn dieser per IPv4 erreichbar ist. Das ist aber mit UnityMedia normal wohl nicht machbar. Meine Lambda-Funktion loggt nur einen EPERM-Fehler - und mit tcpdump sehe ich keine eingehenden Requests aus der Amazon-Cloud. Ganz ehrlich: Mir erscheint alexa-fhem als ein ziemliches Gefrickel, was mich zu den folgenden Überlegungen bringt.

Mein Wunsch
Eigentlich will ich nur eins: Alexa soll eine Geräteliste mit Kommandos ziehen können, und irgendeine Magie soll bei mir zuhause dann HTTP-requests ausführen können, so, wie es habridge tat. Und: M.E. sollte das funktionieren, ohne dass man einen Amazon-Developer-Account hat, eigene Skills, Security-Roles und Lambdafunktionen installiert, die alle nur den Sinn haben, dass der konkrete eigene Home-Hub angesprochen wird. Was mir schnulle ist: Wenn ich dafür irgendjemandem 5 Euro p.a. zahlen müsste, weil ihm Amazon-Kosten für das Hosten von Lambda-Funktionen entstehen.

Meine Vision
Wenn ich es richtig verstehe, könnte man so etwas so umsetzen, damit es ohne die ganzen Stolpersteine funktioniert:
Der Weg, um sowohl die IPv6-Problematik zu lösen, als auch vor allem das Requirement: "Registriere Dich bei AWS" zu überbrücken, könnte AWS IoT sein. Eine Software "Alexa FHEM 0.5" könnte ein Basis-Zertifikat beinhalten, dass über die "Just in time (device) provisioning"-Option von AWS IoT sich beim Start als Device beim "allgemeinen Alex-FHEM"-Service registiert. Sprich: Ich starte alexa-fhem zum ersten Mal, es registriert sich über das (im Code ausgelieferte) Basiszertifikat als "Device" bei AWS IoT, holt sich das eigene Zertifikat - und muss dann natürlich einen Identifier anzeigen, der ausgewürfelt wurde.

Nun installiere ich den *allgemeinen* FHEM-Skill in der Alexa-App / Webseite. Ich muss dabei den Identifier in der Login-Maske eingeben, den mir der Start von alexa-fhem generiert hat. Dann ist aber mein Account verknüpft. Die Lambda-Funktion des allgemeinen FHEM-Skills sendet an AWS-IoT zu meinem Device "lokaler Raspberry mit FHEM", und mein lokaler Raspberry sendet über AWS-IoT die stundenaktuelle Deviceliste und den Status an AWS-IoT, ohne, dass ich neu nach Geräten suchen müsste.

Die Frage
Ist das so realistisch gedacht? Gibt es viel simplere Möglichkeiten für das "fucking stupid" requirement: "Schalte Rolladen Büro auf 100" soll in meinem LAN einen Befehl http://192.168.0.1/fhem/...?pct=100" auslösen?

cs-online

schau mal bei Google nach "fhem ifttt alexa". Mit Ifttt hat ein Bekannter sein ganzes Smarthome aufgezogen. Nachteil: Du musst immer sagen "Alexa trigger Lampe an" und dieses "trigger" hat mir persönlich nicht so gut gefallen...

Grüße

Christian
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

gvzdus

Danke für die Antwort! Ich habe jetzt einen IPv4-SSL-Server als ReverseProxy zu meinem IPv6-Raspberry eingeschleift - häßlich - aber es funktioniert.

Generell ist bei mir zuhause der Woman-Acceptance-Factor essentiell, da geht nix mit "Trigger" :-). Und ich finde auch angenehm, wie alexa-fhem schlichtweg durch die Vergabe eines Alexa-Names (so habe ich bei mir den Filter eingestellt:
"filter": "alexaName=...*")
ohne irgendwelche Verrenkungen so ziemlich alles findet.

Ich werde mich jetzt erst einmal damit austoben, das über den nativen Smarthome-Skill die Möglichkeiten besser ausgereizt werden. Denn ich halte es für spannender, sich an den Möglichkeiten des allgemeinen Smarthome-Skills von Amazon zu orientieren, statt über den Custom-Skill zu gehen. Amazon wird demnächst noch neue APIs veröffentlichen, siehe https://developer.amazon.com/de/blogs/alexa/post/acf7689b-f118-469e-b452-0c4da8d3e61a/new-alexa-smart-home-developer-tools-enable-seamless-voice-control-of-any-device-and-any-feature


Ich habe MAX-Thermostate, HM-Rollläden und LaCrosse-Sensoren in meinem Heim - Licht läuft über Hue.

amenomade

Custom intents und neue Capacities im Smarthome Skill => klingt sehr interessant!
Wir bestimmt auch @justme1968 interessieren (ich vermute, er weiss schon davon ;) )
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Tommy82

Hi, hab seit neuestem das Problem das in der Alexa App die Temperaturen  meiner Fhem HM Thermostate in Fahrenheit anstatt Celsius angezeigt werden, einer eine Idee wieso das plötzlich so ist!?

(https://uploads.tapatalk-cdn.com/20180927/ac4dcff8a33e3ac41896c9d67a41f1c2.jpg)


Gesendet von iPhone mit Tapatalk
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

gvzdus

Zur Zeit habe ich wieder eine Version, die funktioniert...

Mal kleine Fortschritte (immer in Bezug auf den SmartHome-Skill):
Inzwischen kann ich meinen Max-Ventilen auch sagen: "Alexa, schalte Heizung XY auf automatisch / öko / boost / heiß", vulgo, den ThermostatMode setzen.
Finde ich interessant, weil ja sonst jeder manuelle Eingriff das Wochenprogramm ausschaltet.

Für's Publizieren halte ich es noch für zu früh, ich bastele ja weiter und möchte jetzt nicht jeden Fliegenschiess hochjubeln.

Folgende Sackgassen hatte ich hingegen:

- *Eigentlich* sagt die Amazon-Doku, dass man mit "supportsScheduling":true Befehle wie "Alexa, schalte die Heizung XY für 2 Stunden auf 23 Grad" sagen könnte. Gelingt mir aber nicht. Ich erhalte trotzdem keine Befehle von Amazon, die schedule-Informationen mitreichen. Hat das jemand schon mal hinbekommen - also schedule-Antweisungen für Thermostate von Alexa (auf Deutsch) zu bekommen?

- Rollladen auf 100% statt "Mache den Rollladen auf" ist wieder mieser Women Acceptance Factor ("WAF"). Meine Versuche, wahlweise die Rollläden parallel als Schalter zu definieren, führten zum Waterloo, dass Alexa bei "Schalte das Licht ein" auch den Rollladen hochfuhr. Bad WAF. Die Idee, ein Smartlock-Device zu definieren, geht auch nicht. "Schließen" und "Öffnen" kann man im Deutschen zwar für Schlösser und Rollläden verwenden, aber Alexa will ein "Schließe den Rollladen ab" hören. Ohne "ab" geht es nicht. Ergo: Bad WAF.

MadMax-FHEM

#371
Hast du dir mal die Routinen in der App angeschaut!?

Da kannst du Sätze "basteln" was du sagen willst und dann Geräte schalten/steuern...

Starte so meine Sauger mit: "Alexa starte den Sauger im Wohnzimmer" und schalte darauf hin einen Dummy ein (der dann in fhem mit Notify den Sauger entsprechend startet)...
Habe dazu nicht mal den Raum Wohnzimmer etc. angelegt sondern nur den Satz den ich sprechen will...
...und den Dummy-Schalter... ;)

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)

TomLee

Ohne dummy und notify, habs im Thread auch schon erwähnt ob mans nicht ins Wiki übernehmen kann.

defmod rp_xd_vacuum1 readingsProxy xd_vacuum1:state
attr rp_xd_vacuum1 alexaName sauger
attr rp_xd_vacuum1 event-on-change-reading .*
attr rp_xd_vacuum1 genericDeviceType switch
attr rp_xd_vacuum1 room Alexacontrol,readingsproxy
attr rp_xd_vacuum1 setFn {($CMD eq "on")?"start":"charge"}
attr rp_xd_vacuum1 setList on off

MadMax-FHEM

Danke!
Ich seh schon das mit ReadingsProxy muss ich mir mal intensiver anschauen...

Wollte nur anmerken, dass man in Routinen "irgendwas" angeben kann was man sagen will sofern man dann "nur" vorhandene Geräte schalten will...

Wiki kannst du selbst anpassen.
Einfach beantragen (mit Hinweis auf hier) und dann los...

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)

raimundl

Hallo!

Durch Zufall habe ich bemerkt, dass alexa bei einen HM-Thermostat nicht nur (wie auch im Wiki beschrieben) die Temperatur verstellen kann (reduziere, erhöhe, stelle auf) sondern auch die Raumtemperatur ansagen kann (alexa, wie ist die Temperatur "Device").
Wo gibt es eine Quelle für alle aktuellen Neuerungen im SmartHomeBereich?

LG
Homematic: Licht, Heizung, Alarm, Alexa ... auf einen RaspberryPi3+mit OS "Stretch" und RPI-RF-MOD mit piVCCU3 (HMCCU), ca. 40 HM Komponenten, alexa, MobileAlerts, Hue Ledstripes....