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

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

Vorheriges Thema - Nächstes Thema

Thyrador

Ich hab jetzt mal noch ein bisschen rumgespielt und weiter getestet. Leider noch immer nicht mit gewünschtem Ergebnis:

Befehl: alexa sage fhem stelle heimkino lautstärke auf zwanzig

alexaMapping: Volume=verb=stelle,property=lautstärke,valuePrefix=auf,values=AMAZON.NUMBER
Lautstärke=verb=stelle,property=lautstärke,valuePrefix=auf,values=AMAZON.NUMBER


homebridgeMapping: Volume=volume,cmd=volume
Lautstärke=volume,cmd=volume


Als Rückgabe bekomme ich nur: "Ich kann heimkino nicht auf 20 schalten."

Ich blicke noch immer nicht so recht, was genau ich falsch mache. Hat jemand ne Idee?

Reinhart

#2821
Zitat von: jneroes am 15 Juli 2017, 01:52:38
Ich hab gesehen, dass man in der alexa App im Bereich Smart Home auch Szenen anlegen könnte. Klappt das bei euch oder was muss man tun um das zu verwenden.

das funktioniert nur mit veröffentlichten Smarthome Skills, z.B: "Homematic IP" und unser Skill ist ja nicht "veröffentlicht".

Ich mach das einfach mit einem DOIF:
define LichtTimer.DOIFoff DOIF ([LichtTimer] eq "Aus") (set WZ_Ecklicht Ein)(set WohnzimmerLicht Aus)(set KuecheLicht Ein)(set Sonoff_Sw Ein)(set Schrank Ein)(set WohnzimmerSchrank Aus)(set WZ_Ecklicht Aus)(set Sonoff_Sw Aus)(set Schrank Aus)(set KuecheLicht Aus)
attr LichtTimer.DOIFoff do always
attr LichtTimer.DOIFoff room alexaroom
attr LichtTimer.DOIFoff wait 0,0,0,2,3,0,30,60,150,90

wenn ich sage "Alexa schalte die Beleuchtung aus" dann werden alle Lampen abgeschaltet, damit ich am Weg ins Schlafzimmer noch was sehe aber bestimmte noch kurzzeitig eingeschaltet. Die Zeiten im "wait" sind jeweils Sekunden. Also das Schranklicht wird nach 3 Sekunden ein und nach 150 Sekunden ausgeschaltet.

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

justme1968

@Thyrador: versuch es bitte mal one property und das wort lautstärke. zumindest die meldung 'Du kannst die Lautstärke leider nur zwischen 0 und 10 einstellen.' kommt nicht aus dem custom skill. entweder funkt dir der smart home skill dazischen -> dann stimmt noch etwas mit der configuration nicht, oder amazon fängt etwas ab -> eventuell hat ein lautstarke kommando vorrang und steuert den echo direkt.

@jneroes: die szenen kommen aus dem skill. amazon hat inzwischen sogar die möglichkeit eingebaut das eine unterscheidung gibt zwischen szenen bei denen die reihenfolge der geräte wichtig ist und solchen bei denen das nicht der fall ist. leider ist die deutsche doku noch nicht vorhanden bzw. so schlecht das mir nicht klar ist was der skill genau zurück liefern muss damit ein gerät als szene erkannt wird. in der doku steht auch etwas von einer beschränkung auf 10 oder 15 szenen pro skill. ich schaue mir das zwar noch mal an sobald es etwas mehr doku gibt, aber eigentlich ist es mit fhem einfacher die szenen direkt mit LightScene oder structure oder was auch immer innerhalb von fhem abzubilden statt den umweg über die app zu gehen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Thyrador

Zitat von: justme1968 am 15 Juli 2017, 13:53:29
@Thyrador: versuch es bitte mal one property und das wort lautstärke. zumindest die meldung 'Du kannst die Lautstärke leider nur zwischen 0 und 10 einstellen.' kommt nicht aus dem custom skill. entweder funkt dir der smart home skill dazischen -> dann stimmt noch etwas mit der configuration nicht, oder amazon fängt etwas ab -> eventuell hat ein lautstarke kommando vorrang und steuert den echo direkt.

Hallo justme1968, leider bleibt hierbei das Ergebnis dasselbe, ohne nennenswerte Änderung.
Die genannte Meldung lag daran, dass ich einfach anfangs vergessen habe zu sagen "sage fhem". Seitdem kommt die Meldung zwar nicht mehr, allerdings klappt das umschalten auch nicht.
Klar, ich kann es auch über den Standard-Skill machen, aber ich will hier ja etwas lernen, damit ich die Quellensteuerung und andere Dinge später mal selbst zurechtgebastelt bekomme. Und da sollte auch das mit der Lautstärke funktionieren.

Der Custom-Skill verhält sich zumindest teilweise wirklich seltsam: will ich über diesen Skill die Farbe einer Hue-Lampe einstellen, geht das in der Regel auch für die Lampe. Außer für eine. Spreche ich die an, wird der ganze Raum so eingestellt. Aber das soll mal ein anderes Thema sein.

justme1968

wichtig ist es nicht unterschiedliche probleme zusammen zu mischen. also eins nach dem anderen und immer die konsolen ausgabe und kondolieren und auch in der app schauen was alexa tatsächlich verstanden hat. wenn alexa dich nicht versteht kann der skill auch nichts mehr machen.

im beitrag mit dem download gibt ein beispiel für volume.

warum umschalten? es ging doch um die lausträrke. zum umschalten gibt es auch diverse beiträge mit lösungen.

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

SaschaMzH

Hi zusammen,

hab bereits meinen Fehler gefunden warum Alexa keine Geräte finden konnte.
Bie der Erstellung des Skills hat sich etwas geändert. Bei Skill Information muss bei der Payload Version unbedingt v2 ausgewählt werden. Ich hatte hier v3 stehen und damit konnte das Alexa-fhem nichts anfangen.

Bitte diesen Punkt in der Doku aufnehmen und auch bei den TroubleShootings hinzufügen.

Vielen Dank.

Thyrador

Zitat von: justme1968 am 15 Juli 2017, 15:12:01
wichtig ist es nicht unterschiedliche probleme zusammen zu mischen. also eins nach dem anderen und immer die konsolen ausgabe und kondolieren und auch in der app schauen was alexa tatsächlich verstanden hat. wenn alexa dich nicht versteht kann der skill auch nichts mehr machen.

im beitrag mit dem download gibt ein beispiel für volume.

warum umschalten? es ging doch um die lausträrke. zum umschalten gibt es auch diverse beiträge mit lösungen.

So meine ich das auch. Das war mir nur nebenbei aufgefallen, nichts dramatisches ;)

Wenn's um den Skill selbst geht, versteht Alexa mich schon, im Verlauf steht genau das, was ich wissen will. Zusätzlich teste ich über den Service Simulator von Amazon. Da kann ich dann ja die Zeichenfolge genau so reinschreiben, wie Alexa sie verstehen soll.
An meiner Aussprache (ä Saggse) kann ich später noch arbeiten :D

Die Sache mit der Lautstärke hat sich urpsrünglich daraus entwickelt, dass ich das immer mit dem Wort Lautstärke angesprochen habe. Also "Alexa, ändere/stelle/schalte die Lautstärke am Heimkino auf 30 Prozent". Lasse ich das Wort Lautstärke weg, geht es auch im Standard-Skill. MIch stört das aber ein wenig, denn aus dem Ganzen wurde ein: "Alexa, stelle das Heimkino auf 30%". Das klingt einfach blöd.

Aus der Situation (also bevor es funktionierte) wollte ich eben über den Custom Skill eine Lösung haben, die mit dem Wort Lautstärke funktioniert. Auch wenn es über den Standard Skill geht.
Ich denke hier eigentlich auch weiter, da die Routine für das Schalten der Quellen ja prinzipiell derselbe sein muss (so hoffe ich). Also wenn ich einmal verstanden habe, wie mein Custom Skill mit der Lautstärke funktioniert, sollte ich ja in der Lage sein, das mit den Quellen und allem anderen (Kanal am Receiver einstellen, Szenen starten) irgendwie zu bewerkstelligen. So ist jedenfalls die Hoffnung.

Leider habe ich im Eröffnungspost kein Beispiel für volume gefunden, auch nicht in den Folgelinks. Kannst du mich da bitte einmal auf die richtige Spur bringen?

fhemfreund

Zitat von: justme1968 am 26 April 2017, 16:02:29
nach clear musst du das mapping für On wieder anlegen. also

On=state,valueOn=on,valueOff=off,cmdOn=on,cmdOff=off

nach  dem clear einfügen.

@Andre
... es ist noch ein kleines Problem bei meinem farbigen LED Streifen aufgetreten:

Ich kann die Grundfarben Schwarz, Weiß, Gelb, Blau, Rot und Grün einwandfrei schalten/färben. Sobald ich aber z.B. die Farbe Lila definiere, wird das Kommando korrekt von Alexa erkannt, verarbeitet und auch bestätigt, allerdings wird das Set-Command via alexa-fhem nicht richtig erstellt und somit nicht ausgeführt.


Beispiel für korrekte Ausführung für z.B. Farbe Blau (Log Eintrag aus alexa-fhem):

http://127.0.0.1:8083/fhem?cmd=set%20LEDStripePreset%20%20%20RGB%200000FF&XHR=1


Beispiel für fehlerhafte Ausführung für z.B. Farbe Lila (Log Eintrag aus alexa-fhem):

http://127.0.0.1:8083/fhem?cmd=set%20LEDStripePreset%20%20%20Lila&XHR=1


Kann es sein, dass das RGB Mapping nur für bestimmte Farben geht? (da Lila nicht als 'FF0099' durchgereicht wird, wie '0000FF' analog zu Blau, sondern als 'Lila')

Alexa Mapping:

Hue=verb=färbe,articles=das,values=weiß:RGB+FFFFFF;schwarz:RGB+000000;rot:RGB+FF0000;grün:RGB+00FF00;blau:RGB+0000FF;gelb:RGB+FFFF00;lila:RGB+FF0099


Homebridge Mapping:

clear On=state,valueOn=on,valueOff=off,cmdOn=on,cmdOff=off Hue=cmd=+


Andreas

cs-online

Hallo,

ich habe auf meinem Raspi2 Wheezy drauf, habe mit update und upgrade alles aktualisiert. Wenn ich nach dem Wiki vorgehe, scheitere ich schon bei nodejs:


pi@raspberrypi / $ sudo apt-get install -y nodejs
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.       
Statusinformationen werden eingelesen.... Fertig
Einige Pakete konnten nicht installiert werden. Das kann bedeuten, dass
Sie eine unmögliche Situation angefordert haben oder, wenn Sie die
Unstable-Distribution verwenden, dass einige erforderliche Pakete noch
nicht erstellt wurden oder Incoming noch nicht verlassen haben.
Die folgenden Informationen helfen Ihnen vielleicht, die Situation zu lösen:

Die folgenden Pakete haben unerfüllte Abhängigkeiten:
nodejs : Hängt ab von: libc6 (>= 2.16) aber 2.13-38+rpi2+deb7u12 soll installiert werden
          Hängt ab von: libstdc++6 (>= 5.2) aber 4.8.2-21~rpi3rpi1 soll installiert werden
E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.


Sorry, ich habe nicht alle 190 Seiten durchgelesen, also hatte evtl. schon mal jemand den Fehler, aber vielleicht kann mir jemand auf die Spur helfen ?

Danke im Voraus,

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

cs-online

...hab im Homebridge-Artikel was gefunden, und  statt 4. mit 6. probiert, da gabs keine Fehlermeldung mehr... mal schauen, obs weiter läuft
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

...nächstes Problem: Wenn ich nach WIKI im Punkt 4 vorgehe, nach Entpacken und Umbenennen npm-Abhängigkeiten installieren will kommt:

pi@raspberrypi /opt/fhem/alexa-fhem $ npm install
bash: npm: Kommando nicht gefunden.


was mache ich falsch ?
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

amenomade

Wenn Du
mv package alexa-fhem gemacht hast, sollte es funktionieren.
Schau mal ein "ls -la" aus dem /opt/fhem/alexa-fhem Verzeichnis.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

cs-online

Hallo amenomade,

das hatte ich so aus dem Wiki ins Terminal kopiert, wurde auch ausgeführt, dann mit

Zitat
cd alexa-fhem

in das Verzeichnis wechseln
4. Mit
npm install

alle Abhängigkeiten installieren (kein sudo!).

und dann kommt der Fehler...

ich habe die Version "alexa-fhem-0.3.4.tgz" aus dem Artikel von Justme genommen...

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

Markus.

Hallo Zusammen,

also ich habe nun nach dem Wiki den Smarthome Skill installaiert und aktiviert. Standard Sachen wie Schalter funktionieren auch prima. Nun habe ich ein MySensors Temperatur Device im alexa room. Der Sensor wid auch einwandfrei erkannt.

[7/17/2017, 12:23:17 PM] [FHEM] mys_temp_aq is thermometer
[7/17/2017, 12:23:17 PM] [FHEM] mys_temp_aq has
[7/17/2017, 12:23:17 PM] [FHEM]   CurrentTemperature [temperature]
[7/17/2017, 12:23:17 PM] [FHEM] { reading: 'temperature',
  minValue: -30,
  device: 'mys_temp_aq',
  informId: 'mys_temp_aq-temperature',
  characteristic_type: 'CurrentTemperature',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }


Als Alexaname habe ich "Aquarium" eingetragen. Frage ich Alexa nun nach der Temperatur dieses Devices beomme ich die Ansage, das das Device zur Zeit nicht reagiert. im Log steht dann folgendes...


"appliance":{"applianceId":"mys_temp_aq","additionalApplianceDetails":{"device":"mys_temp_aq"}}}}
**** Error: "Unsupported operationGetTemperatureReadingRequest"


Bin nich am Anfang alles zu verstehen, aber um das nachvolziehen zukönnen wäre es schon hilfreich das Problem zu erkennen. Wie gesagt den CustomSkill habe ich noch nicht erstellt.

Gruß

Markus

justme1968

@Markus.: dazu musst du die alexa-fhem test version von weiter oben (https://forum.fhem.de/index.php/topic,60244.msg654450.html#msg654450)verwenden. das api ist aber auf amazon seite noch nicht für deutschland freigeben und es funktioniert noch nicht gut.

am besten geht das aktuell noch über den custom skill. beispiel z.b. hier: https://forum.fhem.de/index.php/topic,67490.msg589870.html#msg589870.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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