Sprachsteuerung für Domoticz mit Google Now

Bei Siio bin ich auf einen tollen Beitrag und Videos gestossen, wie man die Beleuchtung im SmartHome mit Google Now, Tasker und ein paar Plugins vom Handy aus steuern kann.

Das Ganze geht natürlich auch mit Domoticz. Wesentlicher Unterschied ist nur das verwendete Kommando und an welche Serveradresse es geschickt werden soll. Um herauszufinden, welche API Kommandos Domoticz anbietet, sollte man sich das hier ansehen.

Ein einfacher Befehl, den das Handy an eure Domoticz-Installation schicken muss, um z.B. eine Lampe einzuschalten, lautet:

http://$DOMO_IP:$DOMO_PORT/json.htm?type=command&param=switchlight&idx=$LAMPE_IDX&switchcmd=On

Wie die Variablen mit der Domoticz IP und dem Port, auf dem es bei euch läuft ersetzt werden müssen und dass auch die idx der jeweiligen Lampe eingetragen werden muss, ist glaube ich selbsterklärend.

Damit es funktioniert, ist es wichtig zu wissen, dass das Ganze case-sensitiv ist, das Kommando On oder Off muss also tatsächlich am Anfang groß geschrieben werden, das ist ein häufiger Fehler.

Zum verwendeten AutoVoice Plugin gibt es noch zu sagen, dass die kostenlose Variante in der Erkennung der Wörter auf 4 Zeichen begrenzt ist, das war mir zu Beginn nicht aufgefallen und hatte deswegen dafür gesorgt, dass meine vergebenen Kommandos nicht erkannt wurde. Beschränkt man sich allerdings auf 4 Zeichen funktioniert es auch so.

Aldi IP Kamera in Domoticz einbinden

Inzwischen bin ich meinen Versuchen der Home Automatisierung dann doch bei domoticz gelandet. Ich will hier kurz beschreiben, wie die Einbindung der Maginon IP-WLAN Kamera in domoticz funktioniert. Dabei gehe ich davon aus, dass die Kamera bereits funktionsfähig und in das Netzwerk eingebunden ist.

Hinzugefügt wird die Kamera über: Einrichtung > weitere Optionen > Kameras und dann den Button oben rechts um einen neuen Eintrag hinzuzufügen.

domoticz ip-cam

domoticz ip-cam

Benutzer und Passwort ist jeweils das, was bei der Einrichtung der Kamera vergeben wurde. Wichtig ist der letzte Eintrag für die Bild URL, hier muss Folgendes eingetragen werden:

/videostream.cgi?user=#USERNAME&pwd=#PASSWORD&resolution=64&rate=0

#USERNAME und #PASSWORD sind domoticz Variablen, die sich auf die beiden Felder weiter oben beziehen und mit den jeweilgen Werten automatisch ersetzt werden, Benutzer und Passwort müssen also hier nicht im Klartext eingetragen werden.

Verbindung testen, wenn alles funktioniert, die Kamera über ADD hinzufügen, fertig.

 

Domoticz JSON API testen

Zugegeben eine relativ spärliche Überschrift, die daher rührt, dass ich Domoticz als Homeautomatisierungslösung verwende. Domoticz bietet eine JSON Api an, über die sich die konfigurierten Geräte auslesen, bzw. steuern lassen indem man ein Statusupdate oder Ähnliches auf die Schnittstelle schickt. Das benutze ich z.B. um Statusinformationen meiner Synology Diskstation per snmp Cronjob auszulesen und in Domoticz zu aktualisieren.

Zu Testzwecken war ich auf der Suche nach einem Browserplugin, oder etwas ähnlich Unkompliziertem, um die schnell und ohne großen Aufwand mit der Domoticz API zu spielen. Es gibt verschiedene Lösungen für verschiedene Browserolattformen, ich habe mich ohne großes Ausprobieren für REST-Easy entschieden, das erfüllt meine Anforderungen.

Am Beispiel, Lichtschalter aus der domoticz-Installation abzurufen, (http://192.168.102.102:8888/json.htm?type=command&param=getlightswitches) sieht das dann so aus, die Beispielinstallation verwendet keine Authentifizierung:

json-api-client

json-api-client

uns zeigt im Reiter „Rohdaten“ folgendes Ergebnis:

{
   "result" : [
      {
         "IsDimmer" : true,
         "Name" : "RGBW-Controller-1 ",
         "SubType" : "RGBW",
         "Type" : "Lighting Limitless/Applamp",
         "idx" : "2"
      }
   ],
   "status" : "OK",
   "title" : "GetLightSwitches"
}