Letztes Jahr haben wir Project Things von Mozilla angekündigt. Project Things ist ein Framework aus Software und Diensten, das die Kommunikationslücke zwischen den vernetzten Geräten überbrücken kann, indem es URLs für vernetzte Geräte bereitstellt.
Wir freuen uns darüber, heute die neueste Version des Things Gateway zu präsentieren und Dir zu zeigen, wie Du damit Dein Zuhause direkt und ohne Mittelsmann über das Internet überwachen und steuern kannst.
Anstatt für jedes neu erstandene Smart Home Gerät eine andere mobile Anwendung zu installieren, kannst Du alle Deine Geräte über eine einzige sichere Weboberfläche verwalten. Dieser Blog Post erklärt Dir, wie Du Dein eigenes Smart Home mit dem Things Gateway auf einem Raspberry Pi einrichtest und wie Du es verwenden kannst, um bestehende Smart-Home-Produkte verschiedener Marken mithilfe des offenen Webs zu verbinden.
Es gibt viele spannende neue Funktionen in der neuesten Version des Gateways, darunter eine Regel-Engine, mit der Du “If this, then that”-Regeln für die Interaktion der Geräte einstellen kannst; eine Grundriss-Ansicht, um Geräte auf einer Karte Deines Hauses anzuordnen; eine experimentelle Sprachsteuerung und eine Unterstützung für viele neue Arten von Geräten. Darüber hinaus gibt es ein brandneues Add-On-System für die Unterstützung neuer Protokolle und Geräte sowie eine neue Möglichkeit, Anwendungen von Drittanbietern sicher für den Zugriff auf Dein Gateway zu autorisieren.
Hardware
Das erste, was Du tun musst, ist, Dir einen Raspberry Pi® Single Board Computer zu besorgen. Im aktuellen Raspberry Pi 3 wurde die WLAN und Bluetooth-Unterstützung bereits integriert, genauso wie der Zugriff auf GPIO-Ports für direkte Hardware-Verbindungen. Dies ist nicht unbedingt notwendig, da Du alternative Entwicklerboards oder sogar Deinen Laptop oder Desktop-Computer verwenden kannst. Der Raspberry Pi bietet derzeit allerdings die beste Nutzererfahrung.
Wenn Du Smart Home-Geräte mit anderen Protokollen wie Zigbee oder Z-Wave verwenden möchtest, musst Du in USB-Dongles investieren. Für Zigbee unterstützen wir aktuell den Digi XStick (ZB Mesh-Version). Für Z-Wave solltest Du jeden OpenZWave-kompatiblen Dongle verwenden können, aber bisher haben wir nur den Sigma Designs UZB Stick und den Aeotec Z-Stick (Gen5) getestet. Stelle sicher, dass Du das richtige Gerät für Deine Region erhältst, da die Z-Wave-Betriebsfrequenzen von Land zu Land variieren können. Außerdem benötigst Du eine microSD-Karte, auf die Du die Software aufspielen kannst. Wir empfehlen eine Kapazität von mindestens 4 GB.
Dann sind da noch die “Dinge” selbst, die Du vernetzen möchtest. Das Gateway unterstützt bereits viele verschiedene Smart Plugs, Sensoren und Smart Bulbs von vielen verschiedenen Herstellern mit Zigbee, Z-Wave und WiFi. Wirf einen Blick in das Wiki, um mehr über bereits getestete Geräte zu erfahren. Wenn Du Dich beteiligen möchtest: Wir sind wie immer auf der Suche nach Freiwilligen, die uns helfen, weitere Geräte zu testen. Teile uns mit, welche anderen Geräte Du gerne in Betrieb sehen würdest und überlege, ob Du nicht vielleicht auch Dein eigenes Adapter-Add-On entwickeln möchtest, damit es funktioniert (dazu später mehr)!
Wenn Du noch nicht bereit bist, in diese ganze Hardware zu investieren, aber die Gateway-Software ausprobieren möchtest, probiere doch das Virtual Thing Add-on aus. Dieses kannst Du nutzen, um Deinem Gateway virtuelle Geräte hinzuzufügen.
Software
Als nächstes musst Du das Things Gateway 0.3 Software-Image für den Raspberry Pi herunterladen und auf Ihre SD-Karte aufspielen. Es gibt verschiedene Möglichkeiten, dies zu tun. Wir empfehlen, Etcher zu verwenden. Dies ist eine grafische Anwendung für Windows, Linux und MacOS, mit der die Installation einfach und sicher funktioniert.
Wenn Du mit der Gateway-Software auf Deinem Laptop oder Desktop-Computer experimentieren möchtest, kannst Du die Anweisungen auf GitHub befolgen, um sie herunterzuladen und selbst zu erstellen. Wir haben auch ein experimentelles OpenWRT-Paket und Unterstützung für weitere Plattformen ist bereits in Vorbereitung. Sprich uns einfach an, falls Du eine andere Plattform verwenden möchtest.
Erstinstallation
Bevor Du das Gateway mit eingesteckter SD-Karte hochfahren kannst, stelle unbedingt sicher, dass alle Zigbee- oder Z-Wave-USB-Dongles eingesteckt sind.
Wenn Du das Gateway zum ersten Mal bootest, fungiert es als WLAN-Hotspot mit dem Netzwerknamen (SSID) “Mozilla IoT Gateway”. Du kannst Dich mit Deinem Laptop oder Smartphone mit diesem WLAN-Hotspot verbinden, der Dich automatisch zu einer Setup-Seite führt. Alternativ kannst Du den Raspberry Pi auch direkt über ein Netzwerkkabel mit Deinem Netzwerk verbinden und gateway.local in Deinen Browser eingeben, um die Installation zu starten.
Nun hast Du die Möglichkeit, Dich mit einem WLAN-Netzwerk zu verbinden:
Wenn Du Dich für eine Verbindung zu einem WLAN-Netzwerk entscheidest, wirst Du nach dem WLAN-Passwort gefragt und musst dann sicherstellen, dass Du mit diesem Netzwerk auch verbunden bist, um mit der Einrichtung fortzufahren.
Als nächstes wirst Du aufgefordert, eine spezifische Subdomain für Dein Gateway zu wählen, die automatisch ein SSL-Zertifikat für Dich mit LetsEncrypt generiert und einen sicheren Tunnel zum Internet einrichtet, sodass Du remote auf das Gateway zugreifen kannst. Du wirst nach einer E-Mail-Adresse gefragt, damit Du Deine Subdomain bei Bedarf wieder zurückfordern kannst. Du kannst auch Deinen eigenen Domainnamen verwenden, wenn Du den Tunneling-Service nicht nutzen möchtest. In diesem Fall musst Du jedoch Dein eigenes SSL-Zertifikat generieren und DNS selbst konfigurieren.
Du wirst daraufhin sicher zu Deiner neuen Subdomain umgeleitet und aufgefordert, Dein Benutzerkonto auf dem Gateway anzulegen.
Anschließend wirst Du automatisch am Gateway angemeldet und bist nun bereit, Geräte hinzuzufügen. Beachte, dass das Webinterface des Gateways eine Progressive Web App ist, die Du mit Firefox auf Deinem Smartphone zum Startbildschirm hinzufügen kannst.
Geräte hinzufügen
Um Geräte zu Deinem Gateway hinzuzufügen, klicke auf das “+”-Symbol unten rechts auf dem Bildschirm. Dadurch werden alle angeschlossenen Adapter in den Pairing-Modus versetzt. Befolge die Anweisungen für Dein individuelles Gerät, um es mit dem Gateway zu koppeln (dazu muss meist eine Taste am Gerät gedrückt werden, während sich das Gateway im Kopplungsmodus befindet).
Geräte, die erfolgreich mit dem Gateway gepaart wurden, werden im Bildschirm “Gerät hinzufügen” angezeigt. Du kannst ihnen einen Namen Deiner Wahl geben, bevor Du sie auf dem Gateway speicherst.
Die hinzugefügten Geräte werden dann in der Geräte-Übersicht angezeigt.
Mit einem Klick kannst du Geräte ein- und ausschalten oder dir eine erweiterte Ansicht zu jedem Gerät anzeigen lassen. Ein Smart Plug hat beispielsweise einen Ein-/Ausschalter und informiert außerdem über seinen Energieverbrauch, die Spannung, Stromstärke und Frequenz.
Mit einem dimmbaren Farblicht kannst Du das Licht ein- und ausschalten, die Farbe einstellen und die Helligkeit einstellen.
Regel-Engine
Über das Hauptmenü gelangst Du zur Regel-Engine.
Die Regel-Engine erlaubt es Dir, “If this, then that”-Regeln für die Interaktion von Geräten festzulegen. Beispiel: “Wenn Smart Plug A eingeschaltet ist, schalte Smart Plug B ein”.
Um eine Regel zu erstellen, klickst Du zuerst auf die Schaltfläche “+” unten rechts in der Regel-Ansicht. Ziehe dann die Geräte per Drag & Drop auf den Bildschirm und wähle die Eigenschaften der Geräte, die Du miteinander verbinden möchtest.
Du kannst Deiner Regel einen Namen geben und dann auf Zurück klicken, um zum Regelbildschirm zurückzukehren. Dort wird Dir angezeigt, dass Deine neue Regel hinzugefügt wurde.
Grundriss-Ansicht
Wenn Du im Hauptmenü auf die Option “Floorplan” klickst, kannst Du Geräte auf einem Grundriss Deines Zuhauses anordnen. Klicke auf die Schaltfläche “Bearbeiten” (“Edit”) unten rechts auf dem Bildschirm, um ein Grundrissbild hochzuladen.
Du musst das Grundrissbild selbst erstellen. Dies kann mit einem Online-Tool oder einem Grafik-Editor geschehen, oder scanne einfach eine handgezeichnete Karte Deines Hauses! Eine SVG-Datei mit weißen Linien und transparentem Hintergrund funktioniert am besten.
Du kannst Geräte auf dem Grundriss anordnen, indem Du sie auf dem Bildschirm verschiebst.
Klicke einfach auf “Speichern” (“Save”), wenn Du fertig bist, und sieh Dir alle Ihre Geräte im Layout an. Du kannst sie anklicken, um in die erweiterte Ansicht zu gelangen.
Add-ons
Das Gateway verfügt über ein Add-On-System, mit welchem Du die Möglichkeiten des Systems erweitern kannst. Dieses beinhaltet die standardmäßig installierten Zigbee- und Z-Wave-Adapter-Add-Ons, aber Du kannst über das Add-On-System unter “Settings” im Hauptmenü auch Unterstützung für zusätzliche Adapter hinzufügen.
Klicke bei jedem Add-On, das Du installieren möchtest, auf die Schaltfläche “+ Add”.
Es gibt zum Beispiel ein Virtual Things Add-On, das es Dir erlaubt, mit verschiedenen Arten von Web-Geräten zu experimentieren, ohne dass Du eine echte Hardware kaufen musst. Klicke auf die Schaltfläche “Hinzufügen” (“Add”) unten rechts auf dem Bildschirm, um eine Liste der verfügbaren Add-Ons anzuzeigen.
Klicke bei allen Add-Ons, die Du installieren möchtest, auf die Schaltfläche “+ Add”. Wenn Du zurück zum Add-Ons-Bildschirm navigierst, siehst Du die Liste der installierten Add-Ons und kannst diese aktivieren oder deaktivieren.
Im nächsten Blog Beitrag erfährst Du, wie Du Deine eigenen Adapter-Add-Ons in der Programmiersprache Deiner Wahl (z.B. JavaScript, Python oder Rust) erstellen, verpacken und freigeben kannst.
Sprachsteuerung
Das Gateway verfügt außerdem über eine experimentelle Sprachsteuerung, die standardmäßig deaktiviert ist. Du kannst diese Funktion durch “Experiments” in den Einstellungen (“Settings”) aktivieren.
Sobald Sprachbefehle über die Einstellung “Speech Commands” aktiviert werden, erscheint ein Mikrofonsymbol oben rechts auf dem Bildschirm.
Wenn das Smartphone oder der PC, den Du verwendest, über ein Mikrofon verfügt, kannst Du das Mikrofon antippen und einen Sprachbefehl wie “Licht in der Küche einschalten” ausgeben, um Geräte zu steuern, die mit dem Gateway verbunden sind.
Die Sprachsteuerung ist derzeit in einem experimentellen Stadium und verfügt noch nicht über ein allzu großes Vokabular. Daher ist es sinnvoll, häufig verwendete Worte wie Küche, Balkon, Wohnzimmer und dergleichen zu benutzen. Zusammen mit unserem Voice-Team arbeiten wir an einer kontinuierlichen Verbesserung dieser Funktion.
Updates
Deine Gateway-Software sollte sich automatisch mit den Over-the-Air-Updates von Mozilla auf dem Laufenden halten. Welche Version der Gateway-Software Du verwendest, erfährst Du, wenn Du in den Einstellungen (“Settings”) auf “Updates” klickst.
Wie geht es weiter?
Für die nächste Version plant das Mozilla IoT-Team, neue Gateway-Adapter zu entwickeln, um weitere Smart-Home-Geräte mit dem Web of Things zu verbinden. Weiterhin arbeiten wir an einer Sammlung von Software-Bibliotheken in verschiedenen Programmiersprachen. Wir wollen Hackern und Machern dabei helfen, ihre eigenen nativen Programme für Systeme wie Arduino und Android Things zu entwickeln, die die Web Thing API direkt bereitstellen.
Du wirst dann in der Lage sein, diese Geräte über ihre URL dem Gateway hinzuzufügen.
In der W3C Web of Things Interest Group werden wir auch weiterhin dazu beitragen, ein “Web Thing Description”-Format und eine API zu standardisieren. Durch die Bereitstellung von URLs für verbundene Geräte und die Verwendung eines Standard-Datenmodells sowie einer API können wir dazu beitragen, mehr Interoperabilität im Internet der Dinge zu schaffen.
Im nächsten Blog Post erklären wir, wie Du Dein eigenes Adapter-Add-On mit der Programmiersprache Deiner Wahl erstellen, verpacken und freigeben kannst, um neue Funktionen zum Things Gateway hinzuzufügen.
Wie Du mitmachen kannst
Wir brauchen Deine Hilfe! Der einfachste Weg, einen Beitrag zu leisten, ist klar: Lade das Things Gateway Software-Image herunter (0.3 zum Zeitpunkt der Veröffentlichung dieses Blog Posts) und teste es selbst mit einem Raspberry Pi, um uns bei der Fehlersuche zu unterstützen und neue Funktionen vorzuschlagen. Unseren Quellcode und die Dateiausgaben kannst Du auf GitHub einsehen. Hilf uns auch dabei, Probleme mit Pull-Requests zu beheben und steuere Deine eigenen Adapter für das Gateway bei.
Wenn Du Fragen hast, findest Du uns unter #iot auf irc.mozilla.org oder unter dem Thema “Mozilla IoT” auf Discourse. Um über die aktuellen Entwicklungen auf dem Laufenden gehalten zu werden, folge @MozillaIoT auf Twitter. Weitere Informationen findest Du auf iot.mozilla.org.
In diesem Sinne: Happy Hacking!