Der Torantriebhersteller Marantec hat vor einigen Jahren das System maveo Connect entwickelt, welches vom Fertiggaragenhersteller Zapf unter dem Produktnamen Zapf connect vertrieben wird.
In diesem Artikel werde ich nur noch von Connect sprechen und meine damit sowohl Zapf, als auch maveo, da diese grundsätzlich identisch sind. Zapf nutzt nur die Whitelabeling Lösung von Marantec.
Im Dezember 2020 wurde der Connect App dann die lange ersehnte "Drittanbieter Anwendungszugriff" Funktionalität spendiert, die ein Öffnen der UDP- und/oder TCP-Ports ermöglicht und sowohl ein Lesen von Werten, als auch ein Schreiben ermöglicht, um den Garagenantrieb zu steuern.
In diesem Artikel möchte ich meine Erfahrungen damit mit Euch teilen und aufzeigen, wie ich sowohl die Steuerung via Loxone, als auch mit Hilfe von Node Red die Bedienung durch Alexa und Google Assistant realisiert habe.
Werte lesen über virtuellen Eingang VI
Ich habe hier einen virtuellen UDP Eingang verwendet und für "XY Connect" benannt, die IP Adresse der Box und den Port 2784 gesetzt
Da Loxone im Baustein "Tor" nur mit den digitalen Statuseingängen Tor ganz offen und Tor ganz geschlossen etwas anfangen kann, nutze ich nur diese beiden Eingangswerte von der Connect Box (Es gibt Stand Januar 2021 folgende Zustände seitens der Connect Box: open, closed, opening, closing, lightOn, lightOff) |
Erstellung der virtuellen Eingangsbefehle nach folgendem Schema
Befehlserkennung:
Status | Befehlserkennung |
---|---|
Tor geöffnet | S;<Name des Garagentors gemäß Connect App>;open\n |
Tor geschlossen | S;<Name des Garagentors gemäß Connect App>;closed\n |
Tor öffnet | S;<Name des Garagentors gemäß Connect App>;opening\n |
Tor schließt | S;<Name des Garagentors gemäß Connect App>;closing\n |
Licht am Torantrieb an | S;<Name des Garagentors gemäß Connect App>;lightOn\n |
Licht am Torantrieb aus | S;<Name des Garagentors gemäß Connect App>;lightOff\n |
S steht für Status |
Erstellung virtueller Ausgangsbefehle
Befehl | Befehl bei EIN |
---|---|
Tor öffnen | C;<Name des Garagentors gemäß Connect App>;open |
Tor schließen | C;<Name des Garagentors gemäß Connect App>;close |
C steht für Command |
Da mein vornehmliches Ziel war, das Tor dann auch per Sprache steuern zu können, habe ich auf mein Node-RED Setup mit Alexa und Loxone zurückgegriffen, das ich schon für die Lampen und Rolläden verwende und später noch eine Google Assistant Anbindung dazugebaut.
Folgende Node-RED Paletten sind hier in Verwendung:
node-red-contrib-alexa-home https://flows.nodered.org/node/node-red-contrib-alexa-home (lokal, sehr stabil)
node-red-contrib-googlehome https://flows.nodered.org/node/node-red-contrib-googlehome (leider keine rein lokale Lösung)
node-red-contrib-loxone https://flows.nodered.org/node/node-red-contrib-loxone
Die Links zu entsprechenden Guides versuche ich noch, wieder zu finden und verlinke diese.
Die Funktionen waren hier für mich als Nicht-Anwendungsentwickler eigentlich die größte Herausforderung, aber was lange wärt...
Was man im unteren Screenshot sehen kann, ist, dass ich bei Google Assistant direkt mit dem Torantrieb sprechen und öffnen und schließen befehlen kann. Alexa ist da leider etwas eingeschränkter, weil es sich hier um ein Hue-Imitat handelt. Das heißt, dass die Geräte in den linken Bausteinen quasi als Lampen in Alexa angelegt sind.
In Google Home habe ich hier tatsächlich eine Tür.
Ich habe Subflows für die Funktionen erstellt, um diese immer wieder aufrufen und verwenden zu können, ist aber für den Anfang nicht nötig. Wichtig ist die Funktion, welche für Beleuchtung ausgelegt ist, aber funktioniert.
if(msg.payload.command == "off" || !msg.payload.on) { msg.payload = "off"; } else if(msg.payload.command == "dim") { msg.payload = msg.payload.bri_normalized } else if(msg.payload.command == "color") { msg.payload = ""; } else { msg.payload = "on"; } return msg; |
Funktion für Übersetzung GHome zu Loxone
if(msg.payload.params.openPercent >0) { msg.payload = "open"; } else { msg.payload = "close"; } return msg; |
|