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

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

Vorheriges Thema - Nächstes Thema

Laire

@baerbel @justme1968

Danke so hat es geklappt

oberlon

#1606
off topic...

Hey zusammen,

ich habe heute meine Einladung bekommen, bin aber durch Kollegen schon Besitzer von zwei Echo Dots.
Sollte jemand Interesse haben an einem Echo oder Dot dann bitte melden.
Das Geld würde ich gerne vorab haben (am besten Paypal). Als Lieferadresse würde ich deine eintragen.
Wenn jemand Interesse hat dann bitte PM an mich.

edit: Der Dot ist weg.

Laire

So jetzt kommt die nächste Baustelle, meine Heizung.

Ich habe das Wandthermostat über die CCU2 in FHEM eingebunden:

defmod CCU_WZ_THERMO HMCCUDEV WZ_THERMO
attr CCU_WZ_THERMO IODev CCU
attr CCU_WZ_THERMO alexaName Heizung
attr CCU_WZ_THERMO alexaRoom Wohnzimmer
attr CCU_WZ_THERMO alias Wohnzimmer Heizung
attr CCU_WZ_THERMO ccureadingfilter (^UNREACH|^HUMIDITY|^TEMPERATURE|^SET_TEMPERATURE|^LOWBAT$|^WINDOW_OPEN)
attr CCU_WZ_THERMO ccureadingformat datapoint
attr CCU_WZ_THERMO cmdIcon Auto:sani_heating_automatic Manu:sani_heating_manual Boost:sani_heating_boost on:general_an off:general_aus
attr CCU_WZ_THERMO controldatapoint 2.SET_TEMPERATURE
attr CCU_WZ_THERMO devStateIcon OK:10px-kreis-gruen Error:10px-kreis-rot Initialized:10px-kreis-gelb
attr CCU_WZ_THERMO event-on-change-reading .*
attr CCU_WZ_THERMO eventMap /datapoint 2.MANU_MODE 20.0:Manu/datapoint 2.AUTO_MODE 1:Auto/datapoint 2.BOOST_MODE 1:Boost/datapoint 2.MANU_MODE 4.5:off/datapoint 2.MANU_MODE 30.5:on/
attr CCU_WZ_THERMO genericDeviceType thermostat
attr CCU_WZ_THERMO group Wohnzimmer Heizung
attr CCU_WZ_THERMO icon hm-tc-it-wm-w-eu
attr CCU_WZ_THERMO room Wohnzimmer,alexa,ccu
attr CCU_WZ_THERMO stateFormat T: 1.TEMPERATURE° H: 1.HUMIDITY% T: 2.SET_TEMPERATURE° D: DEWPOINT°
attr CCU_WZ_THERMO statechannel 2
attr CCU_WZ_THERMO statedatapoint 2.SET_TEMPERATURE
attr CCU_WZ_THERMO stripnumber 1
attr CCU_WZ_THERMO substexcl control
attr CCU_WZ_THERMO substitute LOWBAT,UNREACH!(0|false):no,(1|true):yes
attr CCU_WZ_THERMO userReadings DEWPOINT {HMCCU_Dewpoint($name,"1.TEMPERATURE", "1.HUMIDITY","n/a")}
attr CCU_WZ_THERMO webCmd control:Auto:Manu:Boost:on:off
attr CCU_WZ_THERMO widgetOverride control:slider,4.5,0.5,30.5,1


So ich habe die Heizung in der Alexa App in keiner Gruppe (ist die erste Heizung, die ich einrichte). Jetzt sage ich zu Alexa:

ZitatAlexa stelle die Heizung auf 25 Grad

und Alexa antwortet

ZitatIch konnte kein Gerät mit dem Namen Wohnzimmer Heizung in Markus Konto finden

WTF, warum Wohnzimmer Heizung, ich habe kein Wort von Wohnzimmer gesagt.

Zum Test Heizung der Gruppe Wohnzimmer zugeordnet und zu Alexa gesagt:

ZitatAlexa stelle die Heizung im Wohnzimmer auf 25 Grad

Antwort:

ZitatDieser Befehl funktioniert für das Gerät Wohnzimmer nicht


ahhhhh


Fixel2012

Zitat von: Laire am 26 Januar 2017, 23:29:00
So jetzt kommt die nächste Baustelle, meine Heizung.

Ich habe das Wandthermostat über die CCU2 in FHEM eingebunden:

defmod CCU_WZ_THERMO HMCCUDEV WZ_THERMO
attr CCU_WZ_THERMO IODev CCU
attr CCU_WZ_THERMO alexaName Heizung
attr CCU_WZ_THERMO alexaRoom Wohnzimmer
attr CCU_WZ_THERMO alias Wohnzimmer Heizung
attr CCU_WZ_THERMO ccureadingfilter (^UNREACH|^HUMIDITY|^TEMPERATURE|^SET_TEMPERATURE|^LOWBAT$|^WINDOW_OPEN)
attr CCU_WZ_THERMO ccureadingformat datapoint
attr CCU_WZ_THERMO cmdIcon Auto:sani_heating_automatic Manu:sani_heating_manual Boost:sani_heating_boost on:general_an off:general_aus
attr CCU_WZ_THERMO controldatapoint 2.SET_TEMPERATURE
attr CCU_WZ_THERMO devStateIcon OK:10px-kreis-gruen Error:10px-kreis-rot Initialized:10px-kreis-gelb
attr CCU_WZ_THERMO event-on-change-reading .*
attr CCU_WZ_THERMO eventMap /datapoint 2.MANU_MODE 20.0:Manu/datapoint 2.AUTO_MODE 1:Auto/datapoint 2.BOOST_MODE 1:Boost/datapoint 2.MANU_MODE 4.5:off/datapoint 2.MANU_MODE 30.5:on/
attr CCU_WZ_THERMO genericDeviceType thermostat
attr CCU_WZ_THERMO group Wohnzimmer Heizung
attr CCU_WZ_THERMO icon hm-tc-it-wm-w-eu
attr CCU_WZ_THERMO room Wohnzimmer,alexa,ccu
attr CCU_WZ_THERMO stateFormat T: 1.TEMPERATURE° H: 1.HUMIDITY% T: 2.SET_TEMPERATURE° D: DEWPOINT°
attr CCU_WZ_THERMO statechannel 2
attr CCU_WZ_THERMO statedatapoint 2.SET_TEMPERATURE
attr CCU_WZ_THERMO stripnumber 1
attr CCU_WZ_THERMO substexcl control
attr CCU_WZ_THERMO substitute LOWBAT,UNREACH!(0|false):no,(1|true):yes
attr CCU_WZ_THERMO userReadings DEWPOINT {HMCCU_Dewpoint($name,"1.TEMPERATURE", "1.HUMIDITY","n/a")}
attr CCU_WZ_THERMO webCmd control:Auto:Manu:Boost:on:off
attr CCU_WZ_THERMO widgetOverride control:slider,4.5,0.5,30.5,1


So ich habe die Heizung in der Alexa App in keiner Gruppe (ist die erste Heizung, die ich einrichte). Jetzt sage ich zu Alexa:

und Alexa antwortet

WTF, warum Wohnzimmer Heizung, ich habe kein Wort von Wohnzimmer gesagt.

Zum Test Heizung der Gruppe Wohnzimmer zugeordnet und zu Alexa gesagt:

Antwort:


ahhhhh

Geht mir oft geauso... Alexa ist da ziemlich eigen :o :-\

Man muss da leider einfach mal ein wenig rumprobieren..  ;D


Was mir auch aufgefallen ist, dass besonders die Zahlen Erkennung bei dem Custom Skill deutlich schlechter als bei dem Smart Home Skill ist.

Könnt ihr das so bestätigen?

Gruß Fixel
Fhem 5.8 auf Raspi 3, HMLAN und 868MHz CUL mit einigen Komponenten, Z-Wave Rollladenaktoren, Tablet UI, 433 MHz CUL mit Baumarktsteckdosen und Temp Sensoren, Amazon Echo, Echo Dot, 2x SONOS  play1, 1x SONOS Connect AMP,  presence, HUE, Lightify

hive2015

Zitat von: baerbel am 26 Januar 2017, 08:59:06
Was steht denn in fhemintent drinnen? Habe bei mir ein do. always eingebaut, da es sein kann, dass ich den selbigen Befehl zweimal hintereinander sage.

Bernd


Gesendet von iPhone mit Tapatalk

FFS ich hatte fhemintent anstatt fhemIntent geschrieben *facepalm*

Danke

Schiri1986

Zitat von: Laire am 26 Januar 2017, 23:29:00
So ich habe die Heizung in der Alexa App in keiner Gruppe (ist die erste Heizung, die ich einrichte). Jetzt sage ich zu Alexa:

und Alexa antwortet

WTF, warum Wohnzimmer Heizung, ich habe kein Wort von Wohnzimmer gesagt.

Zum Test Heizung der Gruppe Wohnzimmer zugeordnet und zu Alexa gesagt:

Antwort:


ahhhhh

Eventuell ist der aus zwei Teilen bestehende Alias-Name ein Problem. Der beginnt mit Wohnzimmer und Alexa begreift womöglich nur das als Namen für dein Device. Der alexaName ist für das CustomSkill relevant, du arbeitest aber mit dem SmartHome Skill, wenn ich das alles richtig sehe.

Laire

Zitat von: Schiri1986 am 27 Januar 2017, 08:59:05
Eventuell ist der aus zwei Teilen bestehende Alias-Name ein Problem. Der beginnt mit Wohnzimmer und Alexa begreift womöglich nur das als Namen für dein Device. Der alexaName ist für das CustomSkill relevant, du arbeitest aber mit dem SmartHome Skill, wenn ich das alles richtig sehe.
Nutze den Smart Home Skill. Und in der Übersicht der Alexa App wird der Alias Name nicht angezeigt sondern der alexaName. Ich werde heute Nachmittag mal versuchen ob die Umbenennung des normalen alias was bringt.

Gesendet von meinem SM-G925F mit Tapatalk


MadMax-FHEM

Zitat von: Schiri1986 am 27 Januar 2017, 08:59:05
Eventuell ist der aus zwei Teilen bestehende Alias-Name ein Problem. Der beginnt mit Wohnzimmer und Alexa begreift womöglich nur das als Namen für dein Device. Der alexaName ist für das CustomSkill relevant, du arbeitest aber mit dem SmartHome Skill, wenn ich das alles richtig sehe.

und @Laire

Wie schon öfter genannt:

alexaName "schlägt" alias "schlägt" Name und gilt sowohl für den Smart Home Skill wie auch den Custom Skill

alexaRoom ist NUR für den Custom Skill!
Äquivalent wenn man so will für den Smart Home Skill sind die Gruppen in der ALEXA-APP...

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)

Laire

Zitat von: MadMax-FHEM am 27 Januar 2017, 09:36:32
und @Laire

Wie schon öfter genannt:

alexaName "schlägt" alias "schlägt" Name und gilt sowohl für den Smart Home Skill wie auch den Custom Skill

alexaRoom ist NUR für den Custom Skill!
Äquivalent wenn man so will für den Smart Home Skill sind die Gruppen in der ALEXA-APP...

Gruß, Joachim
Ja das weiß ich. Und ich habe nur auf den Beitrag vor dir reagiert, in dem es hieß, dass es eventuell am Alias liegen könnte. Trotzdem erklärt bisher nichts die Reaktion von Alexander wie in meinem Beitrag auf der vorherigen Seite erklärt.

Gesendet von meinem SM-G925F mit Tapatalk


MadMax-FHEM

Schon mal in der App geschaut was Alexa erkennt?

Ich denke es werden (wie bereits angemerkt) 2 Worte erkannt: Wohnzimmer Licht und Wohnzimmer Thermostat...
...evtl. hört Alexa nach Wohnzimmer auf zuzuhören und frägt dann welches Gerät du gemeint hast.

Hatte ich auch, als ich noch mit dem Smart Home Skill rumgespielt habe. Habe dann mal geschaut was Alexa erkennt und dann (wie auch schon angemerkt) das Gerät so benannt (alexaName) wie es Alexa erkannt hat/erkennt (auch wenn es manchmal sehr komisch "geheißen" hat ;)

Viel Erfolg, 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)

Laire

Ich gucke nachher nochmal. Aber ich habe das gleiche Resultat, wenn ich Wohnzimmer weg lasse. Wie gesagt beim Test habe ich die Heizung keiner Gruppe zugewiesen und einfach nur gesagt,  stelle die Heizung auf ... Grad.

Gesendet von meinem SM-G925F mit Tapatalk

Laire

#1616
Ich habe Alexa jetzt das Wohnzimmer ausgetrieben, in dem ich alle Geräte und Gruppen verworfen habe.

Das steht in der Log Datei auf meinem PI, da steht was, davon, dass mein Thermostat kein Thermostat ist:

[1/27/2017, 3:31:51 PM] using /home/pi/.alexa/config.json
[1/27/2017, 3:31:52 PM] ---
[1/27/2017, 3:31:52 PM] this alexa-fhem 0.1.9
[1/27/2017, 3:31:52 PM] Fetching FHEM devices...
[1/27/2017, 3:31:52 PM] [FHEM] Checking devices and attributes...
[1/27/2017, 3:31:52 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[1/27/2017, 3:31:52 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[1/27/2017, 3:31:52 PM] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem.pl?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1485527512487
[1/27/2017, 3:31:52 PM] [FHEM] Fetching FHEM devices...
[1/27/2017, 3:31:52 PM] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=alexa&XHR=1
[1/27/2017, 3:31:52 PM] Server listening on: https://:::3000
[1/27/2017, 3:31:52 PM] [FHEM] got: 3 results
[1/27/2017, 3:31:52 PM] [FHEM] CCU_WZ_LICHT_SOFA is switch
[1/27/2017, 3:31:52 PM] [FHEM] CCU_WZ_LICHT_SOFA has
[1/27/2017, 3:31:52 PM] [FHEM]   On [state;on,off]
  2017-01-27 15:31:52 caching: CCU_WZ_LICHT_SOFA-state: off
[1/27/2017, 3:31:52 PM] [FHEM] CCU_WZ_THERMO is thermostat
[1/27/2017, 3:31:52 PM] [FHEM] CCU_WZ_THERMO is NOT a thermostat. set command for target temperature missing:
[1/27/2017, 3:31:52 PM] [FHEM] CCU_WZ_THERMO has
[1/27/2017, 3:31:52 PM] [FHEM]   On [state;on,off]
[1/27/2017, 3:31:52 PM] [FHEM]   CurrentHeatingCoolingState [undefined]
  2017-01-27 15:31:52 caching: CCU_WZ_THERMO-state: 17.0
[1/27/2017, 3:31:52 PM] [FHEM] Fernsehen is switch
[1/27/2017, 3:31:52 PM] [FHEM] Fernsehen has
[1/27/2017, 3:31:52 PM] [FHEM]   On [state;on,off]
  2017-01-27 15:31:52 caching: Fernsehen-state: off
[1/27/2017, 3:31:52 PM] [FHEM] alexa device is alexa
[1/27/2017, 3:31:52 PM] [FHEM] alexa is switch
[1/27/2017, 3:31:52 PM] [FHEM] alexa has
[1/27/2017, 3:31:52 PM] [FHEM] homebridgeMapping: #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

Hue=verb=stelle,valuePrefix=auf,values=rot:0;grün:128;blau:200
Hue=verb=färbe,values=rot:0;grün:120;blau:220

Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER
Saturation=verb=sättige,values=AMAZON.NUMBER

TargetPosition=verb=mach,articles=den,values=auf:100;zu:0
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad

Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent

#Weckzeit=verb=stelle,valuePrefix=auf;für,values=AMAZON.TIME,valueSuffix=uhr
[1/27/2017, 3:31:52 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7Balexa%7D-%3E%7B%22active%22%7D%20=%201%7D&XHR=1
[1/27/2017, 3:31:52 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7Balexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.1.9%22%7D&XHR=1
[1/27/2017, 3:31:52 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7B$defs%7Balexa%7D-%3E%7B%22active%22%7D%20=%200%7D&XHR=1
[1/27/2017, 3:31:52 PM] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[1/27/2017, 3:31:52 PM] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[1/27/2017, 3:31:52 PM] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[1/27/2017, 3:31:52 PM] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[1/27/2017, 3:31:52 PM] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[1/27/2017, 3:31:52 PM] { light: [ 'licht', 'lampen' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }
[1/27/2017, 3:31:52 PM] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }
[1/27/2017, 3:33:43 PM] accepted new token
**** Received Directive: {"header":{"namespace":"Alexa.ConnectedHome.Control","name":"TurnOnRequest","payloadVersion":"2","messageId":"b4dc078c-0b9e-47bc-a50a-c2c0919f912a"},"payload":{"accessToken":"Atza|IwEBIPE9Au6uPRUoacjEM5TBqVTTGnV$
[1/27/2017, 3:33:43 PM] [FHEM] Fernsehen: executing set cmd for On with value 1
[1/27/2017, 3:33:43 PM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=set%20Fernsehen%20on&XHR=1
response :{"header":{"name":"TurnOnConfirmation","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"b249d9e3-21bd-44ac-958d-2f502e9d0015"},"payload":{}}


Und bei

ZitatAlexa, stelle Heizung auf 20 Grad

kommt als Antwort:

ZitatDieser Befehl funktioniert für das Gerät Heizung nicht

EDIT

Mit dem homebridgeMapping attr habe ich es jetzt hin bekomme:

TargetTemperature=control::control,minValue=4.5,maxValue=30.5,minStep=0.5

OffTopic

Sieht die App Ansicht auf dem PC im Browser bei Euch auch so kruselig aus und kaum lesbar?


hdiessner

Hallo,

gestern die Echo Einladung bekommen, abends bestellt und heute in Betrieb genommen.
Ein riesiges Dankeschön für Eure Arbeit und super Dokumentation - ich konnte innerhalb von 24 Stunden seit der Bestellung die Einbindung in FHEM realisieren.
Super Arbeit, vielen Dank an alle, die bei der Entwicklung & Dokumentation beteiligt waren!

Gruß
Herwig

baerbel

@Laire: ich vermute, dass dir das passende homebridgemapping fehlt.

Grüsse - Bernd


Gesendet von iPhone mit Tapatalk

Laire

Auf den Begriff bin ich auch gestoßen hier im Trend aber leider keine Lösung gefunden.

Gesendet von meinem SM-G925F mit Tapatalk