alexa-fhem: amazon alexa smart home skill für fhem, api version 3

Begonnen von justme1968, 19 Dezember 2017, 22:16:30

Vorheriges Thema - Nächstes Thema

DoubleD

Hallo Esjay

das stimmt. und mit setList funktioniert es auch. Danke!

Allerdings ist dann das WiKi nicht korrekt den dort steht ja:
ZitatOb Dummy oder nicht, wichtig sind die drei fett gedruckten Zeilen
und das sind alexaRoom, alexaName und genericDeviceType

Deshalb bin ich davon ausgegangen das es egal ist ob ich webCmd oder setList habe.

Das sollte evtl korrigiert werden, nicht das da noch mehr drüber stolpern...

Trotzdem Vielen Dank!

Gruß
Daniel

Allodo

Hat keiner eine Lösung zu meiner Frage in Post #201?

Mich würde einfach interessieren, ob in meiner Config etwas fehlerhaft ist, oder vergessen wurde.
Desweiteren ob es mit alexa-fhem möglich ist, Routinen anzulegen, oder nicht?

yamaha1983

Hallo Leute,

heute habe ich alexa-fhem in Version 0.4.4 auf meinem raspberry PI eingerichtet.
Ohne FHEM Custom Skill klappt soweit erstmal alles.

Wenn ich den FHEM Custom Skill konfigurieren möchte habe ich ein Problem.
define alexa alexa klappt und Status ist active.
Ich nutze in der fhem.cfg basicAuth zur Absicherung. In der config.json habe ich entsprechend
"auth": {"user": "Benutzer", "pass": "XXXX"}

im Abschnitt connections hinterlegt.

Im Logfile erscheint permanent:
2018.02.15 19:15:31 3: Login denied for  via WEB_127.0.0.1_40484

Schalte ich basicAuth aus und entferne die Zeile aus dem config.json, klappt soweit alles normal.
Was mache ich falsch? Kennt ihr das Problem? Wie sichert ihr die FHEM Installation?

Grüße,


brisk

Guten Morgen,

ich habe auch auf payloadversion 3 mit alexa-fhem 0.4.4 umgestellt.
Klappt soweit auch alles wie gehabt,
bis auf mein YAMAHA_AVR (bei mir Anlage genannt).

Wenn ich jetzt sage, "Alexa, Anlage auf 50%" um die Lautstärke einzustellen, kommt leider als Antwort "Anlage unterstützt das nicht"

Hat da jemand einen Tipp für mich?

Danke im voraus
brisk

justme1968

@yamaha1983: hast du ssl aktiviert?

@brisk: dazu müsstest du dein homebridge mapping und die ausgabe beim start zeigen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cpet

@justme1968

Ich habe eine Mail von Amazon bezgl. "Longer Format EC2 Resource IDs Now Available" erhalten,
kannst du schon sagen ob es Sinn macht bzw. mit dem jetzigen Skill überhaupt möglich ist diese
Umstellung durchzuführen?
RPI 3 mit 1x SCC 868MHz für FS20; 1x SCC 433MHz SlowRF; 1x SCC 868MHz Homematic;
Rollladen-/Markisensteuerung, Fußboden-Heizungssteuerung 
diverse Licht-/Schaltungssteuerungen
ALEXA-Integration;
Statusmeldungen über  Fernseher

projectsun

Zitat von: brisk am 17 Februar 2018, 08:55:35
Guten Morgen,

ich habe auch auf payloadversion 3 mit alexa-fhem 0.4.4 umgestellt.
Klappt soweit auch alles wie gehabt,
bis auf mein YAMAHA_AVR (bei mir Anlage genannt).

Wenn ich jetzt sage, "Alexa, Anlage auf 50%" um die Lautstärke einzustellen, kommt leider als Antwort "Anlage unterstützt das nicht"

Hat da jemand einen Tipp für mich?

Danke im voraus
brisk
im alexaMapping
LauterLeiser=state,verb=mach,articles=den,values=lauter:volumeUp;leiser:volumeDown

im AVR Modul:
homebridgeMapping           LauterLeiser=Verstaerker:state,cmd=command

funktioniert mit meinem V475 sehr gut. Feste Prozentzahl wirst du nicht hinbekommen.  Aber mach den Verstärker lauter geht.
Zentrale Ubuntu, Rpi B+ mit Busware 868 CUL ser2net, Rpi 2 an Aquarium mit DS18B20, und S0Counter, Rpi 3 mit nanoCUL 433 und 868 ser2net, 7x Revolt NC-5462, 1x miniCUL WLAN, 3x IT-1000, 6x ELRO AB440, KS300, EM1000-HSM, EM1000-WZ, FHT80B, 5x FHT8v2, 20x Nodemcu mit Sensoren, 6x Echo, Sonos

brisk

@justme1968

ah ok, ich habe gar kein homebridge mapping Attribut gesetzt beim Yamaha_AVR, hatte ich aber auch noch nie....


hier trotzdem mal der Auszug vom start

[2018-2-17 11:29:04] [FHEM] AV_Receiver is switch
[2018-2-17 11:29:04] [FHEM] AV_Receiver has
[2018-2-17 11:29:04] [FHEM]   Custom Volume [volume;cached]
[2018-2-17 11:29:04] [FHEM]   Custom Power [power]
[2018-2-17 11:29:04] [FHEM]   On [state;on,off]
[2018-2-17 11:29:04] [FHEM] { reading: 'volume',
  cmd: 'volume',
  delay: true,
  name: 'Volume',
  format: 'UINT8',
  unit: 'PERCENTAGE',
  minValue: 0,
  maxValue: 100,
  minStep: 1,
  device: 'AV_Receiver',
  informId: 'AV_Receiver-volume',
  characteristic_type: '00001001-0000-1000-8000-135D67EC4377',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2018-02-17 11:29:04 caching: AV_Receiver-volume: 55
[2018-2-17 11:29:04] [FHEM]     caching: Custom Volume: 55 (as number; from '55')
[2018-2-17 11:29:04] [FHEM] { name: 'Power',
  reading: 'power',
  format: 'FLOAT',
  factor: 1,
  device: 'AV_Receiver',
  informId: 'AV_Receiver-power',
  characteristic_type: 'E863F10D-079E-48FF-8F27-9C2605A29F52',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2018-02-17 11:29:04 caching: AV_Receiver-power: on
[2018-2-17 11:29:04] [FHEM] AV_Receiver-power not a number: on
[2018-2-17 11:29:04] [FHEM] { reading: 'state',
  valueOff: '/off|A0|000000/',
  cmdOn: 'on',
  cmdOff: 'off',
  device: 'AV_Receiver',
  informId: 'AV_Receiver-state',
  characteristic_type: 'On',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2018-02-17 11:29:04 caching: AV_Receiver-state: on


@projectsun

danke für dein Tipp, ich werde das mal testen.
vor dem update auf version 3 konnte ich aber Prozent angaben machen, meinst du das wird jetzt unter version 3 nicht mehr gehen?

Danke euch beiden für die schnelle Hilfe/Antwort



mue31

@brisk: es funktioniert auch mit der 0.4.4 und PL 3 bei meinem RX-V581 mit der Angabe von Werten. Die folgenden zwei Attribute bewirken das:
   attr AV_Receiver genericDeviceType light
   attr AV_Receiver homebridgeMapping Brightness=Volume,cmd=volume

Man muss im Übrigen nach dem Wert nicht Prozent sagen, funtkioniert aber auch.

projectsun

Ja, kann man machen, aber dann haste den Verstärker als Licht in der App stehen. Und wenn dich unser kleines Wunderwerk der Technik falsch versteht und nen Farbwert setzen will, haste ganz schnell 100% Lautstärke stehen. Die Nachbarn freuen sich.  :P
Zentrale Ubuntu, Rpi B+ mit Busware 868 CUL ser2net, Rpi 2 an Aquarium mit DS18B20, und S0Counter, Rpi 3 mit nanoCUL 433 und 868 ser2net, 7x Revolt NC-5462, 1x miniCUL WLAN, 3x IT-1000, 6x ELRO AB440, KS300, EM1000-HSM, EM1000-WZ, FHT80B, 5x FHT8v2, 20x Nodemcu mit Sensoren, 6x Echo, Sonos

kalleknx

Hi zusammen,

ich bekomme alexa-fhem leider nicht ans Laufen (aktuell SmartHome Skill, noch nicht custom skill)....

Musste v3 payload nehmen. Habe alexa-fhem0.4.4 hier aus dem thread installiert (und bin die Schritte aus dem WIKI gefolgt.


[2018-2-18 20:02:35] using /home/pi/.alexa/config.json
[2018-2-18 20:02:35] ---
[2018-2-18 20:02:35] this is alexa-fhem 0.4.4
[2018-2-18 20:02:35] Trying NAT-PMP ...
[2018-2-18 20:02:35] Trying NAT-UPNP ...
[2018-2-18 20:02:36] Fetching FHEM devices...
[2018-2-18 20:02:37] [FHEM] got: 1 results


Habe einen dummy im Raum "Alexa", wird anscheinend auch gefunden. Definition siehe unten:


defmod mpdKueche.switch dummy
attr mpdKueche.switch alexaName Lautsprecher
attr mpdKueche.switch alexaRoom Wohnzimmer
attr mpdKueche.switch genericDeviceType switch
attr mpdKueche.switch group AlexaGeräte
attr mpdKueche.switch homebridgeMapping Volume=volume:mpdKueche:volume,minValue=0,maxValue=100,minStep=5,nocache=1\
On=state,valueOn=on,valueOff=off,cmdOn=on,cmdOff=off,nocache=1\
attr mpdKueche.switch room Alexa,Homekit,Multimedia
attr mpdKueche.switch setList on off
attr mpdKueche.switch siriName Lautsprecher


Allerdings wird das device nicht über alexa.amazon.com gefunden (Discover).

Wenn ich https://meine_externe_ip:3000 aufrufe, bekomme ich folgendes angezeigt:

{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"...."},"payload":{}}


Ist die payload Version 2 hier richtig?

Im browser wird mir übrigens angezteigt, dass die Seite nicht vertrauenswürdig ist (Vermutung: self signed ssl certificate).

Habt ihr einen Hinweis, wie ich den Fehler aufspüren könnte?=

Danke und Gruss
kalle

MadMax-FHEM

Ist dein alexa-fhem Log komplett?

Sieht nicht so aus...

Bitte vollständig posten.

Kommen weitere Einträge, wenn du die Gerätesuche startest?

Der Test bzgl. Port 3000 erfolgte schon von "außerhalb" deines Netzes!?
Also z.B. Handy im Providernetz...
Den Zertifikatsfehler im Browser kannst du ignorieren ist wg. selfsigned...

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)

kalleknx

#222
Zitat von: MadMax-FHEM am 18 Februar 2018, 20:34:49
Ist dein alexa-fhem Log komplett?

Sieht nicht so aus...

Bitte vollständig posten.

Kommen weitere Einträge, wenn du die Gerätesuche startest?

Der Test bzgl. Port 3000 erfolgte schon von "außerhalb" deines Netzes!?
Also z.B. Handy im Providernetz...
Den Zertifikatsfehler im Browser kannst du ignorieren ist wg. selfsigned...

Gruß, Joachim

Hi MadMax,

der URL-Aufruf ist auch extern OK.

Hier das alexa log:

pi@fhem:/opt/fhem/alexa-fhem $ ./bin/alexa
[2018-2-18 20:40:14] using /home/pi/.alexa/config.json
[2018-2-18 20:40:14] ---
[2018-2-18 20:40:14] this is alexa-fhem 0.4.4
[2018-2-18 20:40:14] Trying NAT-PMP ...
[2018-2-18 20:40:14] Trying NAT-UPNP ...
[2018-2-18 20:40:14] Fetching FHEM devices...
[2018-2-18 20:40:14] [FHEM] starting longpoll: http://192.168.0.59:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1518982814381
[2018-2-18 20:40:14] Server listening on: https://:::3000
[2018-2-18 20:40:14] Current external IP address: x.x.x.x
[2018-2-18 20:40:14] [FHEM] Checking devices and attributes...
[2018-2-18 20:40:14] [FHEM]   executing: http://192.168.0.59:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2018-2-18 20:40:14] [FHEM]   executing: http://192.168.0.59:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2018-2-18 20:40:14] [FHEM] Fetching FHEM devices...
[2018-2-18 20:40:14] [FHEM] fetching: http://192.168.0.59:8083/fhem?cmd=jsonlist2%20room=Alexa&XHR=1
[2018-2-18 20:40:15] [FHEM] alexa device is MyAlexa
[2018-2-18 20:40:15] [FHEM] MyAlexa is switch
[2018-2-18 20:40:15] [FHEM] MyAlexa has
[2018-2-18 20:40:15] [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;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-2-18 20:40:15] [FHEM]   executing: http://192.168.0.59:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.4.4%22%7D;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&XHR=1
[2018-2-18 20:40:15] perfectOfVerb:
[2018-2-18 20:40:15] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[2018-2-18 20:40:15] verbsOfIntent:
[2018-2-18 20:40:15] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[2018-2-18 20:40:15] characteristicsOfIntent:
[2018-2-18 20:40:15] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[2018-2-18 20:40:15] prefixOfIntent:
[2018-2-18 20:40:15] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[2018-2-18 20:40:15] suffixOfIntent:
[2018-2-18 20:40:15] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[2018-2-18 20:40:15] alexaTypes:
[2018-2-18 20:40:15] { light: [ 'licht', 'lampen' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }
[2018-2-18 20:40:15] roomOfEcho:
[2018-2-18 20:40:15] {}
[2018-2-18 20:40:15] fhemIntents:
[2018-2-18 20:40:15] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }
[2018-2-18 20:40:15] [FHEM]   executing: http://192.168.0.59:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201;;undef%7D;list%20MyAlexa%20.Alexa.Authorization;%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200;;undef%7D&XHR=1
[2018-2-18 20:40:15] [FHEM] got: 1 results
[2018-2-18 20:40:15] [FHEM] homebridgeMapping: clear Volume=volume:mpdKueche:volume,minValue=0,maxValue=100,minStep=5,nocache=1
On=state,valueOn=on,valueOff=off,cmdOn=on,cmdOff=off,nocache=1

[2018-2-18 20:40:15] [FHEM] mpdKueche.switch is switch
[2018-2-18 20:40:15] [FHEM] mpdKueche.switch has
[2018-2-18 20:40:15] [FHEM]   Volume [mpdKueche.volume]
[2018-2-18 20:40:15] [FHEM]   On [state;on,off]
[2018-2-18 20:40:15] [FHEM] query: Volume for mpdKueche-volume
[2018-2-18 20:40:15] [FHEM]   not cached
[2018-2-18 20:40:15] [FHEM]   executing: http://192.168.0.59:8083/fhem?cmd=%7BReadingsVal(%22mpdKueche%22,%22volume%22,%22%22)%7D&XHR=1
[2018-2-18 20:40:15] [FHEM] { reading: 'volume',
  device: 'mpdKueche',
  cmd: 'volume',
  minValue: 0,
  maxValue: 100,
  minStep: 5,
  nocache: '1',
  informId: 'mpdKueche-volume',
  characteristic_type: 'Volume',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2018-2-18 20:40:15] [FHEM] { reading: 'state',
  valueOn: 'on',
  valueOff: 'off',
  cmdOn: 'on',
  cmdOff: 'off',
  nocache: '1',
  device: 'mpdKueche.switch',
  informId: 'mpdKueche.switch-state',
  characteristic_type: 'On',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
[2018-2-18 20:40:15] Current external IP address: x.x.x.x
[2018-2-18 20:40:16] [FHEM]   value: 15
  2018-02-18 20:40:16 caching: mpdKueche-volume: 15
[2018-2-18 20:40:25] ERROR: SyntaxError: Unexpected end of JSON input from ::ffff:89.204.154.8
  2018-02-18 20:40:34 caching: mpdKueche.switch-state: off
[2018-2-18 20:50:39] [FHEM] mpdKueche.switch is already published
[2018-2-18 20:50:39] [FHEM] no device created for mpdKueche.switch (dummy)



Gruss
kalle

MadMax-FHEM

Und die Antwort auf die Frage: kommen weitere Ausgaben, wenn du die Gerätesuche startest?

Wenn nicht: Trigger prüfen...

Was passiert bei einem Test aus AWS Lambda heraus?

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)

TomLee

Hallo,

Zitat[2018-2-18 20:40:25] ERROR: SyntaxError: Unexpected end of JSON input from ::ffff:89.204.154.8

hier war das ein Hinweis darauf das im Lambda-Code ein Fehler ist.

Gruß

Thonas