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

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

Vorheriges Thema - Nächstes Thema

Merlin123

Ich versuche gerade nen Temperatursensor mit Alexa aufzurufen, Alexa findet aber beim Suchlauf das Gerät nicht (andere FHEM Geräte problemlos).

define Temp_Wohnzimmer LaCrosse 2E
attr Temp_Wohnzimmer IODev myJeeLink
attr Temp_Wohnzimmer alexaName Wohnzimmertemperatur
attr Temp_Wohnzimmer alexaRoom Wohnzimmer
attr Temp_Wohnzimmer genericDeviceType thermometer
attr Temp_Wohnzimmer room LaCrosse


Hat jemand ne Idee, wo das Problem liegt?
Gruß,
Oliver

nesges

Falls du in deiner  /opt/fhem/.alexa/config.json eine filter-Zeile hast, zB "filter": "room=Alexa" muss dein Gerät mit diesem Filter gefunden werden. Im Beispiel müsste das Gerät zusätzlich dem Raum "Alexa" zugeordnet werden.

Merlin123

Danke für den Tipp, check ich nochmal. Aber ich glaube nicht, dass da was ist. Die anderen (KNX) Geräte liefen auch so ohne Probleme.
Gruß,
Oliver

justme1968

#2448
ich habe eben hier: https://forum.fhem.de/index.php/topic,60244.msg540117.html#msg540117 die version 0.3.2 hoch geladen.

das custom skill api sendet seit ein paar tagen eine device id des echo devices über das ein kommando ausgelöst wurde mit. d.h. man kann jetzt echos einzelnen default räumen zuordnen ohne den umweg über mehrere accounts und skills zu gehen.

die änderungen im einzelnen sind:

- slots für fhemIntents -> hier: https://forum.fhem.de/index.php/topic,67490.msg589378.html#msg589378 beschrieben
- neues attribut echoRooms um für den custom skill einzelne echos einem default raum zuzuordnen
  dieser wird verwendet wenn im kommando kein raum angegeben wurde
- neue readings echoId und echoRoom
- $_echoId und $_echoRoom für fhem intents mit slots

es ist die 39_alexa.pm von morgen früh nötig.

gruss
  andre

ps: ja ich weiss ich hatte als nächstes die konfigurierbaren abfragen versprochen. die sind aber noch nicht ganz fertig. und die echo identifikation ist auch ohne die abfragen nützlich.

pps: die probleme oben schaue ich mir an sobald ich dazu komme.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Merlin123

Bevor ich da was falsch mache:
Das Update wird so gemacht?

Bestehendes alexa-fhem umbenennen/löschen
alexa-fhem-0.3.2.tgz auspacken
package in alexa-fhem umbenennen
cd alexa-fhem
npm install


und dann noch das  39_alexa.pm kopieren? Wo finde ich das?
Gruß,
Oliver

blade-of-fire

Hallo zusammen,
ich habe da mal eine Verständnisfrage. Ich habe den Smart Home und den Custom Skill bei mir zum laufen gebracht und kann damit auch meine Geräte steuern. Allerdings verstehe ich die Zuordnung bei den Räumen nicht.
Im Alexadienst kann ja ein Filter eingestellt werden. Wenn dieser Filter bei mir auf "room=alexaroom" gestellt wird, sagt Alexa mir bei zum Beispiel "Alexa, sage 'Jarvis' schalte Deckenlicht im Wohnzimmer an" --> "Ich habe keinen Raum mit dem Namen Wohnzimmer gefunden", obwohl ich dem entsprechenden Device die Attribute AlexaName "Deckenlicht" und AlexaRoom "Wohnzimmer" vergeben habe. Im Smarthome Skill werden die Geräte entsprechend erkannt und auch der Raum richtig angezeigt.
Das gleiche Problem besteht auch, wenn ich nur den Smart Home Skill verwende, durch "Alexa, schalte Deckenlicht im Wohnzimmer an".

Wenn ich nun den Filter erweitere ("room=alexaroom,wohnzimmer" oder gar ".*") funktioniert das Ganze. Nun ist mir nicht klar, wofür das Attribut "Alexaroom" ist, wenn die Zuordnung doch durch die im Filter angegebenen Räume wirkt.

Ich habe leider noch niemanden gefunden, der das gleiche Problem hat, daher meine Frage hier.

Danke schonmal.
VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

justme1968

@Merlin123: wenn du das komplette alexa-fhem verzeichnis ersetzt musst du auch createKey.sh erneut ausführen. du kannst auch nur das lib verzeichnis durch das neue ersetzen dann reicht npm install.

39_alexa.pm ist im normalen fhem update

@blade-of-fire: das ist kein problem sondern das beabsichtigte verhalten.

der filter ist dazu da um zu bestimmen welche geräte alexa kennen soll. die attribute alexaName, alexaRoom, alias und room sind dazu da festzulegen unter welchem namen alexa deine geräte und räume kennt.

wie du filter und die attribute kombinierst um eine für dich passende konfiguration zu erhalten bleibt dir überlassen. die meisten schieben die geräte die alexa kennen sollen in einen extra raum und geben diesen im filter an. das ist das einfachste wenn du viele geräte hast die alexa garnicht kennen soll.

du kannst als filter aber jeden anderen ausdruck verwenden den fhem als devspec versteht. d.h. du kannst auch nach device namen, device typen oder was auch immer filtern. du kannst auch mehrere connection blöcke mit unterschiedlichen filtern verwenden.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Merlin123

Danke für die schnelle Antwort! Dann kopier ich also das lib Verzeichnis aus dem neuen Package in das existierende alexa-fhem und dann npm install, dann noch das update in der Befehlszeile des FHEM Webfrontends. Perfekt :)
Gruß,
Oliver

blade-of-fire

Danke @justme1968 für die schnelle Antwort.

Das der Filter für die Geräte da sind, die Alexa Grundsätzlich kennen soll, habe ich verstanden.
Wenn ich für Alexa ein Gerät bekannt machen will, würde es also reichen, dass ich dem Attribut Raum des Devices den im Filter angegeben Raum (z.B "AlexaRoom") hinzufüge.
Das klappt auch alles prima. Auch die Attribute "AlexaRoom" und "AlexaName" werden mir dann entsprechend im Alexa Smart Home Skill angezeigt.

Allerdings wenn ich in dieser Konstellation sage "Alexa, schalte Deckenlicht im Wohnzimmer an", sagt Alexa "Ich habe keinen Raum Wohnzimmer". Alexa scheint in dem Fall nicht nach dem Attribut "Alexaroom" zu gehen, sondern nach dem im Filter angegebenen Raum.
Nach der von mir verstandenden Definition
Zitatdie attribute alexaName, alexaRoom, alias und room sind dazu da festzulegen unter welchem namen alexa deine geräte und räume kennt
sollte doch Alexa den Raum kennen, wenn er im Attribut "Alexaroom" angegeben ist und der device sich im Filter angegebenen Raum befindet. Oder verstehe ich das falsch?

VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

justme1968

#2454
im smart home skill musst du räume und gruppen über die app konfigurieren. die attribute sind nur im custom skill verwendbar. das api gibt das leider nicht anders her.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

blade-of-fire

Ich muss jetzt nochmal ganz doof nachfragen.
Kann es sein, dass du bei
Zitatim custom skill musst du räume und gruppen über die app konfigurieren
den Smart Home Skill meinst? Ansonsten frage ich mich, welche App du meinst. Ich denke, du meinst die App, die man auch unter alexa.amazon.de aufrufen kann. Den Custom Skill kann man da aber nicht anpassen, sondern nur den Smart Home Skill.
VM mit Ubuntu und FHEM-Instanz (Hauptinstanz)
FHEM2FHEM
Raspberry Pi 3 B+ mit Eigenbau-Platine + Relais-Platine + Cul-Stick + FHEMDuino

justme1968

ja natürlich. keine ahnung was da dazwischen gefunkt hat.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Steffen

Hallo!

Ich wollte gerade auf Version 0.3.2 updaten und habe den Lib-Ordner ausgetauscht und im Verzeichniss alexa-fhem ein npm install ausgeführt, aber nach neustart zeigt er mir trotzdem nur Version 0.3.0 an?!

Die Aktuelle 39_alexa.pm habe ich gerade auch über Fhem Update gezogen.

Müsste bei npm install auch ein ausgabe erscheinen?

Mfg Steffen

justme1968

das package.json fille muss man noch übernehmen.

ist aber nur ein kosmetisches problem.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Steffen

Zitat von: justme1968 am 11 April 2017, 12:46:43
das package.json fille muss man noch übernehmen.

ist aber nur ein kosmetisches problem.

Ok danke das war es...