Sprachsteuerung eines Smart Homes auf Z-Wave über Siri

    Die Idee, ein Smart Home mit Sprachbefehlen zu steuern, wurde vor langer Zeit geboren. Und in einigen Systemen ist dies irgendwie implementiert. Siri ist ein guter und praktischer Sprachassistent für iPhone-Besitzer. Versteht die menschliche Sprache, bequem. Aufgrund des geschlossenen Protokolls wird es jedoch nicht für die Sprachsteuerung von "intelligenten" Geräten verwendet. Es ist gut, dass Apple HomeKit hat - eine Art „Tunnel“ zum Empfangen von Befehlen von Siri-Smart-Geräten.

    Bild

    In diesem Artikel werde ich die Installation und Konfiguration eines Gateways für Siri zur Interaktion mit Heimautomationsgeräten beschreiben und einige Funktionen verschiedener Versionen erläutern.
    Die Hauptsteuerung meines Smart Homes ist Vera3. Es steuert jeweils Audio- / Videokomponenten und Z-Wave-Geräte. Nun, der „Zauberstab“ wird die Node-JS-Anwendung VeraHomeKitBridge sein. Im Folgenden schreibe ich, warum ich mich für diese Anwendung entschieden habe.
    Laden Sie das Archiv von GitHub herunter. Sie müssen alles irgendwo bereitstellen. Ich habe eine virtuelle Maschine dafür. Wer den Server nicht zu Hause hat, kann den Raspberry Pi für dieses Geschäft nutzen.

    Installationsvorgang
    Eine kurze Installationsanleitung befindet sich auf der Projektseite. Ich empfehle, zusätzlich die Anweisungen des Nachbarprojekts auf GitHub zu verwenden (meiner Meinung nach ist es verständlicher).
    Ich werde die Teams hier nicht vollständig kopieren. Ich werde die Punkte durchgehen:
    1. Installieren Sie die erforderlichen Pakete: nodejs, npm, git-core, libnss-mdns und libavahi-compat-libdnssd-dev .
    2. Kopieren Sie HAP-NodeJS nach lib /. Download es separates Archiv hier .
    3. Installieren Sie Plugins, um mit der Anwendung zu arbeiten.
    4. Bearbeite config.json. Wir geben die IP-Adresse des Vera-Controllers ein, und Sie können den PIN-Code auch in Ihren eigenen ändern.
    5. Versuch, die Anwendung mit dem Befehl node app.js auszuführen

    Es wird empfohlen, sofort die neueste Version von nodejs zu installieren. Ich habe die Version 0.10.29 aus den Standard-Debian-Repositories installiert. Aufgrund des Fehlers "Fehler: 'REPLACE_INVALID_UTF8' ist kein Mitglied von ..." ist etwas passiert. Wir verbinden ein anderes Repository und installieren von dort.

    curl -sL https://deb.nodesource.com/setup | sudo bash -
    apt-get install nodejs
    

    danach sollte die version 0.10.44 sein.

    Auch während des Startvorgangs werden Fehler bezüglich der fehlenden Plugins angezeigt. Wir setzen:
    npm install имя_пакета
    

    Der Fehler "... ungültiger ELF-Header" kann weiterhin auftreten. Um zu arbeiten, müssen Sie zu lib / HAP-NodeJS gehen und dies tun
    npm rebuild
    

    Infolgedessen sollte es: das Homekit für Vera erfolgreich starten und die Szenen und Schalter, die der Controller sieht, automatisch abrufen. In diesem Fall ist die Hälfte der Arbeit erledigt.
    Wenn in Zukunft keine Fehler auftreten, können Sie die Anwendung mit dem folgenden Befehl im Hintergrund ausführen:
    forever start app.js
    

    Plugin vorinstallieren
    npm install forever
    

    Dazu müssen Sie natürlich sicherstellen, dass Sie sich im VeraHomeKitBridge- Verzeichnis befinden . Richten Sie jetzt

    HomeKit auf dem iPhone ein und
    installieren Sie die Insteon + -Anwendung. Auf Wunsch können Sie auch andere kostenpflichtige Analoga auswählen. Hauptsache, sie arbeiten mit HomeKit.
    Schalten Sie das von Ihnen installierte Programm Einstellungen -> Datenschutz -> HomeKit ein.
    In den iCloud-Einstellungen müssen Sie einen Schlüsselbund erstellen.
    Wir gehen zum Insteon + Programm. Make Add Device. Als Nächstes sucht sie nach einem Zubehör, das mit HomeKit kompatibel ist. Wir haben einen laufenden Dienst mit HAP-NodeJS, der sich im selben lokalen Netzwerk wie das iPhone befinden sollte. Finde ein Accessoire und füge es hinzu. Geben Sie den in config.json angegebenen PIN-Code ein. Das erste Mal dauert die Zugabe ungefähr eine Minute. Wenn alles geklappt hat, sind alle Aktoren und Szenen von Vera in Insteon + sichtbar und funktionieren sogar beim Drücken.
    Aber ich habe eine Bewerbung von Vera. Ich kann es dort ausschalten. Insteon + wird für die Sprachsteuerung benötigt. Wählen Sie dazu in den Anwendungseinstellungen Gerät bearbeiten. Wählen Sie das Gerät aus und gehen Sie zum Feld "Siri-Steuerung". Dort müssen Sie den menschlichen Namen des Aktors oder Skripts eingeben. Wenn es sich beispielsweise um ein Beleuchtungsrelais handelt, nennen Sie es "Glühbirne" oder "Licht". Im Allgemeinen "Licht" - Siri hat ein allgemeineres Konzept. Versuchen Sie daher, bestimmte Namen zu verwenden: Bügeleisen, Wasserkocher, Fernseher, Fußbodenheizung ...
    Nachdem Sie die Geräte in der Anwendung in Räumen abgelegt haben, können Sie Befehle erteilen: „Licht in der Küche einschalten“ Siri „sieht“ die Namen der Räume. Sie können den Typ auch in den Geräteeinstellungen festlegen. Jetzt gibt es Licht und Fächer. Andere Typen können in Zukunft hinzugefügt werden. Jetzt ist es möglich, für ein Lichtrelais anzuzeigen, dass es hell ist. Dann antwortet das Gerät auf „Schalten Sie das Licht in der Küche ein“ und reagiert nicht, wenn es sich um einen Lüfter handelt. Im folgenden Video werde ich die Sprachsteuerung demonstrieren. Ich habe jedoch nicht viele Geräte, auf denen alle Sprachsteuerungsoptionen angezeigt werden. Bisher nur das Wirkprinzip. Und dann erst mit der Erweiterung von Geräten und Funktionalität von Insteon +.

    BildBild

    Wie ich bereits schrieb, können Sie Szenen durcharbeiten. Dies gibt uns die Möglichkeit, fast alles zu verwalten, was in der Benutzeroberfläche von Vera verfügbar ist. Alle Szenen sind in der Anwendung sichtbar und mit Sprachbefehlen verfügbar. Aus diesem Grund können Sie den Receiver oder das Fernsehgerät steuern, indem Sie zwei Szenen erstellen - Ein- und Ausschalten des Receivers. In Scene Faith sollten Sie Receiver - On und Receiver - Off anrufen. Dann können Sie die Befehle "Empfänger einschalten" und "Empfänger ausschalten" anstatt "Empfänger einschalten" bzw. "Empfänger ausschalten" eingeben.

    Was sonst?
    HomeKit öffnet die Tür zur Sprachsteuerung für nahezu jedes Hausautomationssystem. Hierfür gibt es ein umfassenderes Konzept - die Homebridge. Wo kann man Automatisierung anderer Hersteller stopfen. Nachdem derselbe GitHub ein Geräusch gemacht hat, finden Sie Steuerungsmechanismen für andere Controller und Plattformen: WeMo, PhilipsHue ... Vor fast einem Jahr stieß ich auf ein Plug-In für Vera, und in dieser Zeit hat er sich zum Besseren gewendet.
    Ich werde einige Funktionen hervorheben: Wenn Sie sich den Code ansehen, können Sie sehen, dass die Interaktion über das http-Protokoll erfolgt. Es funktioniert schneller als Analoga. Alle Geräte werden gleichzeitig als einzelnes Zubehör hinzugefügt. Bei Bedarf können Sie das gesamte System nach oben und unten erweitern.

    Einige Texte oder Übersetzungsschwierigkeiten
    Hier werde ich mich ein wenig auf die Teams für Siri konzentrieren. Wenn der Name des Geräts nicht explizit eingegeben wird, durchsucht Siri auf Ihre Anforderung das Internet und gibt diesem Gerät keinen Befehl. Und Teams verstehen das ganz anders. Manchmal müssen Sie "Einschalten ...", aber "Ausschalten ...". Andernfalls wird bei der Abfrage "Warmboden ausschalten" beispielsweise im Internet nach Informationen zum Ausschalten des Warmbodens gesucht.
    Es gibt allgemeine Befehle wie "Schalten Sie die Beleuchtung ein in ...", "Schalten Sie alles ein in ...", "Senken Sie die Vorhänge". Es gibt einen Befehl für "Schließen", "Öffnen". Aber in meinem Fall mit Hydrolock hat dieser Befehl nicht funktioniert. Er beschrieb das Gerät sowohl als "Wasser" als auch als "Kran". Der Befehl "Hahn in der Toilette schließen" sieht das Gerät hartnäckig nicht. Obwohl der Raum "Toilette" definiert. Eine kleine paradoxe Situation: Ich nenne das Hydrolock „Eisen“, ich gebe den Befehl „Eisen einschalten“ - es sperrt das Wasser. Ich nenne es "Wasser", "Wasserhahn" - es kriecht im Internet, um herauszufinden, wie man den Wasserhahn schließt. Im Allgemeinen scheint es mir beim Schließen, dass dieses Bundle nur mit bestimmten Geräten wie z. B. Sperren funktioniert. Dann sollte es aber im Gerätetyp entsprechend beschrieben werden. Und dann das Kommando „Haustür schließen“, das Siri richtig versteht.


    Das Video zeigt das Funktionsprinzip. Überlappung von Wasserwerken aus dem Relais, das in HomeKit nicht als Hydrolock oder Kran bezeichnet werden konnte.

    Verwenden Sie es im Allgemeinen, testen Sie die Funktionsweise anderer Geräte und verbessern Sie die Sprachsteuerung der Heimautomation.

    Jetzt auch beliebt: