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

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

Vorheriges Thema - Nächstes Thema

Adriano

#990
Hi justme,

bei mir läuft der custom skill sehr gut. Leider muss ich aktuell immer erst sagen "Alexa, starte PI" und dann kann ich "stelle heizung im kinderzimmer auf vierundzwanzig grad" sagen.

ein "Alexa, stelle heizung im kinderzimmer auf ..." funktioniert nicht. Ist auch klar, weil noch keine Geräte unter "Smart Home" auf alexa.amazon.de gelistet sind.

Ein "Geräte suchen" führt auch zu keinen Ergebnissen. Ich sehe auch das kein Request rein kommt (alexa-log)

Teste ich dagegen die AWS lambda funktion mit Hello World kommt folgender Logeintrag:

[12/19/2016, 1:27:16 PM] event not supported
[12/19/2016, 1:27:16 PM] ERROR: UnsupportedOperationError from ::ffff:52.212.180.49
response :{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"2250722b-9cc3-4fa1-a57e-f8c28464c2a7"},"payload":{}}


Wo könnte der Fehler stecken?

Eventuell muss ich noch den "Smart Home Skill" unter https://developer.amazon.com/edw/home.html#/skills/list anlegen? Habe da ja aktuell nur den custom skill angelegt.

Adriano

Wow. es hat geklappt. Habe zu viel durcheinander gebracht. Jetzt gehts. "Smart Home Skill" war gelöscht von mir. Habe das in der Anleitung wohl durcheinander gebracht und dachte "Smart Home Skill" wäre unnötig. Falsch gedacht :)

Byte09

hilfe,hilfe .... wenn ich es ja mal verstehen würde ... glaube homebridgemapping und ich finden nicht zueinander.

neue aktion mit der ich nicht klarkomme .... immer , wenn ich dachte ich wäre mal hinter das system gestiegen .... wieder fehlanzeige .

habe einen dummy, der 5 verschiedene zustände annehmen kann.

define lueftung dummy
attr lueftung alias Lüftung
attr lueftung devStateIcon manuell:vent_ventilation_level_manual_m Stufe1:vent_ventilation_level_1 Stufe2:vent_ventilation_level_2 Stufe3:vent_ventilation_level_3 automatik:vent_ventilation_level_automatic Aus:vent_ventilation
attr lueftung genericDeviceType switch
attr lueftung group Küche
attr lueftung homebridgeMapping STUFE=state,cmd=state
attr lueftung room 0.02_Lüftung,alexa
attr lueftung setList state:manuell,automatik,Aus,Stufe1,Stufe2,Stufe3
attr lueftung webCmd state


wird geschaltet
set lüftung state automatik

einbindung in den customskill ist wie gehabt in die hose gegangen.

homebridgemappimg
STUFE=state,cmd=state

alexamapping
STUFE=verb=stelle,values=manuell;automatik;Aus;Stufe1;Stufe2;Stufe3

die fragerei ist mir ja unangenehm, ist aber der letzte dummy den ich einbinden muss.
ich verstehe einfach das dahinterstehende system nicht  :(  .... nachwievor !

gefrusteder Gruss
Byte09

Adriano

Kann ich kurz reingrätschen und fragen wozu man homebridgemapping braucht? Habe bis jetzt fast den ganzen Thread durch und auch die Wiki. Finde aber nicht die Erlösung.

Joker

@Adriano:
Ich weiß nicht ob du das richtig verstanden hast. Also wenn du "Alexa, schalte xy..." sagst, geht das IMMER an den Smart Home Skill. Wenn du den Custom Skill etwas bearbeiten lassen willst, musst du immer sagen "Alexa, sage <name custom skill> schalte xy..." oder "Alexa, starte <name custom skill>. schalte xy...". Das geht nicht anders und ist auch so beschrieben!

Adriano

#995
Bei meinen Fensterkontakten kommt immer beim kommando"alexa, sage kommando status fenster im arbeitszimmer" -> "fenster der Batteriestand ist niedrig" + die sprachausgabe der heizungswerte. Was mach ich falsch?

alexa-fhem loggt folgendes für das device:

[12/19/2016, 2:15:37 PM]
[FHEM] AbZ_Fenster is ContactSensor
[12/19/2016, 2:15:37 PM] [FHEM] AbZ_Fenster has
[12/19/2016, 2:15:37 PM] [FHEM]   StatusLowBattery [battery]
[12/19/2016, 2:15:37 PM] [FHEM]   FirmwareRevision [D-firmware]
[12/19/2016, 2:15:37 PM] [FHEM]   ContactSensorState [contact]
[12/19/2016, 2:15:37 PM] [FHEM]   CurrentDoorState [contact]
  2016-12-19 14:15:37 caching: AbZ_Fenster-battery: ok
  2016-12-19 14:15:37 caching: AbZ_Fenster-D-firmware: 2.1
  2016-12-19 14:15:37 caching: AbZ_Fenster-contact: closed (to Heizung_AZ_Cfg)

Adriano

Zitat von: Joker am 19 Dezember 2016, 14:21:48
@Adriano:
Ich weiß nicht ob du das richtig verstanden hast. Also wenn du "Alexa, schalte xy..." sagst, geht das IMMER an den Smart Home Skill. Wenn du den Custom Skill etwas bearbeiten lassen willst, musst du immer sagen "Alexa, sage <name custom skill> schalte xy..." oder "Alexa, starte <name custom skill>. schalte xy...". Das geht nicht anders und ist auch so beschrieben!

Korrekt. Habe es vor circa 15 Minuten erst verstanden ;) Danke nochmal!

justme1968

@heaC: endlich weiss ich wann es passiert... wird in der nächsten version repariert.

@Byte09: wenn etwas nicht geht hilft oft ein blick ins log / auf die konsole und in die alexa app. ausserdem hast du dich nicht an die beispiele gehalten :)

es gibt kein kommando state. wie bei den anderen beispielen mit dummys musst du + (als leerzeichen) verwenden:
-> STUFE=state,cmd=+

du musst für die values angeben welches wort alexa verstehen soll und welcher wert dann im dummy gesetzt werden soll. auch wenn es identisch ist musst du beides angeben.
-> STUFE=verb=stelle,values=manuell:manuell;automatik:automatik;Aus:Aus;Stufe1:Stufe1;Stufe2:Stufe2;Stufe3:Stufe3

ich vermute aber das alexa Stufe1 als zwei worte erkennt. d.h Stufe 1. das ist aktuell noch nicht berücksichtigt. da musst du mal in der alexa app schauen. ausserdem erkennt alexa zahlen als worte, nicht als ziffern. d.h. das hier ist vermutlich besser:

-> STUFE=verb=stelle,values=manuell:manuell;automatik:automatik;Aus:Aus;eins:Stufe1;zwei:Stufe2;drei:Stufe3

@Adriano: das brauchst du erst wenn du geräte schalten willst die alexa-fhem nicht von sich aus kennt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Byte09

Dank dir @justme,

Das mit den doppelten values (manuell:manuell) ist nun klar und kann ich nachvollziehen.   Aber die geschichte mit dem cmd=+ weiss ich nun für diesen fall .... aber genau das ist die doku die mir fehkt bzw. die ich nicht finden kann ... in welchen fall oder sonderfall ich nun anders vorgehen muss als zb. Der rgb geschichte von gestern .

Gestern war der fhembefehl
Set xxx rgb xxx ..... das commando daher für mich rgb

Heute ist der befehl den ich in fhem ausführe
Set xxx state automatik
...... analog ging ich davon aus das das commando in diesem fall state sein muss .... ist es aber nicht


..... viele ?

Gruss byte 09





justme1968

ja. wenn du denn dummy so konfiguriert hast das du tatsächlich set <name> state xy verwendest muss es cmd=state heissen.

die meisten machen das aber nicht und verwenden nur set <name> xy dann muss es + heissen.

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

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

justme1968

@ Fowler,heaC: ich habe den FHEM_xyY2rgb fehler gefunden. ist in der nächsten version behoben.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

ich habe hier: https://forum.fhem.de/index.php/topic,60244.msg540117.html#msg540117 eine version 0.1.8 hoch geladen.

damit ist der FHEM_xyY2rgb absturz behoben, und man kann im alexMapping attribut auch : statt = nach dem characteristic namen verwenden.

beim ändern der attribute im alexa device werden diese von alexa-fhem automatisch neu eingelesen. d.h. ein neustart ist nicht mehr nötig.

neu ist ein fhemIntents attribut mit dem man kommandos die direkt an fhem (d.h. nicht an ein bestimmtes device) gehen sollen konfigurieren kann. mit #IntentName=<sample utterance>
gutenMorgen:guten morgen
guteNacht:gute nacht
kann man z.b. sagen: alexa, sage fhem guten morgen und alexa, sage fhem gute nacht. das ganze erzeigt dann ein reading fhemIntent im alexa device mit zugehörigem event. zusätzlich ist das 39_alexa.pm update von morgen früh nötig.

in einer der nächsten versionen wird es auch möglich sein eine einen parameter mit zu geben und auch eine ausgabe an alexa zurück zu geben.

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

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

dk3572

Hallo,

ich habe in DENON_AVR folgendes eingetragen und kann den Receiver ein- u. ausschalten sowie die Lautstärke einstellen.

defmod AVReceiver DENON_AVR 192.168.178.34:23
attr AVReceiver alexaName Stereoanlage
attr AVReceiver alexaRoom Wohnzimmer
attr AVReceiver cmdIcon muteT:rc_MUTE
attr AVReceiver devStateIcon on:rc_GREEN:off mainOff:rc_YELLOW:main_on off:rc_STOP:on absent:rc_RED muted:rc_MUTE@green:muteT playing:rc_PLAY@green:pause paused:rc_PAUSE@green:play
attr AVReceiver genericDeviceType light
attr AVReceiver group Multimedia
attr AVReceiver homebridgeMapping Brightness=volume,minValue=0,maxValue=40,cmd=volume
attr AVReceiver icon it_server
attr AVReceiver room Erdgeschoss,Multimedia,Wohnzimmer,alexa
attr AVReceiver sortby 2
attr AVReceiver stateFormat stateAV
attr AVReceiver webCmd volume:muteT:input:surroundMode


Der Input wird mit set AVReceiver favoriteList 1, favoriteList 2, ...... eingestellt.
Per alexa möchte ich hierzu z.B. Favorite eins, Favorite zwei, .... sagen.

Wenn das machbar wäre, was muss hierfür in homebridgemappimg und alexamapping eingetragen werden?

Und ich stimme mit ein:
Eine Sammlung für Beispiele wäre bestimmt sehr hilfreich.

justme1968

so schwer ist es doch wirklich nicht:

im homebridgeMapping: Favorites:favoriteList,cmd=favoriteList

im alexaMapping: Favorites:verb=favorite,values=eins:1;zwei:2;drei:3

ob eine deutsche alexa das wort favorite versteht weiss ich nicht. das musst du probieren.

gruss
  andre

ps: wenn du nur den custom skil verwendest solltest du nicht light und für die laustärke besser Volume statt Brightness verwenden. sonst ändert sich die lautstärke wenn du im gleichen raum die helligkeit einstellst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

dk3572

doch, so schwer ist es  ;D
Und wenn ich mich hier im Thread so umsehe, bin ich nicht der Einzige dem es so ergeht ;)
Trotzdem Respekt und vielen Dank für die Arbeit!!!!

Zitatps: wenn du nur den custom skil verwendest solltest du nicht light und für die laustärke besser Volume statt Brightness verwenden.

Was anstelle von light?
Und was muss ich dann wo noch alles ändern?

Du siehst, es ist schwer  :-[