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

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

Vorheriges Thema - Nächstes Thema

amenomade

Mensch! Das war eine schwere Geburt! Daher freut es mich umso mehr :) :)

@Byllyy: jetzt kannst Du ein bisschen aufräumen, da wir Dateien überall gestreut haben (*.pem, config.json).
In /etc/systemd/system.conf auch wieder Loglevel und den anderen Parameter auskommentieren.
In ExecStart in der Unit Datei kann "--debug" weg.

Guten Appetit Ameno ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

cs-online

Hallo,

ich habe das Problem, dass ich eine Funksteckdose mit AlexaName "fernseher" hatte, die kaputt gegangen ist. Habe ich getauscht gegen eine andere. Die erste ist gelöscht und ich finde auch nichts mehr davon in der fhem.cfg . Aber: Alexa sagt mir nun immer, sie habe mehr als einen Fernseher im Raum Schlafzimmer. Wenn ich die Geräteliste aufrufe, dann kommt auch "Fernseher, rolladen und Fernseher". Wiekann ich denn den alten Fernseher aus Alexa entfernen ? Ich habe die neue Steckdose genauso genannt wie die alte und auch AlexaName und AlexaRaum identisch benannt. Im Raum Alexa gibt es auch nur die eine (neue)
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

Esjay

Zitat von: cs-online am 05 September 2017, 19:48:19
Hallo,

ich habe das Problem, dass ich eine Funksteckdose mit AlexaName "fernseher" hatte, die kaputt gegangen ist. Habe ich getauscht gegen eine andere. Die erste ist gelöscht und ich finde auch nichts mehr davon in der fhem.cfg . Aber: Alexa sagt mir nun immer, sie habe mehr als einen Fernseher im Raum Schlafzimmer. Wenn ich die Geräteliste aufrufe, dann kommt auch "Fernseher, rolladen und Fernseher". Wiekann ich denn den alten Fernseher aus Alexa entfernen ? Ich habe die neue Steckdose genauso genannt wie die alte und auch AlexaName und AlexaRaum identisch benannt. Im Raum Alexa gibt es auch nur die eine (neue)

Hast du mal alle Geräte aus der App gelöscht.Ganz unten am Ende,und danach alexa-fhem neu starten und Geräte in der App wieder gesucht.
Grüße

cs-online

jau, ein Reload und stop und start des Alexa-Dienstes haben es gebracht. Danke :-) (ist der custom-Skill)
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

TomLee

#3079
Hallo,

bin heute hierüber gestolpert:

https://developer.amazon.com/de/alexa-skills-kit/shopping-and-to-do-lists

da steht:

ZitatWhy do I need to use the List Events?
List Events are most useful for applications that want to provide an external web/mobile interface for users to manage their Alexa lists and support two-way sync. This allows the applications to receive events when users add or remove items from their lists so they can refresh the app.

Wird es so möglich über den Costum-Skill die Todo und Einkaufslisten Ereignisse in alexa-fhem zu erfassen ?


cs-online

Hallo,

ich habe nun nach einem Update von FHEM im Alexa-Device get und set SkillId. War doch mal neugierig, was das bringt,die einzutragen. Aber sobald ich mit set die gespeichert habe, hat sich FHEM aufgehängt. Im Log stand dazu:

Undefined subroutine &main::plex_encrypt called at ./FHEM/39_alexa.pm line 673.

Frage: welchen Vorteil bringt das, wenn ich die SkillId dort eingebe und warum hat sich das ganze dann aufgehängt ?

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

zum list api: das ist von fhem aus aktuell nicht sinnvoll zu benutzen. das token das dazu nötig ist läuft jede stunde ab und wird nur durch einen sprachbefehl erneuert. wenn man aber sowieso etwas sagen muss kann man es auch gleich so auf die liste setzen.

eventuell lässt sich mit dem neuen skill developer api noch etwas tun. so weit bin ich aber noch nicht.

@cs-online: mist. da hat sich noch ein fehler eingeschlichen. das muss alexa_encrypt heißen.

aktuell bringt es noch gar keinen vorteil. das ganze ist nur eine vorbereitung das interaction model automatisch zu amazon hoch zu laden. dauert aber noch etwas bis das fertig ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cs-online

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

cs-online

nach dem Update funktioniert das Speichern und wieder Aufrufen nun:-)
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

cs-online

Hallo Andre,

ich habe da noch ein Problem, das habe ich eingrenzen aber nicht verstehen können. Immer, wenn ich in einer Funktion in der MyUtils ein Device einbinden will, das mit StateFormat die Ausgabe des Status anpasst, wird zwar das Device geschaltet, aber Alexa meldet "Bei der Anforderung des Skills ist ein Fehler aufgetreten" (oder so ähnlich), dann fällt auch das online-testen im Skill-Bereich mit einem Fehler aus. Nehme ich dieses Device heraus, dann klappt das. Beispielsweise habe ich ein Sonoff über EPSeasy, bei dem der state auf on oder off statt dem ganzen GPIO-Geraffel angepasst wird. Mit dem Sonoff in meiner "gute nacht"-Funktion kommt der Fehler, ohne dem Sonoff (aber mit diversen anderen Devices) ohne Fehler.

Hast Du eine Idee ?

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

zeig mal bitte ein komplettes beispiel inklusive code.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

cs-online

Hier der Auszug aus der 99_MyUtils:

sub gute_nacht() {

#fhem("set WZ_Lampen off");  #Structure für alle Wohnzimemrlampen zusammen
fhem("set IKEA_Stehlampe_Wohnzimmer off");
fhem("set Stehlampe_Schwarz_Wohnzimmer off");
fhem("set ESPEasy_WLAN_Dose_4_PUMP off");

fhem("set Lampe_Ecke_Kueche off");
fhem("set Terrassenlampen off");
fhem("set Dreambox off");

#Rolläden auf Nachtstellung
fhem("set Rolladen_Wohnzimmer 65");
fhem("set Esszimmer_Rolladen 50");
fhem("set Schlafzimmer_Rolladen 35");
fhem("set Rolladen_Gaestezimmer 0");
fhem("set Rolladen_Tanjas_Zimmer 0");


my $rt = "Ich habe die Rolläden auf Nachtstellung gestellt und die Lampen im Wohnzimmer, in der Küche und auf der Terasse sowie den Fernseher im Wohnzimmer aus gestellt. Gute Nacht und schlaft gut.";

return $rt;
}


hier der Aufruf im Alexa-Device / FHEM Intents:

#IntentName=<sample utterance>
{wateroptions()}=wasserstatus
{Alexacmd ("speicherladung")}=stelle warmwasser auf speicherladung
{Alexacmd ("wannenfuellung")}=stelle warmwasser auf wannenfüllung
{Alexacmd ("stop")}=stelle warmwasser auf stop
{Letzte_Anrufe()}=letzte anrufe
{Letzte_Anrufe()}=letzte anrufer
{Letzte_Anrufe()}=wer hat angerufen
{guten_morgen()}=guten morgen
{gute_nacht()}=gute nacht


Wenn ich die "ESPEasy_WLAN_Dose_4_PUMP" auskommentiere ist alles gut, wenn ich die reinnehme, dann kommt der Fehler, auch wenn ich nicht alle Lampen einzeln sondern über Struktur schalte. Bei der Struktur steht aber seit ich die ESPEasy_WLAN_Dose_4_PUMP mit hinein genommen habe auch immer "undefined" als state, weil die Dose eben nicht on oder off als reinen state zurückgibt sondern noch Zusatzinfos wie Schalterzustand und GPIO.
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

Flipps

Guten abend leute,
habe Probleme mit meiner Alexa-Fhem Instalation.
Insatalation nach Anleitungen durchgeführt, hoffentlich eine richtige MyFritzfreigabe erteilt mittels http aber Alexa findet meine Schalter von Fhem nicht.
Wie kann ich den Prüfen ob das mit dem MyFritz funktioniert ich vermute da den Hund begraben.

Das kommt bei rum wenn ich starte.

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


Vielen DANK für eure Hilfe :-)

amenomade

Ist fqmzeoigjrqieu.myfritz.net:3000 (Fritz Freigabe natürlich anpassen) von aussen erreichbar? Das kannst Du mit einem Handy mit ausgeschaltetem WLAN z.B. testen.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Flipps

Muss ich morgen mal probieren, Hab natürlich kein netzempfang um das ohne WLAN zu testen... (Es gibt tatsächlich noch funklöcher in Deutschland...)