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

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

Vorheriges Thema - Nächstes Thema

cs-online

FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

thotti70

Hallo,
ich würde mich hier mal mit einem Problem einklinken.
Ich habe einen FS20 Dimmer (   fs20di).
Per Alexa lässt sich dieser mit on und off schalten.
Sage ich Alexa dimme auf 30% (nur als Beispiel), so kommt OK als Rückmeldung.
Aber es wird nicht gedimmt.

Im fhem.log finde ich folgenden Eintrag: "2017.06.27 22:09:10 1: PERL WARNING: Argument "dim37%" isn't numeric in sprintf at ./FHEM/10_FS20.pm line 194."

Daraufhin habe ich mir mein alexa.log angesehen und folgenden Befehl gefunden, der aber nicht geht:
http://127.0.0.1:8084/fhem?cmd=set%20Lampe_3%20dim%20dim37%25&XHR=1

Soweit ich das sehen kann, enthält dieser Aufruf ein dim%20 zuviel. Ändere ich diesen Aufruf händisch ab auf:
http://127.0.0.1:8084/fhem?cmd=set%20Lampe_3%20dim37%25&XHR=1
dann wird die Lampe geschaltet.

Aber jetzt die große Frage, kann ich das irgendwo beeinflussen??? Irgendwo wird die URL ja zusammen "gebastelt".

VG Thotti

justme1968

im homebridgeMapping Brightness=cmd=+ sollte helfen.

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

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

thotti70

Hi andre,

das war Rekordverdächtig schnell. 8)
Und vor allem auch die Lösung meines Problems.

Herzlichen Dank!!!

darkon

#3124
Also ich komme einfach nicht weiter weil ich das homebridgeMapping trotz ausgiebigem lesen einfach nicht verstehe.

Ich habe in fhem mein Reading "position" und meine set Befehle "pos", "off" und "on".
Ich möchte gerne per Sprachbefehl das Rollo auf einen Prozentwert setzen. In fhem mache ich das über "set pos 40".

Als genericDeviceType habe ich blind definiert. Ich verstehe soweit das es die Characteristik von TargetPosition nutzt.

Verstehe jetzt aber einfach nicht den Mapping-Befehl.

Habe folgendes getestet.


CurrentPosition=position
TargetPosition=pos::position


Damit kann ich zwar den Status abfragen, aber wenn ich "Stelle Rollo auf 40 Prozent" sage, erkennt der keinen Wert und gibt ein ? als Value aus.
Ich verstehe einfach nicht wie ich die TargetPosition defnieren muss das er den Prozent Wert per Sprache mit dem set pos Befehl verknüpft.

justme1968

zeig mal ein list vom device und was auf der alexa-fhem konsole steht wenn du das kommando gibst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

darkon

Hat sich erledigt. Jetzt habe ich es endlich verstanden.
Habe immer gesagt "Stelle das Rollo auf 40 Prozent". Da es im Utterances aber das Wort Prozent nicht gibt, konnte er das Value aus "40 Prozent" nicht definieren.

Jetzt ergibt auch alles einen Sinn. Und da hänge ich jetzt seit drei Tagen dran, wegen einem ... Wort. Trotzdem Danke für deine Mühe.

cs-online

hmmm.... meine Homematic-Rolladenschalter kann ich mit "stelle Rolladen im Wohnzimmer auf 60%" auf 60% stellen, ohne Probleme. Ganz ohne homebridgeMapping  !Custom oder smarthome-Skill ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

justme1968

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

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

oeiber

Zitat von: justme1968 am 22 September 2017, 10:30:53
@oeiber: zeig mal bitte die konsolen ausgabe von alexa-fhem (mit --debug) wenn so ein event kommt.

bzw. vergleich es mal selber mit der geräte suche. der aufbau sollte ziemlich identisch sein.

@justme1968: Leider kann ich keinen relevanten Unterschied zwischen Discovery und HealthCheckRequest erkennen.
Hier die Konsolenausgabe:


9/22/2017, 10:09:22 PM] { header:
   { namespace: 'System',
     name: 'HealthCheckRequest',
     payloadVersion: '1' },
  payload: { initiationTimestamp: 1435302567000 } }
[9/22/2017, 10:09:22 PM] event not supported
[9/22/2017, 10:09:22 PM] ERROR: UnsupportedOperationError from 127.0.0.1
response :{"header":{"name":"UnsupportedOperationError","payloadVersion":"2","namespace":"Alexa.ConnectedHome.Control","messageId":"ad0fb556-1c21-4eab-ac51-9deae02f353a"},"payload":{}}
  2017-09-22 22:09:27 caching: TLS01-humidity: 62.0

Shadow3561

Moin,

ich habe mir nun auch eine Echo gekauft und versuche seit 2 Tagen diesen in FHEM einzubinden.

Ich habe alles jetzt schon 3 mal nach WIKI abgearbeitet und konnte viele Probleme allein und mit viel lesen beheben.

Ich denke es läuft jetzt alles so weit und ich kann von aussen auf den Port zugreifen, alexa-fhem lässt sich starten und der Log ist beschrieben.


Zitat[2017-9-23 14:52:02] using /home/pi/.alexa/config.json
[2017-9-23 14:52:02] ---
[2017-9-23 14:52:02] this is alexa-fhem 0.3.4
[2017-9-23 14:52:02] Fetching FHEM devices...
[2017-9-23 14:52:02] [FHEM] starting longpoll: http://192.168.1.14:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1506171122636
[2017-9-23 14:52:02] Server listening on: https://:::3000
[2017-9-23 14:52:02] [FHEM] Checking devices and attributes...
[2017-9-23 14:52:02] [FHEM]   executing: http://192.168.1.14:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&XHR=1
[2017-9-23 14:52:02] [FHEM]   executing: http://192.168.1.14:8083/fhem?cmd=jsonlist2%20TYPE=alexa&XHR=1
[2017-9-23 14:52:02] [FHEM] Fetching FHEM devices...
[2017-9-23 14:52:02] [FHEM] fetching: http://192.168.1.14:8083/fhem?cmd=jsonlist2%20room=Alexa&XHR=1
[2017-9-23 14:52:03] [FHEM] alexa device is MyAlexa
[2017-9-23 14:52:03] [FHEM] MyAlexa is switch
[2017-9-23 14:52:03] [FHEM] MyAlexa has
[2017-9-23 14:52:03] [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
[2017-9-23 14:52:03] [FHEM]   executing: http://192.168.1.14:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%201%7D&XHR=1
[2017-9-23 14:52:03] [FHEM]   executing: http://192.168.1.14:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22alexa-fhem%20version%22%7D%20=%20%220.3.4%22%7D&XHR=1
[2017-9-23 14:52:03] [FHEM]   executing: http://192.168.1.14:8083/fhem?cmd=%7B$defs%7BMyAlexa%7D-%3E%7B%22active%22%7D%20=%200%7D&XHR=1
[2017-9-23 14:52:03] perfectOfVerb:
[2017-9-23 14:52:03] { stelle: 'gestellt',
  schalte: 'geschaltet',
  'färbe': 'gefärbt',
  mach: 'gemacht' }
[2017-9-23 14:52:03] verbsOfIntent:
[2017-9-23 14:52:03] [ OnIntent: [ 'schalte' ],
  prozentIntent: [ 'stelle' ],
  HueIntent: [ 'stelle' ],
  HueIntentB: [ 'färbe' ],
  SaturationIntent: [ 'stelle' ],
  SaturationIntentB: [ 'sättige' ],
  TargetPositionIntent: [ 'mach' ],
  gradIntent: [ 'stelle' ] ]
[2017-9-23 14:52:03] characteristicsOfIntent:
[2017-9-23 14:52:03] { OnIntent: [ 'On' ],
  prozentIntent: [ 'Brightness', 'TargetPosition', 'Volume' ],
  HueIntent: [ 'Hue' ],
  HueIntentB: [ 'Hue' ],
  SaturationIntent: [ 'Saturation' ],
  SaturationIntentB: [ 'Saturation' ],
  TargetPositionIntent: [ 'TargetPosition' ],
  gradIntent: [ 'TargetTemperature' ] }
[2017-9-23 14:52:03] prefixOfIntent:
[2017-9-23 14:52:03] { OnIntent: undefined,
  prozentIntent: 'auf',
  HueIntent: 'auf',
  HueIntentB: undefined,
  SaturationIntent: 'auf',
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'auf' }
[2017-9-23 14:52:03] suffixOfIntent:
[2017-9-23 14:52:03] { OnIntent: undefined,
  prozentIntent: 'prozent',
  HueIntent: undefined,
  HueIntentB: undefined,
  SaturationIntent: undefined,
  SaturationIntentB: undefined,
  TargetPositionIntent: undefined,
  gradIntent: 'grad' }
[2017-9-23 14:52:03] alexaTypes:
[2017-9-23 14:52:03] { light: [ 'licht', 'lampen' ],
  blind:
   [ 'rolladen',
     'rolläden',
     'jalousie',
     'jalousien',
     'rollo',
     'rollos' ] }
[2017-9-23 14:52:03] roomOfEcho:
[2017-9-23 14:52:03] {}
[2017-9-23 14:52:03] fhemIntents:
[2017-9-23 14:52:03] { FHEMgutenMorgenIntent: 'gutenMorgen',
  FHEMguteNachtIntent: 'guteNacht' }
[2017-9-23 14:52:03] [FHEM] got: 5 results
[2017-9-23 14:52:03] [FHEM] EIB_0102 is light
[2017-9-23 14:52:03] [FHEM] EIB_0102 has
[2017-9-23 14:52:03] [FHEM]   On [state;on,off]
[2017-9-23 14:52:03] [FHEM] { reading: 'state',
  valueOff: '/off|A0|000000/',
  cmdOn: 'on',
  cmdOff: 'off',
  device: 'EIB_0102',
  informId: 'EIB_0102-state',
  characteristic_type: 'On',
  log:
   { [Function: bound ]
     debug: [Function],
     info: [Function],
     warn: [Function],
     error: [Function],
     log: [Function],
     prefix: 'FHEM' } }
  2017-09-23 14:52:03 caching: EIB_0102-state: off
[2017-9-23 14:52:03] [FHEM] FHEM.Alexa is switch
[2017-9-23 14:52:03] [FHEM] FHEM.Alexa has
[2017-9-23 14:52:03] [FHEM] FHEM.Alexa.DOIF is switch
[2017-9-23 14:52:03] [FHEM] FHEM.Alexa.DOIF has
[2017-9-23 14:52:03] [FHEM] FHEM.Alexa.Status is switch
[2017-9-23 14:52:03] [FHEM] FHEM.Alexa.Status has
[2017-9-23 14:52:03] [FHEM] MyAlexa is switch
[2017-9-23 14:52:03] [FHEM] MyAlexa has
[2017-9-23 14:52:55] Got SIGTERM, shutting down alexa-fhem...

jedoch findet alexa keine neuen geräte.

der standartskill und der cusom skill sind beide aktiviert.

kann mir evtl jemand helfen?
Welche Angaben werden für vtl. Hilfestellung och benötigt?

MfG

Esjay

Schau auf die Konsole, wenn du die Geräte in der App suchst, wenn dann nichts erscheint, schau dir den Trigger an.
Ansonsten kann ich dir diesen Theard wärmstens ans Herz legen.

https://forum.fhem.de/index.php/topic,60452.0.html

sbiermann

Blöde gefragt, funktioniert die Farbsteuerung auch mit dem WifiLight Modul? Sprich kann ich Alexa sagen es soll das Device XYZ auf Warmweiß setzen?


sbiermann

Ja, das habe ich gelesen, daher frage ich ja auch nach. In dem Beitrag steht was von "Hue characteristic" und ich benutzte das WifiLight Modul.

By the way, es gibt jetzt auch die 0.3.4 und 0.3.5-beta als Docker Images im Docker Hub.