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

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

Vorheriges Thema - Nächstes Thema

justme1968

@phlix23: setz mal im homebridgeMapping ein TargetTemperature=cmd=desiredTemperature+auto

@Markus M.: so einfach ist das glaube ich nicht. für einen skill der mehr als eine sprache versteht muss man ja in der skill Konfiguration auch die sprache auswählen und für den custom skill pro sprache ein eigenes interaktion modell hinterlegen.

du kannst mal im custom skill versuchen bei alexaName und alexaRoom mit , getrennt jeweils einen zweiten englischen namen anzugeben und schauen ob alexa überhaupt damit klar kommt.

vielleicht hilft es auch den skill einfach ein zweites mal in der anderen sprache anzulegen. das sollte zumindest für die klassen funktionieren.

@SeeAge: für blind musst du vermutlich das homebridgeMapping anpassen. die werden nicht automatisch erkannt. es gibt im forum irgendwo beispiele für fibaro.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

SeeAge

Danke @justme1968

Ich habe meiner Jalousie nun folgendes homebridgeMapping verpasst und damit kann ich sie auf Position fahren:
TargetPosition=state,cmd=dim,part=1,cmdOn=99,cmdOff=0,minValue=0,maxValue=99,minStep=1
CurrentPosition=state,cmd=dim,part=1,minValue=0,maxValue=99,minStep=1


Nun würde ich die Rollos/Jalousien mit Sprachbefehl gerne noch direkt hoch oder runter fahren:
z.B. mit "Fahre den Rollo in der Küche hoch".

Ich habe alles Mögliche schon durchprobiert, aber bekomme es einfach nicht hin. Alexa sagt einfach immer nur "okay", aber es bewegt sich nichts.

Mein alexaMapping sieht im Moment so aus:

On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um
On=verb=mach,valueOn=an;ein,valueOff=aus

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

TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
TargetPosition=verb=fahre;mach,valueOn=hoch;auf,valueOff=runter;zu

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


Grüße,
Christian
ZWave (Licht, Rolladen, Heizung) & EnOcean (Schalter), SmartVisu mit Fronthem, Alexa-FHEM, Presence mit FritzBox

steff555

#3542
Hallo zusammen,

ich hatte bzgl. dem Thema homebridemapping schonmal geschrieben, aber leider noch keine Lösung dafür gefunden - und zwar habe ich folgendes "Problem": Im Bad habe ich einen Comet-DECT Thermostaten (und der ist im Bad das einzige Device, das vorhanden ist). der Thermostat ist wie folgt definiert:


define Thermostat_Bad FBDECT FB7490:20 actuator,tempSensor
attr Thermostat_Bad IODev FB7490
attr Thermostat_Bad alexaName Heizung
attr Thermostat_Bad alexaRoom Bad
attr Thermostat_Bad event-min-interval temperature:1800
attr Thermostat_Bad genericDeviceType thermostat
attr Thermostat_Bad homebridgeMapping clear TargetTemperature=desired-temp::desired-temp,minValue=8,maxValue=28,minStep=0.5 CurrentTemperature=temperature
attr Thermostat_Bad room 05-Bad,91-Alexa


Soweit funktioniert auch alles, nur das bei der Abfrage "XXX, wie ist der Status im Bad" die eingestellte Temperatur nicht akutell wiedergegeben wird.
Wenn ich jedoch das mapping ändere (mit nocache=true) auf:


attr Thermostat_Bad homebridgeMapping clear TargetTemperature=desired-temp::desired-temp,minValue=8,maxValue=28,minStep=0.5,nocache=true CurrentTemperature=temperature,nocache=true


Dann bekomme ich als Antwort: "Bei der Antwort des angeforderten Skill ist ein Problem aufgetreten"

Ich habe darauf hin im alexa.log File nachgesehen und dort finde ich einen error:


[2018-1-8 21:27:19] Cannot read property 'replace' of undefined
[2018-1-8 21:27:19] ERROR: InvalidAccessTokenError from ::ffff:52.208.115.46


Hier noch die weiteren Auszüge aus dem log, was den Comet-Dect betrifft - vielleicht erkennt jemand das Problem und kann mir sagen, wo ich ansetzen soll (der error steht ziemlich am Ende):


[2018-1-8 21:27:10] using /home/pi/.alexa/config.json
[2018-1-8 21:27:10] ---
[2018-1-8 21:27:10] this is alexa-fhem 0.4.4
[2018-1-8 21:27:10] Fetching FHEM devices...
[2018-1-8 21:27:10] [FHEM] starting longpoll: https://127.0.0.1:8831/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1515443230818
[2018-1-8 21:27:10] Server listening on: https://:::3000
[2018-1-8 21:27:11] [FHEM] Checking devices and attributes...
[2018-1-8 21:27:11] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:11] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:11] [FHEM] Fetching FHEM devices...
[2018-1-8 21:27:11] [FHEM] fetching: https://127.0.0.1:8831/fhem?cmd=jsonlist2%20room=91-Alexa&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:11] [FHEM] alexa device is Alexa
[2018-1-8 21:27:11] [FHEM] Alexa is switch
[2018-1-8 21:27:11] [FHEM] Alexa has
[2018-1-8 21:27:11] [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
Brightness=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=minuten

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;die,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
[2018-1-8 21:27:11] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;%7B$defs%7BAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.4.4%22%7D;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:11] perfectOfVerb:
[2018-1-8 21:27:11] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[2018-1-8 21:27:11] verbsOfIntent:
[2018-1-8 21:27:11] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  minutenIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[2018-1-8 21:27:11] characteristicsOfIntent:
[2018-1-8 21:27:11] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  minutenIntent: [ 'Brightness' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[2018-1-8 21:27:11] prefixOfIntent:
[2018-1-8 21:27:11] { OnIntent: undefined,
  prozentIntent: 'auf',
  minutenIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[2018-1-8 21:27:11] suffixOfIntent:
[2018-1-8 21:27:11] { OnIntent: undefined,
  prozentIntent: 'prozent',
  minutenIntent: 'minuten',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[2018-1-8 21:27:11] alexaTypes:
[2018-1-8 21:27:11] { light: [ 'licht' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }

...


[2018-1-8 21:27:11] [FHEM] homebridgeMapping: clear TargetTemperature=desired-temp::desired-temp,minValue=8,maxValue=28,minStep=0.5,nocache=true CurrentTemperature=temperature,nocache=true
[2018-1-8 21:27:11] [FHEM] Thermostat_Bad is thermostat
[2018-1-8 21:27:11] [FHEM] Thermostat_Bad has
[2018-1-8 21:27:11] [FHEM]   TargetTemperature [desired-temp]
[2018-1-8 21:27:11] [FHEM]   CurrentTemperature [temperature]
[2018-1-8 21:27:11] [FHEM] { reading: 'desired-temp',
  cmd: 'desired-temp',
  minValue: 8,
  maxValue: 28,
  minStep: 0.5,
  nocache: 'true',
  device: 'Thermostat_Bad',
  informId: 'Thermostat_Bad-desired-temp',
  characteristic_type: 'TargetTemperature',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2018-1-8 21:27:11] [FHEM] { reading: 'temperature',
  nocache: 'true',
  device: 'Thermostat_Bad',
  informId: 'Thermostat_Bad-temperature',
  characteristic_type: 'CurrentTemperature',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }

...

[2018-1-8 21:27:19] accepted new token
**** Received Directive: {"version":"1.0","session":{"new":true,"sessionId":"amzn1.echo-api.session.29c89d51-129f-4df7-bda0-a6b35535c78e","application":{"applicationId":"amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"},"user":{"userId":"amzn1.ask.account.YYY","accessToken":"Atza|IwEBINnGEJrC3_FbPE7b2ZepD3tiQCxN_dgjBTY-T8Ry82l-SKQ7OLcoyhO4DNivP4r_HNSuUdRen8ost0QyGO9AFSKEm0gu99_JSUSJ9FHhgO9lolH_cgekM9sixaOebeiibKWjv_MLoKycMaJDUeYDgsYTN0_iXKcXXspLp44B5iu5rKxd4ahs4zTfZHktTaZZE17j5a7AlqUfDrlJBFjFV8jtwvi_-2NubFj8l4B4hD2lzgr2sBMgEGhUTaB7-Z5rho2IVbQ8ETm8kuEWVhZRxomZnXRPvJyUaH6jfvOxCaZEFV8lcBGA6h2otn5om8_iceYbZHsIg1w5kkytU2oK_6Y4VwvgvRw4tV8g3fq6m5-4SJWVKmfpv66UHh9-wlGssGmnIQzaLQPJErjQVNHbA9wo2-QmMvV90I-q5BfUfoHlKRYFDHHdawY0lpr1kydUGu8NCDGoCU77eDFSIjbIKZbhRVqeY3lW1lDQfc7rhkvfyg"}},"context":{"AudioPlayer":{"playerActivity":"IDLE"},"System":{"application":{"applicationId":"amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"},"user":{"userId":"amzn1.ask.account.YYY","accessToken":"Atza|IwEBINnGEJrC3_FbPE7b2ZepD3tiQCxN_dgjBTY-T8Ry82l-SKQ7OLcoyhO4DNivP4r_HNSuUdRen8ost0QyGO9AFSKEm0gu99_JSUSJ9FHhgO9lolH_cgekM9sixaOebeiibKWjv_MLoKycMaJDUeYDgsYTN0_iXKcXXspLp44B5iu5rKxd4ahs4zTfZHktTaZZE17j5a7AlqUfDrlJBFjFV8jtwvi_-2NubFj8l4B4hD2lzgr2sBMgEGhUTaB7-Z5rho2IVbQ8ETm8kuEWVhZRxomZnXRPvJyUaH6jfvOxCaZEFV8lcBGA6h2otn5om8_iceYbZHsIg1w5kkytU2oK_6Y4VwvgvRw4tV8g3fq6m5-4SJWVKmfpv66UHh9-wlGssGmnIQzaLQPJErjQVNHbA9wo2-QmMvV90I-q5BfUfoHlKRYFDHHdawY0lpr1kydUGu8NCDGoCU77eDFSIjbIKZbhRVqeY3lW1lDQfc7rhkvfyg"},"device":{"deviceId":"amzn1.ask.device.AFAQD6CAXN2FVG2APCOIDQHTQNDXPUVH5ON372PC52YNDBDIP532VUU4GKVUCKC6ZU6ZZGYAAMESRMYWYZOZM3Z6UQGSWDMEL5G67P55HJGITCGSL5JY6N4WPU3V4Q3OII2VGP7BACWE6VR3UDSEJDNWZMRQ","supportedInterfaces":{"AudioPlayer":{}}},"apiEndpoint":"https://api.eu.amazonalexa.com","apiAccessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLjdiZDg1NTg5LTQwOWItNDk4Ny1hM2E5LTcyYTY2NzlkZTExOCIsImV4cCI6MTUxNTQ0NjgzOCwiaWF0IjoxNTE1NDQzMjM4LCJuYmYiOjE1MTU0NDMyMzgsInByaXZhdGVDbGFpbXMiOnsiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUZBUUQ2Q0FYTjJGVkcyQVBDT0lEUUhUUU5EWFBVVkg1T04zNzJQQzUyWU5EQkRJUDUzMlZVVTRHS1ZVQ0tDNlpVNlpaR1lBQU1FU1JNWVdZWk9aTTNaNlVRR1NXRE1FTDVHNjdQNTVISkdJVENHU0w1Slk2TjRXUFUzVjRRM09JSTJWR1A3QkFDV0U2VlIzVURTRUpETldaTVJRIiwidXNlcklkIjoiYW16bjEuYXNrLmFjY291bnQuQUZFTU02SkxHTVJJS0VVRkpBRjJVRjI3NUdKWDRVMjQ1UzJaTllPWUpFNjNXUjUyNlc2RlJaRzM2WUFVUUpGSE4yTE1LREQzSjJEM0tJNU5RTkFZNEJXSFFOMkJSVEpGSkpQT1pEUlRMUDNPSkJDS1hERllGV0RURFJaRENCQlNVM0dMRFRCTUhGWkRaTFZTWVA3UldIVVFBUFhVTUdTRUFYUk0yNEJNT09EQjZXMllDUlZMTVVBTUc3M0ZFNk5HUzNCWUdIUDNJUUFPUUdZIn19.R3_qL2KCwiV6Jjdpt8CfNG7H9tHBm3rCdbNwIHUQchKGqpqTJ13TsDlGr9mUJFgGbhFZNGL3hkF6SNaieMHmtgNsd1v1ey08JEpHR5mvgZSR798wBwVOZTRnM78Onvan4aqzb9gPsW4UA_Ybq6r4dIbNiY_1_UQzipfvDQlkDfkv1V3sy7KvdTQ5tr7jbMSbfALduhE_IZV45uX5g7rTvMgvsyxsd0Wdw3r-PFrUwHeWoQIHlY4Gy1Gt7g267ptGqLimReHZ4rJsZ4ofgrDZileMDnlspdMfkT66nRJefxqjH_Udo1dwvIM5vkzyvVO020neNDOK-ewSjEMtw-cW9A"}},"request":{"type":"IntentRequest","requestId":"amzn1.echo-api.request.54182658-a4af-421f-8ae4-40044a230ea8","timestamp":"2018-01-08T20:27:18Z","locale":"de-DE","intent":{"name":"StatusIntent","confirmationStatus":"NONE","slots":{"preposition":{"name":"preposition","value":"IM","resolutions":{"resolutionsPerAuthority":[{"authority":"amzn1.er-authority.echo-sdk.amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
.FHEM_preposition","status":{"code":"ER_SUCCESS_MATCH"},"values":[{"value":{"name":"im","id":"73bebce395b6f1efedcf6842fbdb4d76"}}]}]},"confirmationStatus":"NONE"},"Room":{"name":"Room","value":"bad","resolutions":{"resolutionsPerAuthority":[{"authority":"amzn1.er-authority.echo-sdk.amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
.FHEM_Room","status":{"code":"ER_SUCCESS_MATCH"},"values":[{"value":{"name":"bad","id":"bae60998ffe4923b131e3d6e4c19993e"}}]}]},"confirmationStatus":"NONE"},"Device":{"name":"Device","confirmationStatus":"NONE"}}}}}
[2018-1-8 21:27:19] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20Alexa%20consentToken%20undefined;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:19] StatusIntent
[2018-1-8 21:27:19] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20Alexa%20intent%20IntentRequest%20StatusIntent;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:19] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20Alexa%20echoId%20amzn1.ask.device.AFAQD6CAXN2FVG2APCOIDQHTQNDXPUVH5ON372PC52YNDBDIP532VUU4GKVUCKC6ZU6ZZGYAAMESRMYWYZOZM3Z6UQGSWDMEL5G67P55HJGITCGSL5JY6N4WPU3V4Q3OII2VGP7BACWE6VR3UDSEJDNWZMRQ;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:19] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20Alexa%20echoRoom%20wohnzimmer;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:19] Cannot read property 'replace' of undefined
[2018-1-8 21:27:19] ERROR: InvalidAccessTokenError from ::ffff:52.208.115.46
response :{"header":{"name":"InvalidAccessTokenError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"0bab77c1-31d4-4fe0-9255-82c17c997425"},"payload":{}}
**** Received Directive: {"version":"1.0","session":{"new":false,"sessionId":"amzn1.echo-api.session.29c89d51-129f-4df7-bda0-a6b35535c78e","application":{"applicationId":"amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"},"user":{"userId":"amzn1.ask.account.YYY","accessToken":"Atza|IwEBINnGEJrC3_FbPE7b2ZepD3tiQCxN_dgjBTY-T8Ry82l-SKQ7OLcoyhO4DNivP4r_HNSuUdRen8ost0QyGO9AFSKEm0gu99_JSUSJ9FHhgO9lolH_cgekM9sixaOebeiibKWjv_MLoKycMaJDUeYDgsYTN0_iXKcXXspLp44B5iu5rKxd4ahs4zTfZHktTaZZE17j5a7AlqUfDrlJBFjFV8jtwvi_-2NubFj8l4B4hD2lzgr2sBMgEGhUTaB7-Z5rho2IVbQ8ETm8kuEWVhZRxomZnXRPvJyUaH6jfvOxCaZEFV8lcBGA6h2otn5om8_iceYbZHsIg1w5kkytU2oK_6Y4VwvgvRw4tV8g3fq6m5-4SJWVKmfpv66UHh9-wlGssGmnIQzaLQPJErjQVNHbA9wo2-QmMvV90I-q5BfUfoHlKRYFDHHdawY0lpr1kydUGu8NCDGoCU77eDFSIjbIKZbhRVqeY3lW1lDQfc7rhkvfyg"}},"context":{"AudioPlayer":{"playerActivity":"IDLE"},"System":{"application":{"applicationId":"amzn1.ask.skill.XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"},"user":{"userId":"amzn1.ask.account.YYY","accessToken":"Atza|IwEBINnGEJrC3_FbPE7b2ZepD3tiQCxN_dgjBTY-T8Ry82l-SKQ7OLcoyhO4DNivP4r_HNSuUdRen8ost0QyGO9AFSKEm0gu99_JSUSJ9FHhgO9lolH_cgekM9sixaOebeiibKWjv_MLoKycMaJDUeYDgsYTN0_iXKcXXspLp44B5iu5rKxd4ahs4zTfZHktTaZZE17j5a7AlqUfDrlJBFjFV8jtwvi_-2NubFj8l4B4hD2lzgr2sBMgEGhUTaB7-Z5rho2IVbQ8ETm8kuEWVhZRxomZnXRPvJyUaH6jfvOxCaZEFV8lcBGA6h2otn5om8_iceYbZHsIg1w5kkytU2oK_6Y4VwvgvRw4tV8g3fq6m5-4SJWVKmfpv66UHh9-wlGssGmnIQzaLQPJErjQVNHbA9wo2-QmMvV90I-q5BfUfoHlKRYFDHHdawY0lpr1kydUGu8NCDGoCU77eDFSIjbIKZbhRVqeY3lW1lDQfc7rhkvfyg"},"device":{"deviceId":"amzn1.ask.device.AFAQD6CAXN2FVG2APCOIDQHTQNDXPUVH5ON372PC52YNDBDIP532VUU4GKVUCKC6ZU6ZZGYAAMESRMYWYZOZM3Z6UQGSWDMEL5G67P55HJGITCGSL5JY6N4WPU3V4Q3OII2VGP7BACWE6VR3UDSEJDNWZMRQ","supportedInterfaces":{"AudioPlayer":{}}},"apiEndpoint":"https://api.eu.amazonalexa.com","apiAccessToken":"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLjdiZDg1NTg5LTQwOWItNDk4Ny1hM2E5LTcyYTY2NzlkZTExOCIsImV4cCI6MTUxNTQ0Njg0MCwiaWF0IjoxNTE1NDQzMjQwLCJuYmYiOjE1MTU0NDMyNDAsInByaXZhdGVDbGFpbXMiOnsiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUZBUUQ2Q0FYTjJGVkcyQVBDT0lEUUhUUU5EWFBVVkg1T04zNzJQQzUyWU5EQkRJUDUzMlZVVTRHS1ZVQ0tDNlpVNlpaR1lBQU1FU1JNWVdZWk9aTTNaNlVRR1NXRE1FTDVHNjdQNTVISkdJVENHU0w1Slk2TjRXUFUzVjRRM09JSTJWR1A3QkFDV0U2VlIzVURTRUpETldaTVJRIiwidXNlcklkIjoiYW16bjEuYXNrLmFjY291bnQuQUZFTU02SkxHTVJJS0VVRkpBRjJVRjI3NUdKWDRVMjQ1UzJaTllPWUpFNjNXUjUyNlc2RlJaRzM2WUFVUUpGSE4yTE1LREQzSjJEM0tJNU5RTkFZNEJXSFFOMkJSVEpGSkpQT1pEUlRMUDNPSkJDS1hERllGV0RURFJaRENCQlNVM0dMRFRCTUhGWkRaTFZTWVA3UldIVVFBUFhVTUdTRUFYUk0yNEJNT09EQjZXMllDUlZMTVVBTUc3M0ZFNk5HUzNCWUdIUDNJUUFPUUdZIn19.aQDzWVFIbv6-nO4rbM9oN2_CaHJJ8qHf6nSX-vnYHg_hhEBdgemFxEjHQU8HMnTrpFcPz1a1abb5iYsu5c-nyQRfoai53bSlNem8AaO_cs0kRbieWhL0HbwvrqzoIrg33jk3y5T2YbOlnyjE0nJ5TB0WxSoAjWCzphu_b8EMUlrACwOakJvVKiiGWl-6di0lp0xF9iEVm7-rmKKhROb6D1CJzpavx9ZGjXEVSAkpz-FWarCgQ46bpG-69DnrnmXAaPVVBnHhz--KTFgLzRaNHSF9XTXZ3NOuu9e6ztsnKr2lhpzJhIXrxQySSdmzGMA1ydLRCKp7BcqijyKWjHIZPw"}},"request":{"type":"SessionEndedRequest","requestId":"amzn1.echo-api.request.f8cd0479-9150-42ad-b850-7a96b6fc16ba","timestamp":"2018-01-08T20:27:20Z","locale":"de-DE","reason":"ERROR","error":{"type":"INVALID_RESPONSE","message":"SpeechletResponse was null"}}}
[2018-1-8 21:27:20] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20Alexa%20consentToken%20undefined;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:20] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20Alexa%20intent%20SessionEndedRequest;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:20] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20Alexa%20echoId%20amzn1.ask.device.AFAQD6CAXN2FVG2APCOIDQHTQNDXPUVH5ON372PC52YNDBDIP532VUU4GKVUCKC6ZU6ZZGYAAMESRMYWYZOZM3Z6UQGSWDMEL5G67P55HJGITCGSL5JY6N4WPU3V4Q3OII2VGP7BACWE6VR3UDSEJDNWZMRQ;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
[2018-1-8 21:27:20] [FHEM]   executing: https://127.0.0.1:8831/fhem?cmd=%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;setreading%20Alexa%20echoRoom%20wohnzimmer;%7B$defs%7BAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&fwcsrf=csrf_543618350111116&XHR=1
response :{"version":"1.0","sessionAttributes":{},"response":{"outputSpeech":{"type":"PlainText","text":"Bye"},"shouldEndSession":true}}


Falls das auch noch helfen könnte, hier auch noch die jsonlist2 davon:


{
  "Arg":"Thermostat_Bad",
  "Results": [
  {
    "Name":"Thermostat_Bad",
    "PossibleSets":"closed:noArg desired-temp:slider,8,0.5,28,1 open:noArg",
    "PossibleAttrs":"alias comment:textField-long eventMap group room suppressReading userReadings:textField-long verbose:0,1,2,3,4,5 IODev do_not_notify:1,0 ignore:1,0 dummy:1,0 showtime:1,0 disable:0,1 disabledForIntervals event-on-change-reading event-on-update-reading event-aggregator event-min-interval stateFormat:textField-long timestamp-on-change-reading model:CometDECT,Dect200,HAN-FUN,Powerline546E alexaName alexaRoom cmdIcon devStateIcon devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock homebridgeMapping:textField-long icon sortby structexclude webCmd webCmdLabel:textField-long widgetOverride userattr",
    "Internals": {
      "CHANGED": "null",
      "DEF": "FB7490:20 actuator,tempSensor",
      "FB7490_MSGCNT": "29",
      "FB7490_TIME": "2018-01-08 21:53:00",
      "LASTInputDev": "FB7490",
      "MSGCNT": "29",
      "NAME": "Thermostat_Bad",
      "NR": "119",
      "STATE": "desired-temp: 21.0 C",
      "TYPE": "FBDECT",
      "id": "20",
      "props": "actuator,tempSensor"
    },
    "Readings": {
      "AIN": { "Value":"11795 0998344", "Time":"2018-01-08 21:53:00" },
      "FBNAME": { "Value":"Thermostat Bad", "Time":"2018-01-08 21:53:00" },
      "FBPROP": { "Value":"actuator,tempSensor", "Time":"2018-01-08 21:53:00" },
      "FBTYPE": { "Value":"Comet DECT", "Time":"2018-01-08 21:53:00" },
      "ID": { "Value":"20", "Time":"2018-01-08 21:53:00" },
      "batterylow": { "Value":"0", "Time":"2018-01-08 21:53:00" },
      "day-temp": { "Value":"21.0 C", "Time":"2018-01-08 21:53:00" },
      "desired-temp": { "Value":"21.0 C", "Time":"2018-01-08 21:53:00" },
      "fwversion": { "Value":"03.54", "Time":"2018-01-08 21:53:00" },
      "locked": { "Value":"no", "Time":"2018-01-08 21:53:00" },
      "night-temp": { "Value":"19.0 C", "Time":"2018-01-08 21:53:00" },
      "present": { "Value":"yes", "Time":"2018-01-08 21:53:00" },
      "state": { "Value":"desired-temp: 21.0 C", "Time":"2018-01-08 21:53:00" },
      "tempadjust": { "Value":"-1.0 C", "Time":"2018-01-08 21:53:00" },
      "temperature": { "Value":"23.5 C (measured)", "Time":"2018-01-08 21:53:00" }
    },
    "Attributes": {
      "IODev": "FB7490",
      "alexaName": "Heizung",
      "alexaRoom": "Bad",
      "event-min-interval": "temperature:1800",
      "event-on-change-reading": "temperature:0.5",
      "genericDeviceType": "thermostat",
      "homebridgeMapping": "clear TargetTemperature=desired-temp::desired-temp,minValue=8,maxValue=28,minStep=0.5,nocache=true CurrentTemperature=temperature,nocache=true",
      "room": "05-Bad,91-Alexa"
    }
  }  ],
  "totalResultsReturned":1
}


Nachdem ich bereits mehrere Abende daran sitze  :-[ und noch keine Lösung gefunden habe, bin ich für jeden Tipp sehr danbar!  :)
Grüße Steff


chrisse111179

Hallo,

als ich die ewig lange Anleitung im Wiki durchgelesen, und sie Schritt für Schritt befolgt hatte, dachte ich: "Das KANN ja nicht funktionieren!"
Als ich dann: "Alexa, frag James, schalte die indirekte Beleuchtung im Wohnzimmer ein!" sagte, bin ich fast vom Hocker gefallen als das Licht anging!  :)

Danke justme1968 für die großartige Arbeit! Bei mir funktioniert alles! Licht, Rollläden, Fensterkontakte, Licht dimmen und Thermostate steuern.

Gibt es eine Möglichkeit, den Status mehrerer Fenster abzufragen?
Zum Beispiel: "...frag James nach dem Status der Fenster!"
Und Alexa sagt: "Fenster A und B sind offen, alle anderen geschlossen!"

Weil sonst muss man ja den Status Raum für Raum abfragen. Das ist zwar cool, aber zeitraubend.  ;)

Viele Grüße,
Christian

TomLee


chrisse111179

Danke TomLee, funktioniert einwandfrei!
Mit fhemIntent hatte ich mich noch gar nicht befasst, das birgt ja nochmal völlig neue Möglichkeiten!

Ich versuche mal, ob ich es hin bekomme, dass sie noch sagt in welchem Raum das Fenster offen ist.

Viele Grüße!

tkaiser

Hallo
Ich versuche meine Alexa in Fhem einzubinden nach der Anleitung im WTKI :https://wiki.fhem.de/wiki/Alexa-Fhem
Leider scheitere ich bei dem Teil :AWS Lambda Funktion anlegen. da scheint sich etwas geändert haben. Ich finde die Blank Funktion leider nicht. (geht wohl mehreren Leuten so)
Könnte jemand hilfe leisten (Anleitung) oder den Wiki Eintrag aktualisieren

Danke
Thorsten
HM-ES-PMSw1-Pl, HM-TC-IT-WM-W-EU, HM-CC-RT-DN,
HM-LC-DIM1T-FM, HM-SEC-SCo, Harmony-Hub,Raspi3.
CUL 868, nanoCUL 433

TomLee


Brad Majors

@TomLee

nur um sicher zu gehen, der Link (den ich mir komplett durchgelesen habe) hat nichts mit meiner Frage zu tun, richtig?

Alexa, läuft sauber und stabil bei mir. Es ging mir darum eine schon vorhandene LightScene Alexa bei zu bringen.
Raspberry Pi. * Eigenbau Nano Cul 433 und 866 * EnOcean TCM_3 * Netatmo * Max! Thermostate * SMA PV Inverter * Zigbee über ConBeeII / Phoscon

Schnabelowski

#3549
@all

könnte mir vielleicht jemand helfen die Programme mit Customskill wie  zb. Schalte auf Pro7 mit Enigma2 zu realisieren?
Hab leider kein Plan wie ich das umsetzen sollte....

LG
Peter
Igel Debian/Fhem Cul HMlan

MadMax-FHEM

Zitat von: Schnabelowski am 19 Januar 2018, 15:27:45
@all

könnte mir vielleicht jemand helfen die Programme mit Customskill wie  zb. Schalte auf Pro7 mit Enigma2 zu realisieren?
Hab leider kein Plan wie ich das umsetzen sollte....

LG
Peter

Hallo Peter,

hier mal geschaut, vielleicht findet sich was: https://forum.fhem.de/index.php/topic,65890.0.html

Das "Problem" ist, dass es einfach zu viele Möglichkeiten gibt:

- homeBridgeMapping direkt beim Gerät (könnte gehen)

- mittels Intents

- direkte Sub-Aufrufe

- evtl./wahrscheinlich auch Dummy

- ...

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)

Allodo

Ich habe den alexa-fhem-skill (aktuellste Version) zum laufen bekommen und kann auch mein Wohnzimmerlicht und den Ventilator per Alexa schalten.

Was mir noch ziemliche Probleme bereitet, sind die Rollläden.  Die Devices werden gefunden, aber die eine Rolllade fährt ganz runter, aber nur zur Hälfte wieder hoch???
Eine anderer reagiert überhaupt nicht.

Per FHEM sind alle einwandfrei steuerbar.

Ich hatte alles vorher über ha-bridge laufen, wollte es allerdings mal mit dem alexa-fhem probieren.

Als "genericDeviceType" habe ich "blind" gewählt. Jedoch ist die Darstellung in der Alexa-App merkwürdig. Vorher wurde ja alles behandelt, wie ein Lampe, aber jetzt steht dort folgendes:
INFO: Verbunden über FHEMCUL_HM
Beschreibung: n: RolloEsszimmer, r: wohnzimmer
Typ: Sonstiges
Aktiviert: (Ist ein Button = ON)

Hier mal der Auszug aus der fhem.cfg:
define RolloEsszimmer CUL_HM 56F6E5
attr RolloEsszimmer IODev cul
attr RolloEsszimmer alexaName Esszimmerrollo
attr RolloEsszimmer alexaRoom Wohnzimmer
attr RolloEsszimmer autoReadReg 4_reqStatus
attr RolloEsszimmer devStateIcon on:shutter_open off:shutter_closed
attr RolloEsszimmer expert 2_raw
attr RolloEsszimmer firmware 2.11
attr RolloEsszimmer genericDeviceType blind
attr RolloEsszimmer icon shutter_halfopen
attr RolloEsszimmer model HM-LC-Bl1PBU-FM
attr RolloEsszimmer peerIDs 00000000,
attr RolloEsszimmer room CUL_HM,Erdgeschoss,Esszimmer,alexa
attr RolloEsszimmer serialNr xxxxxxx
attr RolloEsszimmer subType blindActuator
attr RolloEsszimmer webCmd up:pct:down


Ist da irgendetwas in meiner Config falsch?

Schnabelowski

Zitat von: MadMax-FHEM am 19 Januar 2018, 16:20:20
Hallo Peter,

hier mal geschaut, vielleicht findet sich was: https://forum.fhem.de/index.php/topic,65890.0.html

Das "Problem" ist, dass es einfach zu viele Möglichkeiten gibt:

- homeBridgeMapping direkt beim Gerät (könnte gehen)

- mittels Intents

- direkte Sub-Aufrufe

- evtl./wahrscheinlich auch Dummy

- ...

Gruß, Joachim
@Joachim,
Ist die Dummy Lösung in dem Fall am sinnvollsten?
Zb. Separaten "Fernseher" Custom Skill anlegen und alle Sender ins einzelne Dummy packen benannt nach Sendern und mit Doif schalten?

LG
Peter


Gesendet von meinem HUAWEI CRR-L09 mit Tapatalk

Igel Debian/Fhem Cul HMlan

MadMax-FHEM

#3553
Hallo Peter,

vernünftig liegt im Auge des Betrachters... ;)

Kommt drauf an was du tun willst (sprechen willst) und was du umsetzen kannst: Fähigkeiten, Lust an Aufwand, etc.

Aber bei einem Dummy wirst du wohl pro Programm einen Dummy brauchen und dann sowas wie: Alexa schalte Pro7 ein

Vorteil: geht auch mit dem Smart Home Skill, also ohne noch den Skillnamen zu nennen...
...Nachteil: ein Haufen Dummies.

Intent oder direkt Sub aufrufen ist halt etwas mehr Aufwand bei der Konfiguration von fhem, dem Alexa-Device und dann nat. auf AWS-Lambda...
...dafür kannst du dann praktisch (fast) alles tun.
Dann wird beispielsweise der Programmname (gesprochen) an die Sub weitergegeben und dort dann entsprechend umgeschalten...

Also auch: Alexa sage SKILLNAME schalte auf Pro7 um

Vorteil: nicht so viele Dummies und nicht nur "einschalten"...
...Nachteil (wenn man das so nennen will): etwas mehr Aufwand bei der Konfiguration und du musst den Skillnamen nennen...

Evtl. gibt es auch weitere Möglichkeiten und vielleicht sogar die, das Gerät direkt zu nehmen und mittels homeBridgeMapping "steuerbar" zu machen...

Daher: suchen und schauen was du denkst umsetzen zu können/wollen und was du dann sprechen willst...

Schon mal dem Link gefolgt?
Anregungen (oder gar die Lösung) gefunden?

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)

Catinor

Dreambox-Sender umschalten mach ich hiermit. Richtig glücklich bin ich allerdings nicht. Das Problem ist das zu gute Mic des Echo Dot: wenn ein TV-Sprecher spricht, hört Alexa das auch und das stört immer mal wieder die Erkennung.

Perl-Code für *utils.pm:

sub alexa_tv_switch($) {
my ($station) = @_;
my %stations = (
"schweiz eins" => "SRF_1_HD",
"schweiz zwei" => "SRF_zwei_HD",
"ard" => "Das_Erste_HD",
"zdf" => "ZDF_HD",
# usw. alle Sender zu Enigma-Kanälen zuordnen
                "senderXY"              => "XY"
);
$station = lc($station);
fhem("set Dreambox channel $stations{$station}");
return "";
}


Und für Alexa-Customskill:

      {
        "name": "SwitchAction",
        "values": [
          {
            "id": null,
            "name": {
              "value": "schalte",
              "synonyms": [
                "zappe",
                "wechsle",
                "switsche"
              ]
            }
          }
        ]
      },
      {
        "name": "TvStations",
        "values": [
          {
            "id": null,
            "name": {
              "value": "schweiz eins",
            }
          },
          {
            "id": null,
            "name": {
              "value": "schweiz zwei",

...

            }
          }
       ]
     }

...
      {
        "name": "FHEMperlCodeIntentG",
        "samples": [
          "{switch} auf {station} um",
          "{switch} um auf {station}",
          "{switch} auf {station}",
          "auf {station}"
        ],
        "slots": [
          {
            "name": "station",
            "type": "TvStations",
            "samples": [
              "{station}"
            ]
          },
          {
            "name": "switch",
            "type": "SwitchAction"
          }
        ]
      },