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

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

Vorheriges Thema - Nächstes Thema

Flar64

Zitat von: MadMax-FHEM am 07 Mai 2017, 20:34:05
Hi,

vielleicht findet sich hier etwas:

https://forum.fhem.de/index.php/topic,71612.msg631248.html#msg631248

Ja genau das war die Lösung, läuft  :D

Vielleicht sollte das Wiki entsprechend korrigiert werden.
Es war der Eintrag WorkingDirectory= welchen ich in der Datei "alexa.service" unter /etc/systemd/system hinzufügen musste damit der Service ohne Murren startet.

Danke nochmal  ;)

Bootscreen

Moin,

nachdem ich es nun alles mit den Custom Skills und dem default Room in der config json hinbekommen hab kann ich endlich sagen "Alexa, sage Arbeitszimmer Licht an" =)
Nun hab ich mich dran gewagt und eigene Intents eingerichtet. das funktioniert soweit auch, solange ich keinen Raum brauche, z.B. "Alexa, sage Schlafzimmer Oliver geht ins Bett" und mein Residents Device setzt sich auf asleep.
Was ich nicht hinbekomme ist wenn ich den Raum brauche. Ich wollte mir ein Intent einrichten mit dem ich die Temperatur an meinen Heizungen abfragen kann:
{AlexaAbfrage("temp_thermostat",$preposition,$Room)}=wie warm ist es {preposition} {Room}
{AlexaAbfrage("temp_thermostat","im",$Room)}=wie warm es ist {Room}


Und das geht auch solange ich sage "Alexa, frage Wohnzimmer wie warm ist es im Wohnzimmer" aber ich möchte eigentlich nur sagen "Alexa, frage Wohnzimmer wie warm es ist." kann mir jemand sagen wie ich den "default" Room für die Perlfunktion abfragen kann?
Gruß
Oliver

FHEM 5.7 Hardware:
Raspberry PI B+ | HomeMatic USB 2 | 433Mhz Sender (pilight) | nanoCUL (433Mhz)

justme1968

{AlexaAbfrage("temp_thermostat",$preposition,$Room)}=wie warm ist es {preposition} {Room}|wie warm ist es

einfach eine zweite sample utterance ohne den raum angeben. wenn der raum nicht mit gesprochen wird ist die perl variable undef. du kannst dann über das echoId reading rausfinden welcher echo zugehört hat.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

vbs

Mal eine Frage zum SmartHome-Skill:

Laut API-Referenz ist das Abfragen von Soll- und Ist-Temperatur nur für US-Alexa möglich:
https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/smart-home-skill-api-reference#temperature-control-and-query-messages

Hier auf einer anderen (deutschen) Amazon-Seite ist es aber erwähnt (wobei das Format komisch ist; ohne Gerätename?):
https://www.amazon.de/gp/help/customer/display.html?nodeId=201749260
überprüfen Sie Ihr Thermostat
"Wie hoch ist die Temperatur hier?"

"Wie ist mein Thermostat eingestellt?"


Verstehe ich nicht so ganz, widerspricht sich das nicht?

justme1968

ja. das ist ein widerspruch :).

die queries sind alle noch ganz neu und überhaupt erst seit kurzem beschrieben. die deutsche doku aus dem zweiten link ist scheinbar noch neuer.

als ich das damals probehalber zusammen mit der farb steuerung eingebaut habe hat alexa die fragen überhaupt nicht verstanden. habs gerade eben noch mal probiert und inzwischen versteht alexa die deutschen fragen und schickt auch das richtige event an den skill. das ganze wird im nächsten alexa-fhem update also funktionieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

justme1968

#2615
kommando zurück. zumindest vorerst.

alexa versteht nur 'wie ist die temperatur von <device>' d.h. die gemessene temperatur.
die anfrage nach der eingestellten temperatur wird noch nicht verstanden.

ausserdem wird die antwort noch nicht korrekt gesprochen. d.h. sie sagt 'punkt' statt 'komma'.

alexa verwendet auch in der antwort immer das wort 'drinnen' statt den device namen. das ist typisch amerikanisch da es dort meist einen einzigen thermostaten für ein ganzes haus gibt.

es fehlt also auf amazon seite doch noch einiges damit es in deutsch funktioniert.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Mathea

Hi, wenn man sich die möglichen Befehle hier anschaut steht da auch, dass Die Farbe von Lampen direkt im Smart Home Skill eingestellt werden kann. Allerdings wird dazu bei Philips Hue Lampen die Bridge der 2. Generation benötigt. Ist es möglich, diese Funktionalität mit Hue Lampen inkl. erste Generation Bridge über das Alexa fhem Modul zu erreichen?

rudizone

Hallo,

habe gestern angefangen den Alexa Skill einzurichten, es schein soweit auch alles zu gehen, aber ich finde die Geräte unter der Alexa App nicht.

Jemand eine Idee?

im Log sind keine Fehler zu sehen


[5/10/2017, 10:43:52 AM] using /home/pi/.alexa/config.json
[5/10/2017, 10:43:53 AM] ---
[5/10/2017, 10:43:53 AM] this is alexa-fhem 0.3.4
[5/10/2017, 10:43:53 AM] Fetching FHEM devices...
[5/10/2017, 10:43:53 AM] [FHEM] starting longpoll: http://127.0.0.1:8083/fhem?XHR=1&inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON&timestamp=1494405833261
[5/10/2017, 10:43:53 AM] Server listening on: https://:::3000
[5/10/2017, 10:43:53 AM] [FHEM] Checking devices and attributes...
[5/10/2017, 10:43:53 AM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=%7BAttrVal(%22global%22,%22userattr%22,%22%22)%7D&fwcsrf=fhem_334060083949314&XHR=1
[5/10/2017, 10:43:53 AM] [FHEM]   executing: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20TYPE=alexa&fwcsrf=fhem_334060083949314&XHR=1
[5/10/2017, 10:43:53 AM] [FHEM] Fetching FHEM devices...
[5/10/2017, 10:43:53 AM] [FHEM] fetching: http://127.0.0.1:8083/fhem?cmd=jsonlist2%20room=AlexaRoom&fwcsrf=fhem_334060083949314&XHR=1
[5/10/2017, 10:43:54 AM] [FHEM] got: 1 results
[5/10/2017, 10:43:54 AM] [FHEM] Ventilator is switch
[5/10/2017, 10:43:54 AM] [FHEM] Ventilator has
[5/10/2017, 10:43:54 AM] [FHEM] alexa device is alexa
[5/10/2017, 10:43:54 AM] [FHEM] alexa is switch
[5/10/2017, 10:43:54 AM] [FHEM] alexa has
[5/10/2017, 10:43:54 AM] [FHEM] homebridgeMapping: #Characteristic=<name>=<value>,...
On=verb=schalte,valueOn=an;ein,valueOff=aus,valueToggle=um

justme1968

@Mathea: die lampenfarbe im smart home skill geht aktuell auch nur in den usa. kommt irgendwann nach deutschland.

mit dem custom skill geht das natürlich jetzt schon. direkt im thread ist auch ein beispiel.


@rudizone: bitte die trouble shooting punkte aus dem wiki durchgehen. vermutlich ist es mal wieder der trigger.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Bootscreen

Zitat von: justme1968 am 09 Mai 2017, 10:52:55
einfach eine zweite sample utterance ohne den raum angeben. wenn der raum nicht mit gesprochen wird ist die perl variable undef. du kannst dann über das echoId reading rausfinden welcher echo zugehört hat.

Ich möchte ja nicht wissen welcher echo zugehört hat sondern welcher Skill. Ich hab für jeden Raum einen eigenen Skill und in der alexa-fhem config jedem Skill einen default Room zugewiesen.
Und auf diesen default Room möchte ich gern zugreifen.
Gruß
Oliver

FHEM 5.7 Hardware:
Raspberry PI B+ | HomeMatic USB 2 | 433Mhz Sender (pilight) | nanoCUL (433Mhz)

justme1968

das sollte im echoRoom reading stehen. für fhemIntents wird übrigens auch $_echoId und $_echoRoom gesetzt.

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

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

justme1968

ich baue es so um das in der nächsten version auch $Room auf den jeweiligen default von skill oder echo gesetzt wird wenn kein raum gesprochen wird.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Bootscreen

Wunderbar, da ich es grad mit $_echoId und $_echoRoom nich hinbekomme und die beiden Readings im alexa Device auf unknown stehn (wahrscheinlich weil ich über die alexa developer seite teste) gehe ich davon aus das dies auch nicht das wäre was ich brauche.

Dann werde ich das hier an dieser stelle mal nach hinten schieben und auf die nächste version warten.
Gruß
Oliver

FHEM 5.7 Hardware:
Raspberry PI B+ | HomeMatic USB 2 | 433Mhz Sender (pilight) | nanoCUL (433Mhz)

rudizone

Mal ne Frage, wenn ich meine Interne IP eingebe (192.168.1.11:3000).
Müsste dann nicht auch die Config zu sehen sein?

bei mir Öffnez er weder über meine DynDNS noch intern etwas über den Browser

justme1968

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

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