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

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

Vorheriges Thema - Nächstes Thema

Nerdletics

Ich könnte mal einen Schubs beim Custom Skill gebrauchen.

Und zwar scheitere ich immer, wenn ich am Ende die Sample Utterances eingegeben habe.

Ich habe wie in der Anleitung erst Intent Shema, dann die Custom Slot Types (alle einzeln eingegeben, immer ohne Fehlermeldung) eingegeben. Kopiere ich dann aber die Sample Utterances rein, bekomme ich plötzlich die Fehlermeldung "Error: There was a problem with your request: Unknown slot type 'FHEM_DEVICE' for slot 'Device' ". Diese Fehlermeldung gab es im Thread auch schon einmal, doch selbst nachdem ich den Skill gelöscht habe, neu erstellt habe und Schritt für Schritt vorgegangen bin, geht es nicht mehr. Immer nach den Utterances diese Fehlermeldung. Vorher ist alles gut.

Bin ja echt kein Freund von zu früh Fragen stellen, aber hier stecke ich echt fest.

Danke
Gruß
Micha

RaspiCOC

Probiers mal mit "FHEM-DEVICE" statt "FHEM-Device".

Nerdletics

Zitat von: RaspiCOC am 13 Dezember 2016, 22:10:11
Probiers mal mit "FHEM-DEVICE" statt "FHEM-Device".

Das wars. Habe FHEM_Device in FHEM_DEVICE umbenannt. Danach bemängelte er noch FHEM_Room, was ich dann auch noch in FHEM_ROOM umbenannt habe. Dann ging es.

Danke RaspiCOC

Borkk

Hallo Zusammen,

ich habe mich die letzen Tage intensiv mit Homebridge und Alex-fhem beschäftigt und bin jetzt absolut happy. Folgende Konstellation läuft bei mir seit einigen Tagen problemlos. Durch den AWS kram habe ich mich natürlich auch einmal durchgekämpft.

Ich habe auf einem RPI2 ein frisches Jessy installiert, FHEM 5.7 drauf und erst die Homebridge installation durchgeführt. Die läuft ja geradeaus durch und rennt auf Anhieb. Danach die Alexa-fhem installation nach /opt/fhem/alexa-fhem, das wird im Wiki nicht so eindeutig am Anfang erwähnt. Dann müssen die Dateien in ~/.homebridge und ~/.alexa entsprechend angepasst werden. Bei mir greifen die beiden Dienst übers LAN auf den echten FHEM zu. Da an den beiden Diensten sicher noch einiges entwickelt wird, wollte ich sie nicht auf meinem "Haupt"FHEM RPI2 haben.

In Fhem habe ich dann die Dummy´s zum Starten und stoppen der Dienste angelegt. In den Scripten in /etc/init.d/.. den user pi nicht vergessen, ohne "" (!).

Wie gesagt, läuft prima und die Dienste lässt sich komfortabel über Button aus FHEM raus starten und stoppen.

Das einzige was nicht geht und vielleicht hat da jemand eine Idee, nach einem reboot des RPI, werden die Dienste zwar als gestartet angezeigt, sie müssen aber einmal gestoppt und gestartet werden, dann laufen sie erst.
Docker@DS220+ FHEM, ConBeeII, Homebridge, Nginx ReverseProxy, ConfigDB, MQTT, NodeRed, InfluxDB, Grafana,
Raspberrymatic@Raspi3: HmIP Akt- /Sensoren, Shelly´s, Tibber Puls, Alexa, ASC, Gardena, Netatmo, E-Paper, FritzBox; Tado°, HOMEMODE, iBeacon, OLED ; ESP32/8266, SwitchBot ...

Joker

Hallo,
ich habe seit gestern meinen Echo Dot und heute alexa-fhem in Betrieb genommen. Super Sache, es tut auch schon ein bisschen!

Ein paar Sachen sind mir aber nicht klar, vielleicht könnt ihr mir die kurz erläutern. Ich habe aktuell beide Skills angelegt und jetzt frage ich mich:
- wenn ich den Custom Skill nutze brauche ich in der Alexa App keine Geräte suchen, die sind ja über das Interaction Model definiert, richtig? Oder braucht man das doch? Ich verstehe aktuell noch nicht richtig warum manche Sachen bei mir gehen und manche nicht und will erstmal vollständig durchsteigen
- im Interaction Model gebe ich die Namen aller Geräte an die ich schalten will. Wie erfolgt die Zuordnung zum FHEM Gerät? Über das Internal "Name", über das Attribut "Alias" oder über das Attribut "AlexaName"?
- wie erfolgt die Zuordnung zu den Räumen? Über das Attribut "Room" oder "AlexaRoom"? Mir kommt es so vor als ist es irgendwie ein Mix..?
- macht es Sinn beide Skills parallel zu verwenden?

justme1968

@Borkk: schau mal was du im log siehst und ob fhem zu spät/langsam bzw. alexa-fhem zu früh startet.

@Joker:
1. ja. die suche ist nur für den home automation skill damit alexa die geräte kennt. im custom skills geht das 'von hand' über das interaktion model.

2. genau in dieser reihenfolge mit aufsteigende priorität. je nach dem was alles gesetz ist.

3. genau in dieser reihenfolge mit aufsteigende priorität. es wird in der version oben aber zum teil noch room angezeigt auch wenn alexaRoom verwendet wird.

4. das musst du entscheiden :) das schöne am home automation skill ist das er ohne umweg über den skills namen funktioniert. der andere ist flexibler. in einer der nächsten versionen wird vermutlich der home automation skills (per konfiguration) nur noch für lampen und thermostate zuständig sein. dann gibt es die probleme mit dem mischen der geräte typen nicht mehr.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Floca

Komischerweise habe ich unter Ubuntu wahnsinnig Probleme mit dem Steuern vom Deamon über Fhem.

sudo /etc/init.d/alexa start
Alexa starting
Alexa is not running
script done
script done


hat jemand eine Idee?

Eintrag in der sudoers ist natürlich gemacht...

Joker

@floca:
Starte alexa-fhem doch mal direkt über /opt/fhem/alexa-fhem/bin/alexa.
Dann siehst du die Ausgaben.

@justme1968:
OK, danke für die Erläuterungen, werde heute abend mal weiter testen. Prinzipiell denke ich es wäre sinnvoll beide Skills parallel zu nutzen (WAF und so...  ;D). Aber nutzt der Smarthome-Skill genauso die Raum und Name Attribute wie du es beschrieben hast, oder nur der Custom Skill? Kann man da Inkonsistenzen zwischen beiden bekommen?

Und wie sollte man es sinnvollerweise machen- meine FHEM-Geräte die ich für Alexa nutzen will habe ich im Raum "alexa". Das bedeutet die Geräte sind dadurch in mehreren Räumen (z.B. Wohnzimmer, Alexa). Wenn ich jetzt z.B. nach einer Raumliste fragen, dann bekomme ich den Raum "Alexa" natürlich auch genannt. Und auch noch andere, in denen manche Geräte auch noch zusätzlich sind, z.B. "System". Kann man das irgendwie vermeiden? Mein Gedanke war der, dass wenn es ein "AlexaRoom" gibt, das was in "Room" steht ignoriert wird?

visionsurfer

Moin,

@justme1968
Kannst du zufällig was zum Themen benennen von Szenen sagen ? Du hast ja Lightscene auch entwickelt. Nutzt du das eventuell selbst ?
Ich würde ja am liebsten Alias Namen vergeben wie "Scene Kochen" oder "Scene Schlaflicht" usw.
Scheint aber nicht zu gehen.

Hast du eventuell einen Tipp ?

Grüße,
Visionsurfer

justme1968

@Joker: der smart home skills kennt nur die geräte (alexa) namen und die in der alexa app konfigurierten räume. der custom skill kennt die geräte namen und räume aus fhem. das ist mit dem aktuellen api nicht anders möglich.

gebau dafür gibt es alexaName. in der version oben wird es aber noch nicht konsequent benutzt. in meiner version schon.

@visionsurfer: ich glaube dein problem liegt am namen oder am wort szene. im alexa api gibt es scheinbar die möglichkeit szenen über den geräte namen anzulegen. das soll angeblich gehen wenn im namen das wort szene xy vor kommt. die doku ist aber aktuell nur auf englisch. und es ist nur ein winziger abschnitt.

das home automation api ist zumindest aktuell noch sehr eingeschränkt und schlecht dokumentiert. dazu gehört auch das nicht dokumentiert ist welche begriffe alexa noch interpretiert. wie z.b. lampen, szene, ...

mit dem nächsten custom skill wird aber z.b. 'aktiviere kochen' und 'beende kochen' gehen. vielleicht bringe ich das wort szene auch noch unter.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

visionsurfer

Hi,

ok. Danke für deine Info.
Dann muss ich mich wohl noch ein bisschen gedulden. Wobei ich werde es noch mal mit Szene probieren, anstatt Scene. Vielleicht klappt das ja besser. Ich mache das ja immer über den Alias.
Werde heute Abend zu Hause noch mal probieren.

Ansonsten wird es halt schwierig, immer die passenden Namen zu finden.

Grüße,
Visionsurfer

BobbyD

@justme1968: Was denkst du wann die neue Version bereit zum testen sein wird? Bin schon ganz gespannt, wie das dann mit dem Temperaturen abfragen gehen wird.

visionsurfer


retikulum


retikulum

Wer, so wie ich, auch mit NodeJs Probleme auf dem Raspberry Pi B+ hatte, hier die Installation für den armv6l und der Node Version 7.2.1
Eine andere kann einfach unter https://nodejs.org/dist/ rausgesucht werden. Dann bitte die Versionsummer im folgenden ersetzen:

Installation:

cd ~
wget https://nodejs.org/dist/v7.2.1/node-v7.2.1-linux-armv6l.tar.gz
tar -xzf node-v7.2.1-linux-armv6l.tar.gz
node-v7.2.1-linux-armv6l/bin/node -v
cd node-v6.2.1-linux-armv6l/
sudo cp -R * /usr/local/


Das muss in eure ~/.bashrc:


export PATH=$PATH:/usr/local/bin


Testen könnt ihrs dann in einem beliebigen Verzeichnis mit:


node -v
npm -v


Sollte dann die Versionsnummern ausspucken.
Ein npm rebuild wäre wahrscheinlich im alexa-fhem Ordner angebracht.