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

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

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

cs-online

und Du sprichst das auch FEMM aus ? oder eher FEHM ? Oder buchstabierst du das ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

justme1968

ziemlich genau so wie geschrieben... 'fhem'.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

@MarkusRobertAllen: was hast du denn genau vor?

falls du darauf hin arbeitest das der skill irgendwann mal offiziell wird und nicht jeder über einen eigenen developer account gehen muss: das ist in arbeit. dauert aber noch. bitte geduld.

ansonsten: die kurze antwort: nur ein eigener oauth server reicht nicht. auch der weg vom skill zum lambda code ist nicht der korrekte weg. der skill weiss von diesen zusätzlichen daten nichts und übergibt auch nichts an lambda.

die längere antwort: oauth ist nur zur authentifizierung bzw. legitimierung. d.h. um sicherzustellen das ein anwender in zwei systemen mit unterschiedlicher benutzerverwaltung als der gleiche identifiziert werden kann ohne das login daten oder user ids übermittelt werden müssen. mit dem über oauth ausgehandelten token kann man dann im jeweiligen system über andere mechanismen den zugriff auf die zusätzlichen daten realisieren. der skill selber ist hier komplett aussen vor.

um das ganze für andere anbieten zu können sind die eigentlichen schwierigkeiten eher der datenschutz, die datenhaltung, und ein interface das es den jeweiligen anwendern erlaubt die zusätzlichen daten zu verwalten. und zwar nur seine eigenen. ohne das irgendjemand auf fremde daten zugreifen kann.

im übrigen ist es aktuell nicht möglich das interaction model automatisch zu ändern. für freigegeben skills noch nicht mal manuell ohne alles neu frei zu geben. da die räume und geräte bei den fhem anwendern sehr unterschiedlich heissen wäre ein 'offizieller' skill auch nur eingeschränkt nützlich.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Markus.

Zitat von: Reinhart am 26 Juli 2017, 09:31:35
Hallo Markus!

Ich benutze Win10 mit Edge und mache immer "copy und paste". Ich kopiere mir aber alles zuerst in einen Editor (PSPad) .

LG

Also ich bekomme dann troztdem den Fehler
Error: There was a problem with your request: Unknown slot name '{TargetPosition_article}'.This error occurred in sample 'TargetPositionIntent mach {TargetPosition_article} {Device} {TargetPosition_Value}' on line 27.


Nur wenn ich das Schema dann so ändere funktioniert es:

  {
      "slots": [
        {
          "name": "TargetPosition_article",
          "type": "TargetPosition_article"
        },
        {
          "name": "Device",
          "type": "FHEM_Device"
        },
        {
          "name": "preposition",
          "type": "FHEM_preposition"
        },
        {
          "name": "Room",
          "type": "FHEM_Room"
        },
        {
          "name": "TargetPosition_Value",
          "type": "TargetPosition_Value"
        }
      ],
      "intent": "TargetPositionIntent"
    },


Habs jetzt mit IE, Firefox und Edge getestet..:-(

Gruß

Markus

cs-online

@Andre: ich habe das mal mit "fhem" probiert, auch hier erkennt Alexa die Aufforderung "Alexa, starte fhem", aber nicht, "Alexa, sage fhem...". In der App steht dann als erkannt: "Alexa, sage fam..."... kurz drüber sinniert gebe ich der Dame dann doch lieber, was sie hören will, seit mein Skill also "fam" heisst, sind wir uns einig, wenn ich es femm ausspreche :-) ABER: nicht alles, was mit "Alexa, starte fam" funtioniert, geht auch mit der anderen Variante. Da kommen dann so Merkwürdigkeiten, daß sie bei "Geräteliste" dann tatsächlich Devices kennt, deren Bekanntheit sie mit "Alexa, sage fam..." abstreitet. Gibt es da eine logische Erklärung für (evtl. unterschiedliche Konfigurationen je nach Aufruf des Skills) ?

In Summe bin ich begeistert, seit ich ein wenig mehr Durchblick durch die Beispiele gewonnen habe und auch meine Warmwasserbereitung klappt seit gestern :-) und auch die Ehefrau besänftigt sich langsam wieder ;-)

Good Job und many thanks !!!!

Grüße

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

justme1968

also auf skill bzw. api ebene ist der aufruf über starte und sage identisch.

wenn hier etwas nicht passt liegt es an amazon. scheinbar gab es da die letzten tage probleme mit dem sage. es gibt hier auch einen thread zu.

am besten schaust du auch immer in der app was Alexa wirklich verstanden hat und gibst feedback.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cs-online

Hallo Andre,

hier habe ich etwas, wo statt Rolladen anscheinend die Lamenhelligkeit versucht wird zu steuern, ich sage "Alexa, stelle den Rolladen im Wohnzimmer auf 50%", in der App: "Alexa hat Folgendes gehört: stelle rolladen im Wohnzimmer auf fünfzig Prozent", so weit ja richtig, aber dann kommt zurück: "Ich kann rolladen nicht auf 50 schalten. 50 gestellt" darüber steht "BrightnessIntent". Meine Definition des HM-Rolladenschalters:

defmod Rolladen_Wohnzimmer CUL_HM 337676
attr Rolladen_Wohnzimmer userattr room_map structexclude
attr Rolladen_Wohnzimmer IODev Funkstick_Homematic
attr Rolladen_Wohnzimmer alexaName rolladen
attr Rolladen_Wohnzimmer alexaRoom wohnzimmer
attr Rolladen_Wohnzimmer autoReadReg 4_reqStatus
attr Rolladen_Wohnzimmer expert 2_full
attr Rolladen_Wohnzimmer firmware 2.3
attr Rolladen_Wohnzimmer genericDeviceType blind
attr Rolladen_Wohnzimmer group Rolladen
attr Rolladen_Wohnzimmer homebridgeMapping TargetPosition=verb=mache,articles=die:den,values=hoch:auf:100;;runter:zu:0\
TargetPosition=verb=fahre,values=hoch:auf:100;;runter:zu:0\
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
TargetPosition=verb=fahre,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent
attr Rolladen_Wohnzimmer icon fts_shutter_10
attr Rolladen_Wohnzimmer model HM-LC-Bl1PBU-FM
attr Rolladen_Wohnzimmer peerIDs 00000000,
attr Rolladen_Wohnzimmer room Alexa,Rolladen,Wohnzimmer
attr Rolladen_Wohnzimmer serialNr LEQ1436861
attr Rolladen_Wohnzimmer subType blindActuator
attr Rolladen_Wohnzimmer webCmd statusRequest:on:off:up:down:stop:65



Die Abfrage nach Status liefert die richtigen Prozentwerte...
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

justme1968

dein homebridge mapping ist falsch. du vermischst das alexaMapping das ins alexa device gehört mit dem homebridgeMapping.

für diesen hm aktor brauchst du gar kein mapping. der solle automatisch erkannt werden.

eventuell genericDevice type blind setzen.

und du musst den custom skill verwenden. der smart home skill weiß nichts von rolläden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Markus.

Zitat von: Markus. am 24 Juli 2017, 18:00:05
Meinst Du so in etwa?


Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=weiss:0


gruß

markus

Also wenn ich so versuche die RGBW Bulb von rot auf weiß zu schalten kommt folgendes in der Konsole.


[FHEM] SZ_Stehlampe: executing set cmd for Saturation with value Weiss null


Wie oder wo kann ich das denn anpassen?

Gruß

Markus

Kenneth

#2950
Zitat von: Markus. am 26 Juli 2017, 18:54:46
Also ich bekomme dann troztdem den Fehler
Error: There was a problem with your request: Unknown slot name '{TargetPosition_article}'.This error occurred in sample 'TargetPositionIntent mach {TargetPosition_article} {Device} {TargetPosition_Value}' on line 27.


Nur wenn ich das Schema dann so ändere funktioniert es:

  {
      "slots": [
        {
          "name": "TargetPosition_article",
          "type": "TargetPosition_article"
        },
        {
          "name": "Device",
          "type": "FHEM_Device"
        },
        {
          "name": "preposition",
          "type": "FHEM_preposition"
        },
        {
          "name": "Room",
          "type": "FHEM_Room"
        },
        {
          "name": "TargetPosition_Value",
          "type": "TargetPosition_Value"
        }
      ],
      "intent": "TargetPositionIntent"
    },


Habs jetzt mit IE, Firefox und Edge getestet..:-(

Gruß

Markus

Hab jetzt mal nach langem den Custom SKill hinzufügen wollen und bekomme genau den selber Fehler wie du Markus wenn ich das originale Intent Schema aus der FHEM-Ausgabe verwende.
Mit der Änderungen von dir geht es auf alle Fälle erst mal.. evtl. ein Fehler in der FHEM? :o

Orig Ausgabe:

      {
         "intent" : "TargetPositionIntent",
         "slots" : [
            {
               "type" : "FHEM_article",
               "name" : "article"
            },
            {
               "name" : "Device",
               "type" : "FHEM_Device"
            },
            {
               "type" : "FHEM_preposition",
               "name" : "preposition"
            },
            {
               "type" : "FHEM_Room",
               "name" : "Room"
            },
            {
               "name" : "TargetPosition_Value",
               "type" : "TargetPosition_Value"
            }
         ]
      },

Intel NUC @Ubuntu > FHEM 5.8
HM-LAN, NanoCul, Signalduino
EchoDot, Gardena Sileno, XT1, Somfy RTS
TabletUI

cs-online

Evtl. schaut Andre da bei Gelegenheit ja nochmal drauf, ist die 0.3.4 immer noch die neueste ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Markus.

#2952
Zitat von: Markus. am 27 Juli 2017, 18:34:33
Also wenn ich so versuche die RGBW Bulb von rot auf weiß zu schalten kommt folgendes in der Konsole.


[FHEM] SZ_Stehlampe: executing set cmd for Saturation with value Weiss null


Wie oder wo kann ich das denn anpassen?

Gruß

Markus


Irgendeiner eine idee wie ich mit diesem Problem weiter kommen könnte?

Das mapping habe ich wie folgt


Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=weiss:0


Gruß

Markus

cs-online

als welches Mapping hast Du das denn eingetragen, AlexaMapping im Alexa Device oder HomebridgeMapping im zu steuernden Device selber ?
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20, Shelly1,2 und 2.5,Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV mit Speicher, alles auf einem RPI und da geht noch mehr

Markus.

Als alexamapping im alexa device hab ich das eingetragen und dann entsprechend den custom skill angepasst.

Gruß

Markus