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

custom skill mit sage, home automation skill ohne.

der home automation skill kann aber nur die dokumentierten 8 kommandos und keine farben stellen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MadMax-FHEM

Zitat von: GeXX am 18 Februar 2017, 13:01:42
Hallo liebe Gemeinde,

ich habe da mal eine Frage zur Sicherheit. Ich betreibe einen RPI mit FHEM und steuere damit eine Menge an Homematic-Komponenten. Vor allem auch mehrere Keymatic um Türen zu öffnen. Der RPI ist nur im lokalen Netzwerk erreichbar. Aus der Ferne nutze ich VPN.

Jetzt habe ich mit die Alexa auch angeschafft und möchte über ihr Lichter und Heizung steuern. Wie ich sehe muss man den Port 3000 über den Router als Freigabe einrichten.

Ist das sicher? Was geht darüber? Stellt es ein Sicherheitsproblem in Bezug auf die Steuerung meiner Türen dar?
Wenn ja, wie kann man das sichern? Ist die Einrichtung eines Hue-Emulator sicherer? Also ist dort auch eine Portfreigabe nötig?

Ich danke Euch jetzt schon für Eure Hilfe.

Über den Port 3000 gehen halt die "Kommandos" von der AWS Lambda Funktion drüber...
...alles https und über Zertifikate.

Aber der Port ist nat. offen.
Ob man damit durch senden von gewissen Kommandos alexa-fhem irgendwie "knacken" kann und dann "irgendwelchen Schad-Code" ausführen kann kann ich nicht sagen.

Aber ein offener Port ist ein offener Port...


Bei der Verwendung von z.B. der HA-Bridge (oder vgl.bar) ist das wohl nicht notwendig.
Damit geht aber halt auch "nur" ein-/aus-schalten und dimmen.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

dk3572

Hallo ,

ich möchte die Programme meiner Dreambox per Alexa umschalten.

Das alexaMapping sieht so aus:
Programm=verb=stelle,articles=die,valuePrefix=auf,values=a.r.d.:Das_Erste_HD;z.d.f.:ZDF_HD;rtl:RTL_Television;sat1:SAT.1;hessen:hr-fernsehen_HD;bayern:BR_Fernsehen_Nord_HD
bayern und hessen funktionieren. Bei ARD wird a.r.d. verstanden, nur nicht auf Das_Erste_HD umgesetzt.
Woran liegt es und wie kann ich es ändern?
Danke für die Hilfe.

Ma_Bo

Ich glaube es wird mit Leerzeichen erkannt, zumindest bei mir "a. r. d."


Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

dk3572

Noch mal,
ich sage "ARD"
Alexa versteht "a.r.d."
Im Mapping steht, dass a.r.d. auf Das_Erste_HD umgesetzt werden soll.
Bei hessen und bayern funktioniert es ja auch.
Warum also bei ARD nicht?


Ma_Bo

Nochmal, wenn du es mit dem Custom skill machst, gibt Alexa "a. r. d." aus und nicht "a.r.d." . Leerzeichen zwischen Buchstabe und dem Punkt.


Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

dk3572

ok, sorry, hatte sogar in deinem Post die Leerzeichen nicht gesehen  ;)
Aber daran liegt es wohl auch nicht.
Habe es schon mit allen möglichen Variationen versucht:
a.r.d.
a. r. d.
a.+r.+d.
a+r.d.

Keine Ahnung wie weiter...

vbs

Nicht dass es jemanden interessieren würde, aber ich hab es auch mit Leerzeichen nicht hinbekommen...
P.S.
Ist in dem Thread zwei Posts weiter oben nachzulesen...

Ma_Bo

Ich hab dafür einzelne dummys angelegt, also keine Mappings dafür...


Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

dk3572

ich habe es ja bereits so erfolgreich umgesetzt:
https://forum.fhem.de/index.php/topic,60244.msg550298.html#msg550298

Wollte es aber ohne Dummy und Notify direkt in der Dreambox versuchen.

Prof. Dr. Peter Henning

1. Zum Thema "Offener Port".
Hier https://wiki.fhem.de/wiki/Alexa-Fhem#Absichern_des_Zugriffs gibt es eine Anleitung, um den "offenen Port" erstens auf einen anderen Port umzulenken. Und zweitens durch ein Passwort abzusichern, das nur Amazon bekannt ist. Außerdem eröffnet ein ReverseProxy die Möglichkeit, ausschließlich den Amazon-Servern Zugriff zu geben.

2. Jetzt brauche ich selbst auch mal Unterstützung: Mein Custom Skill läuft wunderbar - von der Statusabfrage des Hauses bis zum Setzen der Weckzeit oder einer bestimmten Beleuchtung. Der SmartHome Skill lief bis vor wenigen Tagen auch bestens. Plötzlich aber werden die SmartHome-Geräte nicht mehr erkannt, der einfachere SmartHome Skill kennt keinerlei Geräte. Habe ich beim Wechsel auf Version 0.2.0 irgendetwas übersehen ? Die Lambda-Funktion jedenfalls macht keinerlei Probleme.

LG

pah

justme1968

@dk3572: ich hatte an zwei stellen vergessen die + durch leerzeichen zu ersetzen. das habe ich eben repariert.

in der nächsten version kann man im alexaMapping so etwas verwenden:Sender:verb=schalte,valuePrefix=auf,values=a.+r.+d.:ard;z.+d.+f.:zdf;s.+w.+r.+drei:swr3;hessen

@pah: 2.: das ist weiter oben im thread ein paar anderen auch schon passiert. nach einer weile ging es dann wieder. ich tippe auf ein problem auf amazon seite.


zur absicherung des port 3000: man kann nie genug sicherheit einbauen, aber man sollte aufpassen das man durch zusätzliche proxies die komplexitität nicht so erhöht das das system unterm strich anfälliger wird als ohne.

alexa-fhem nimmt nur kommandos der konfigurierten applicationId an. wenn die nicht bekannt ist nützt auch ein korrekt formatiertes event nicht.

beim smart home skill wird zusätzlich zur oauthClientID das aktuelle oauth token aus dem event bei amazon gegengeprüft und die gültigkeitsdauer (eine stunde) ausgewertet.

leider wird beim custom skill event kein oauth token mit geschickt das man gegen prüfen könnte.


wie viel ein zusätzliches password brigt muss jeder selber entscheiden.

der port ist in der nächsten version konfigurierbar.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Ma_Bo

Zitat von: Prof. Dr. Peter Henning am 18 Februar 2017, 19:09:16
1. Zum Thema "Offener Port".
Hier https://wiki.fhem.de/wiki/Alexa-Fhem#Absichern_des_Zugriffs gibt es eine Anleitung, um den "offenen Port" erstens auf einen anderen Port umzulenken. Und zweitens durch ein Passwort abzusichern, das nur Amazon bekannt ist. Außerdem eröffnet ein ReverseProxy die Möglichkeit, ausschließlich den Amazon-Servern Zugriff zu geben.

2. Jetzt brauche ich selbst auch mal Unterstützung: Mein Custom Skill läuft wunderbar - von der Statusabfrage des Hauses bis zum Setzen der Weckzeit oder einer bestimmten Beleuchtung. Der SmartHome Skill lief bis vor wenigen Tagen auch bestens. Plötzlich aber werden die SmartHome-Geräte nicht mehr erkannt, der einfachere SmartHome Skill kennt keinerlei Geräte. Habe ich beim Wechsel auf Version 0.2.0 irgendetwas übersehen ? Die Lambda-Funktion jedenfalls macht keinerlei Probleme.

LG

pah
Danke für die Beschreibung in Punkt 1.

Nun zu 2., wird dir wahrscheinlich aber nicht helfen...

Ich habe auch von 0.1.9 auf 0.2.0 umgestellt, also das lib Verzeichnis ersetzt und die package.json ausgetauscht, neugestartet und alles lief ohne Probleme wieder weiter.



Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.

Ma_Bo

Ist es eigentlich möglich die Antwort von Alexa "OK" für den Smart Home Skill selber irgendwie zu beeinflussen...?
Für den Custom Skill habe ich ja die Möglichkeit über eine sub das zu machen, das läuft auch einwandfrei jetzt.


Gesendet von iPhone mit Tapatalk
NUC mit FHEM, HM Heizungsthermostate, HM Wandthermostate, Intertechno Funksteckdosen, 10" Tablet als Wanddisplay, KeyMatic, Fensterkontakte, Fensterkontakte umgebaut als Wassermelder und Briefkastenmelder, Aussenthermostat, Anwesenheitssteuerung über Fritz Box, Google Home usw. usw.