Abfragen von Geräten und Sensoren über alexa.

Begonnen von sash.sc, 28 Mai 2017, 18:24:21

Vorheriges Thema - Nächstes Thema

sash.sc

Hallo zusammen.

Ich habe ein Echo zuhause stehen und habe dank der harten. Bridge geschafft, meine Geräte (Rollos und Lampen) damit zu steuern.

Ich benutze auch AMAD für die Sprachausgabe von Temperaturen und div. Statis von Geräten auf meinen Android Boliden.

Das was ich auf die Handys bzw. Tabs aussprechen lasse, würde ich auch gerne Alexa mit einbinden.

Geht das und wenn wie?

Hatte versucht Alexa mit dem developer Zugang in fhem einzubinden, hatte aber nicht hin gehauen.

Mit der ha. Bridge war es wesentlich einfacher.

Gruß und danke
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

amenomade

Prinzipiell kann Alexa nicht als reine TTS Gerät benutzt werden. In anderen Worten kann nur Alexa auf Fragen an Alexa reagieren. Es gibt keine Möglichkeit die anders zu steuern.

Es ist aber möglich Alexa auf bestimmte Fragen antworten zu lassen. Z.B. lasse ich Alexa mit einem Custom-Skill auf "Alexa, frage <Stichwort des Customskills> nach Pollenflug" antworten. Und das habe ich mit einem Perl intent gelöst: sub
alexa_pollenflug()
{
my $result = "";
    my %wert = ( 'low' => 'niedrig', 'moderate' => 'mässig', 'high' => 'hoch', 'extreme' => 'extrem');
$result .= "Ambrosia: ".$wert{ReadingsVal("Pollenflugvorhersage","fc1_Ambrosia","")}.". "
if ( ReadingsVal("Pollenflugvorhersage","fc1_Ambrosia","") ne "-") ;
$result .= "Ampfer: ".$wert{ReadingsVal("Pollenflugvorhersage","fc1_Ampfer","")}.". "
if ( ReadingsVal("Pollenflugvorhersage","fc1_Ampfer","") ne "-") ;
...
return $result;
}


Im alexa Device, fhemIntents:
{alexa_pollenflug()}=pollenflug
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

MadMax-FHEM

Hallo Sascha,

wie amenomade geschrieben geht es...
...aber nur:

mit alexa-fhem und einem Custom Skill.

Mit der ha-bridge (wie du sie verwendest) geht es NICHT!

Da geht nur steuern und auch nur "simple" Geräte: Schalter, Licht, Thermostate, ...

...ähnlich dem Smart Home Skill von alexa-fhem.

Also entweder trotzdem, dass der erste Versuch (so hab ich das verstanden) nicht geklappt hat alexa-fhem installieren und einen Custom Skill einrichten...
...oder es geht nicht (bzw. evtl. über andere Home Automation Skills z.B. Hue falls der das kann und du Hue hast... Dann aber direkt mit dem/den jeweiligen Endgeräten oder deren Gateways/Bridges und nicht über fhem).

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)

sash.sc

Danke für die Infos.

Ich hab es mir schon fast gedacht.......

Schade, aber egal.

Gruß Sascha

Gesendet von dem teuren ding in meiner hand

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Klaus0815

Verstehe ich das eigentlich richtig, das wir theoretisch einen Alexa-FHEM-Skill bräuchten?
SO machen es meiner Ansicht nach die diversen App-Hersteller, man könnte dann z.B. sagen  Alexa-FHEM-was auch immer", und wäre nicht auf an/ aus Temperatur und dimmen beschränkt?


sash.sc

So die Theorie......

Gesendet von meinem SM-T560 mit Tapatalk

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

MadMax-FHEM

#6
Zitat von: Klaus0815 am 28 Mai 2017, 19:48:16
Verstehe ich das eigentlich richtig, das wir theoretisch einen Alexa-FHEM-Skill bräuchten?
SO machen es meiner Ansicht nach die diversen App-Hersteller, man könnte dann z.B. sagen  Alexa-FHEM-was auch immer", und wäre nicht auf an/ aus Temperatur und dimmen beschränkt?

Sagen wir mal so:

es gibt die ha-bridge. Das ist "einfach" ein java-Programm (gut vielleicht nicht ganz korrekt) was eine Hue-Bridge simuliert/emuliert (was auch immer). Damit lassen sich Geräte schalten, die entweder echte Hue sind oder per HTTP-Request schaltbar sind (also quasi "alles" in fhem).
Aber es gibt dort keine Statusabfragen (soweit mir bekannt) und es lassen sich halt auch nur "einfache" Dinge/Geräte schalten weil das Schalten per HTTP-Request ein wenig "eingeschränkt" ist... ;)

Dann gibt es das "Modul" alexa-fhem. Dazu auch einen Skill (gut eigentlich 2 Typen). Allerdings (wegen Aufwand, Resourcen etc.) kein "offizieller" Skill, der "einfach" per App zu installieren/aktivieren ist. Sondern einer der manuell (wie einige andere auch: google Skill, ...) anzulegen ist. Er ist dann im "eigenen" Developer-Account vorhanden und verlässt auch nie den "Developper-Status". Ist also sozusagen "privat".

Etwas aufwändiger zu installieren als die ha-Bridge...
...aber v.a. mit dem Erstellen eines Custom Skills deutlich mächtiger!

Also bei alexa-fhem gibt es dann 2 Varianten/Möglichkeiten:

Smart Home Skill, der ist dann ähnlich wie ha-Bridge.
Aber es lassen sich auch hier nur "einfache" Geräte schalten...

Custom Skill: damit ist praktisch alles möglich (was Alexa zulässt/ermöglicht). Also bis hin zu direktem Aufruf von eigenen Scripten (Subs in myUtils) und da kann man ja tun "was man will" und dann eben eine gewünschte Antwort per "return" zurückgeben...

Was nicht geht ist eigentlich "nur", dass man halt Alexa nicht einfach "triggern" kann um sie was sprechen zu lassen...

alexa-fhem:

https://wiki.fhem.de/wiki/Alexa-Fhem

ha-bridge:

https://forum.fhem.de/index.php?topic=66920.0

Wie gesagt aktuell kein offizieller Skill wegen Aufwand etc.
Weil den ja irgendwer als offiziellen machen und hosten müsste...

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)

amenomade

Danke MadMax für die Ergänzung. Dass sash mit ha-bridge es machen wollte, hatte ich überlesen.

Nur eine Erklärung noch dazu: ha-bridge simuliert eine Hue-Bridge, ja. Das Smart Home Skill erkennt standardmässig die Hue-Bridges, deswegen funktioniert es sofort. Da ist man aber auf die Kommandos beschränkt, die Alexa für eine Hue-Bridge versteht (on, off, dim, Farben). Und Alexa antowrtet mit dem vordefinierten "OK" vom Smart Home Skill.
Natürlich kann man das "interpretieren", indem man definiert, dass z.B. "Alexa huebridge an" eher "set Sonos an, und spiel Antenne Bayern bitte, und dazu setz die Rollos im Wohnzimmer auf 40%" bedeutet, und dass "Alexa setzte meinLicht auf gelb" eher "set Garagentor zu und die Alarmanlage auf scharf" bedeutet. Da braucht man aber ein schönes Wörterbuch ;)

Mit dem CustomSkill und alexa-fhem kann man ein Steuerwort definieren, z.B. "Jasper", um das Skill zu starten, und damit Alexa theoretisch fragen:
"Alexa, sag Jasper die Jalousie im Wohnzimmer runterzufahren" => antwort "Jalousie runtergefahren"
"Alexa, frag Jasper nach Status der Jalousie im Wohnzimmer => Antwort "Die Jalousie im Wohnzimmer ist auf 50%"
"Alexa, sag Jasper ich bin weg" => Antwort "Alle Lichter sind aus, die Jalousien sind hoch, die Alarmanlage ist aus, die Heizungautomatik ist aus, have a nice day".
"Alexa, starte Jasper" => Antwort "Was kann ich für Sie tun?"
    "Parke mein Tesla in die Garage" => Antwort "Hmm da ist ein Problem aufgetreten... Das Garagentor war zu. Jetzt ist es sozusagen auf"
    "Alle Jalousien hoch" => Antwort "Alle Jalousien sind hoch, nur die im Wohnzimmer ist unerreichbar"

Naja... das ist die Theorie. Da muss man aber für das Custom-Skill ein bisschen Zeit investieren ;)


Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Klaus0815

Ich frage mich zugegeben eh, wie das weiter geht wenn es immer mehr Apps gibt?
Irgendwann braucht doch jede App ihr "Zauberwort", dahinter kann man dann machen was man will?

Ich habe z.B. mit HA-Bridge das Problem "Alexa, schalte Radio an" geht nicht, weil es schon ein internes Radio gibt...

Ich vermute mal, Amazon hat auch kein Interesse daran, das jemals zu ändern...
Technisch wäre es wohl möglich, dass man z.B. statt Alexa Petra sagt und dann nur noch Dinge für die App xyz ausgeführt werden

Momentan ist das sicher eine nette Spielerei, aber irgendwann wird wohl die Spracherkennung daheim auf dem eigenen Server ablaufen?



sbiermann

Zitat von: Klaus0815 am 28 Mai 2017, 22:18:56
Momentan ist das sicher eine nette Spielerei, aber irgendwann wird wohl die Spracherkennung daheim auf dem eigenen Server ablaufen?
Hinter der Spracherkennung steht Maschinen Lernalgorithmen. Sprich die Spracherkennung lernt selber besser zu werden. Um dies zu können ist sehr viel Rechenpower notwendig und die hat kein "normaler" Mensch daheim. Zum anderen braucht es sehr viel Sprache damit es richtig funktioniert. Es ist nicht umsonst so das nur die ganz großen Firmen mit solchen mehr oder weniger guten Produkten am Markt sind.
Wenn die Quantencomputer soweit sind, dann ändert sich das. Aber ich fürchte das dauert noch 2 oder 3 Generationen mindestens.