FB Smart Home


Hier finden Sie alle Informationen zu FB Smart Home
für
Amazon Alexa
und
Google Assistant

Bitte verbinden Sie unter 'Einstellungen' Ihre FRITZ!Box

Einstellungen


Zur Steuerung nehmen Sie bitte folgende Einstellungen in Ihrer Fritzbox vor

Alle Daten löschen
Hier können Sie permanent Ihre Daten aus der Datenbank löschen

Über FB Smart Home


Dieser Skill und diese Action wird nicht von AVM bereitgestellt und nicht von AVM unterstützt.

Er entstand im Rahmen eines Privatprojektes und wird unentgeltlich zur Verfügung gestellt.

Sie können die Smart Home Geräte der FRITZ!Box mit Amazon Alexa oder Google Assistant steuern. Folgende Sprachbefehle stehen zur Verfügung:

Heizkörperthermostat

Stelle Heizung auf 22 Grad

Stelle Heizung 2 Grad höher/niedriger

Stelle Heizung wärmer/kälter

Erhöhe/verringere Temperatur von Heizung um 2 Grad

Stelle Heizung auf (Modus) Heizen (Stellt auf Komforttemperatur)

Stelle Heizung auf (Modus) Eco (Stellt auf Spartemperatur)

Stelle Heizung auf Ausgestellt

Stelle Heizung auf Komforttemperatur (Alexa)

Stelle Heizung auf Spartemperatur (Alexa)

Wie ist Heizung eingestellt?

Wie ist die Temperatur von Heizung? (Alexa)

Wie warm ist Heizung? (Google)

Schalte Heizung An

Schalte Heizung Aus

Schalte Heizung Boostmodus Ein (F!OS >7.15)

Schalte Heizung Boostmodus Aus (F!OS >7.15)

Wie ist Heizung Boostmodus eingestellt? (F!OS >7.15)

Schalte Heizung Fenstermodus Ein (F!OS >7.15)

Schalte Heizung Fenstermodus Aus (F!OS >7.15)

Wie ist Heizung Fenstermodus eingestellt? (F!OS >7.15)

Schaltsteckdose

Schalte Steckdose Ein

Schalte Steckdose Aus

Wie ist die Temperatur von Steckdose? (Alexa)

Wie warm ist Steckdose? (Google)

Wie ist die Leistung von Steckdose? (Alexa)

Wie ist der Verbrauch von Steckdose? (Alexa)

Leuchte

Schalte Leuchte Ein

Schalte Leuchte Aus

Stelle Leuchte auf 0..100%

Stelle Leuchte heller/dunkler

Stelle Leuchte auf Kaltweiß/Warmweiß...

Stelle Leuchte wärmer/kälter

Stelle Leuchte auf Rot/Grün/Blau...

Jalousie

Jalousie öffnen

Jaslousie schließen

Stelle Jaslousie auf 0..100%

Jaslousie anheben/absenken

Vorlage

Aktiviere Vorlage

Schalte Vorlage ein

Fragen & Antworten


Allgemein

Alexa fragt mehrmals täglich unabhängig von der Benutzung den aktuellen Status der Smart Home Sensoren und Aktoren ab. Der Skill aktualisiert den Status darauf hin mit den derzeit gültigen Daten aus der FRITZ!Box.

Nein.

Für Smart Home haben Amazon und Google die Befehle und Antworten fest vorgegeben. Diese sind nicht anpassbar.

Bei einigen FRITZ!Boxen hilft es offenbar, Die Anmeldung generell auf Benutzername/Kennwort umzuschalten.
Die FRITZ!Box interpretiert die Verbindung fälschlicherweise als aus dem Heimnetz kommend und vergleicht die Anemldedaten mit dem Standard-Benutzer.

Anmeldung im Heimnnetz Anmeldung im Heimnnetz

Sie können angelegte Geräte über die Alexa-App oder die Alexa-Website https://alexa.amazon.de löschen.
Die Geräte finden Sie dort unter 'Smart Home', 'Geräte'.

Es dauert einige Minuten, bis der aktuelle Zustand des Gerätes wieder zur Verfügung steht. Bitte versuchen Sie es dann erneut.

Stellen Sie außerdem sicher, dass das Gerät für die Nutzung über die Schnittstelle freigeschaltet ist
Heizungsthermostat für API-Steuerung freigeben Heizungsthermostat
Steckdose für API-Steuerung freigeben Schaltsteckdose

Alexa wartet maximal 8 Sekunden auf eine Antwort der Geräte. Da die FRITZ!Box gerade beim Verbindungsaufbau sehr langsam antworten kann, werden zwischengespeicherte Daten an Alexa gemeldet. Der Abruf der aktuellen Daten aus der FRITZ!Box erfolgt anschließend im Hintergrund. Auch das Schalten von Steckdosen wird hierdurch leicht verzögert.

Werden Geräte in der Alexa-App betrachtet, stellt Alexa etwa alle 3 Sekunden eine neue Statusanfrage. Um die Verbindung zur FRITZ!Box nicht zu überlasten wird in diesem Fall ausschließlich auf die zwischengespeicherten Daten zurückgegriffen. Eine Aktualisierung erfolgt, wenn die Daten längere Zeit nicht aktualisiert wurden oder wenn der letzte Verbindungsversuch fehlgeschlagen ist.

Wenn Ihre Geräte oder Gruppen nicht sofort auftauchen, versuchen Sie es nach 10 Minuten bitte erneut.

Google aktualisiert Smart Home Geräte nicht automatisch, ein erneuter Verbindungstest auf dieser Seite macht die Geräte bei Google bekannt.

Möglicherweise antwortet Ihre FRITZ!Box sehr langsam auf Anfragen. Die Website und der Skill warten nur eine gewisse Zeit auf eine Antwort.
Eventuell hilft ein Neustart der FRITZ!Box.

Ältere Modelle der FRITZ!Box antworten generell sehr langsam auf Anfragen auf die Web-Schnittstelle. Leider wird die Benutzung des Skills hier wahrscheinlich fehlschlagen.

Die FRITZ!Box überträgt nur alle 15 Minuten neue Informationen an die angeschlossenen Thermostate. Es kann somit bis zu 15 Minuten dauern, bis eine neue Temperatureinstellung vom Thermostat übernommen wird.

Wenn Sie vorher einen anderen Skill für diese Smart Home Geräte verwendet haben, überprüfen Sie folgendes:
Besuchen Sie die Webseite https://alexa.amazon.de, Smart Home, Geräte und löschen Sie dort die Geräte, die als (Offline) angezeigt werden.

Weitere Möglichkeiten:
- Deaktivieren Sie beide Skills
- Löschen Sie alle Geräte der Skills aus Smart Home (über die App oder Webseite)
- Aktivieren Sie den Skill erneut und suchen Sie nach Smart Home Geräten

Die gefundenen Geräte sollten anschließend funktionieren.

Für die Verknüpfung der Action benötigt Google Zugangsdaten eines OAuth-Dienstes, allerdings erlaubt Google die Nutzung des eigenen OAuth-Dienstes für diesen Zweck nicht. Der einzig verbleibende kostenlose OAuth-Anbieter ist Amazons Login-With-Amazon

Technische Fragen

Ja.

IFTTT kann über Webhooks genutzt werden. Die verfügbaren Webhooks werden nach einem erfolgreichen Verbindungstest angezeigt. Für die Nutzung muss ein API Schlüssel generiert und mit 'Daten speichern' gespeichert werden. Der Zugriff wird auf eine gewisse Anzahl an Schaltbefehlen pro 10 Minuten limitiert.

Auf IFTTT wird für den 'THAT'-Teil 'Webhooks' > 'Make a web request' ausgewählt.
Folgende Einstellungen sind zu tätigen:
- URL: Die generierte URL
- Method: GET
- Content Type: text/plain

Ja.

Verbindungen über IPv6 sollten automatisch erkannt und entsprechend verarbeitet werden. Damit sind auch Anschlüsse erreichbar, die nur über DS-Lite angebunden sind.

Alexa ruft eine festgelegte Funktion in AWS Lambda auf. Derzeit kann von Alexa ausschließlich auf Lambda zugegriffen werden.
Das übergebene Benutzer-Token wird über OAuth durch LWA gegen die Amazon-ID des Benutzers eingetauscht, dessen Daten anschließend aus AWS RDS geladen werden. Dort wurden durch die Website die Zugangsdaten der FRITZ!Box sowie weitere Einstellungen hinterlegt, beispielsweise ob eine IPv6-Verbindung genutzt werden muss.

Mit den Zugangsdaten wird auf die FRITZ!Box zugegriffen und die entsprechende Schalthandlung ausgelöst. Anschließend werden noch die verfügbaren Informationen der Smart Home Geräte geladen und zurück in die Datenbank geschrieben. Fragt Alexa nach einem Gerätezustand, so werden bevorzugt diese zwischengespeicherten Daten für eine Antwort verwendet.

Der Skill legt die gewünschte Schalthandlung in einer Warteschlange ab, die durch PHP-Skripte abgearbeitet wird. Diese übernehmen die Kommunikation mit der FRITZ!Box und sind auf AWS EC2 gehostet. Ist die Warteschlange nicht verfügbar, so wird die Nachricht via AWS SNS an eine zweite Lambda-Funktion gesendet, die die Kommunikation mit der FRITZ!Box übernimmt.

Google Assistant greift über das AWS API Gateway auf die gleiche Lambda-Funktion zu wie Alexa.

Für den Zugriff auf die FRITZ!Box wird das Home Automation HTTP Interface der FRITZ!Box benutzt.

Ja.

Das Repository befindet sich auf GitLab

Da ich hauptberuflich eher mit Siemens SPS arbeite und noch nicht allzu fit in C# bin, bitte ich um Nachsicht was die Quellcode-Qualität angeht. Änderungen gerne per Pull-Request auf den develop-Zweig.

Das Repository der Website befindet sich ebenfalls auf GitLab

Datenschutzhinweise


Die Datenverarbeitung erfolgt unter dem Grundsatz der Datensparsamkeit.

Dauerhaft in AWS RDS gespeichert werden: Amazon ID, FRITZ!Box Adresse, FRITZ!Box Benutzername, FRITZ!Box Passwort sowie eine Liste der gefundenen Smart Home Geräte. Diese Daten sind für die Verwendung des Skills oder der Action technisch zwingend erforderlich und können über das Menü 'Einstellungen' wieder aus der Datenbank gelöscht werden. Eine Nutzung des Skills oder der Action ist dann nicht mehr möglich und Bedarf einer erneuten Verbindung durch das Einstellungs-Menü.
Nach drei Monaten Inaktivität werden die Daten automatisch aus der Datenbank gelöscht.
Ein Deaktivieren des Skills in der Alexa-App oder auf der Alexa-Website löscht die Daten nicht, da Alexa bei Deaktivierung keine Nachricht an den verarbeitenden Dienst übergibt.
Dies gilt ebenso für Google Assistant.

Das FRITZ!Box Passwort wird als Klartext gespeichert. Dies ist für die technische Umsetzung zwingend erforderlich.

Die Amazon ID wird für jede Anwendung neu generiert und erlaubt ausschließlich Amazon eine Zuordnung zu einer Person.

Name und eMail-Adresse des Amazon-Kontos werden nicht abgerufen und übertragen.

Technisch bedingt wird die Nutzung des Skills durch Amazon und die Nutzung der Action durch Google protokolliert. Fehlermeldungen und Betriebsdaten werden in AWS CloudWatch aufbereitet. Diese sind nur mit der Amazon ID gekennzeichnet.

Der Zugriff auf den Webserver wird anonymisiert protokolliert.

Die Lambda-Funktion des Skills befindet sich in der AWS Region 'eu-west-1' (Irland). Dort werden auch Adresse, Benutzername und Passwort der FRITZ!Box in AWS RDS gespeichert. Anbieter ist Amazon Web Services AWS.

Die Website wird ebenfalls in dieser Region durch AWS EC2 gehostet.

Wird der Skill über amazon.com bezogen, befindet sich die verarbeitende Lambda-Funktion in der AWS Region 'us-east-1' (USA).

Die Daten werden verschlüsselt zwischen Amazon AWS und der FRITZ!Box ausgetauscht.

Die Verbindung zur Website wird über CloudFlare geleitet, so ist es CloudFlare grundsätzlich möglich die Daten mitzulesen, da die verschlüsselte Verbindung bei CloudFlare unterbrochen wird. Die Verbindung zwischen CloudFlare, der Website und dem Endnutzer ist aber insgesamt verschlüsselt.

Es werden FRITZ!Box Adresse, Benutzername und Passwort zwischen Amazon AWS und der FRITZ!Box ausgetauscht.
Es werden keine Daten an Dritte weitergegeben.

Die Verbindung zur Website wird über CloudFlare geleitet, so ist es CloudFlare grundsätzlich möglich die Daten mitzulesen, da die verschlüsselte Verbindung bei CloudFlare unterbrochen wird. Die Verbindung zwischen CloudFlare, der Website und dem Endnutzer ist aber insgesamt verschlüsselt.

Die Nutzung wird nicht systematisch analysiert.
Es werden Daten zur Fehlerbehebung aus dem Skill ausgeleitet und in AWS CloudWatch aufbereitet. Diese werden nach drei Tagen gelöscht und sind nur mit der Amazon ID gekennzeichnet.

Die Nutzung der Website wird nicht analysiert und nur anonymisiert protokolliert.

Die Social Media Plugins erfassen zunächst keine Daten über den Besuch der Website. Erst wenn Sie auf einen Link zum Teilen klicken, werden Daten an den entsprechenden Drittanbieter übertragen.

Es wird die Shariff Lösung von c't eingesetzt.

Es wird ein sogenanntes Session-Cookie gesetzt, das Sie während Ihres Aufenthaltes auf der Website - sofern Sie eingeloggt sind - identifiziert. Ihre Amazon ID wird durch den Anmeldevorgang bei Amazon bezogen und in dieser 'Session' abgelegt. Dies dient dem Schutz Ihrer Daten vor Fremdzugriffen. Das Session-Cookie ist nur begrenzte Zeit gültig und wird in der Regel bei Beenden des Browsers automatisch gelöscht.

Amazon setzt während des Anmeldevorganges zusätzlich ein eigenes Session-Cookie.

CloudFlare setzt beim Seitenaufruf ein eigenes Session-Cookie.

Alle Cookies sind keine Werbecookies, sondern dienen der technischen Umsetzung der Website.
Das Setzen der Cookies kann im Browser deaktiviert werden. Ein Abschalten der Cookies für diese Website führt dazu, dass sie nicht mehr ordnungsgemäß benutzt werden kann.

Kontakt


Fragen per eMail oder direkt in den Issue Tracker

Bitte beachten Sie: Da dies ein privates Projekt ist, ist Support leider nur eingeschränkt möglich

Raphael Pala
Leimbachstraße 89
57074 Siegen