Skip to end of metadata
Go to start of metadata

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.

Schritt-für-Schritt-Anleitung zur Verbindung der Connect Box mit Loxone Miniserver

  1. Sicherstellen, dass die Connect Box eine feste IP Adresse in eurem Netzwerk erhält. Hierzu bitte die DHCP-Reservierung des Routers für die Mac-Adresse der Box einrichten
  2. Connect App
    1. Start der Connect App
    2. Wechsel zu Einstellungen (Zahnrad unten rechts)
    3. Tippen auf "Box"
    4. Ganz nach unten Scrollen und Auswahl Auswahl "Drittanbieter Anwendungszugriff"
    5. Aktivieren von UDP Steuerung auf Port 2784 und/oder TCP auf Port 2785 (entsprechend sind später in Loxone Config die Adressen zu setzen)
    6. Prüfen des Garagenantriebsnamens auf der Home-Seite (wird gleich wichtig für die Befehlserstellung)
  3. Loxone Config
    1. Werte lesen über virtuellen Eingang VI

      1. 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)

      2. Erstellung der virtuellen Eingangsbefehle nach folgendem Schema
        Befehlserkennung:

        StatusBefehlserkennung
        Tor geöffnetS;<Name des Garagentors gemäß Connect App>;open\n
        Tor geschlossenS;<Name des Garagentors gemäß Connect App>;closed\n
        Tor öffnetS;<Name des Garagentors gemäß Connect App>;opening\n
        Tor schließtS;<Name des Garagentors gemäß Connect App>;closing\n
        Licht am Torantrieb anS;<Name des Garagentors gemäß Connect App>;lightOn\n
        Licht am Torantrieb ausS;<Name des Garagentors gemäß Connect App>;lightOff\n

        S steht für Status

      3. Befehle mit Tor-Baustein auf Do (geöffnet) und Dc (geschlossen) verbinden
    2. Werte schreiben / Garagentorantrieb steuern
      1. Tor-Baustein konfigurieren - In meinem Fall habe ich etwa 20 Sekunden für eine Auf-Fahrt und 25 Sekunden für eine Zu-Fahrt. Die Anschlussart des Antriebs ist "direkt". 
      2. Erstellung virtueller Ausgang "XY Connect" mit Adresse für Beispiel UDP "/dev/udp/IP-Connect-Box/2784"
      3. Erstellung virtueller Ausgangsbefehle

        BefehlBefehl bei EIN
        Tor öffnenC;<Name des Garagentors gemäß Connect App>;open
        Tor schließenC;<Name des Garagentors gemäß Connect App>;close

        C steht für Command

      4. Befehle mit Tor-Baustein auf Qo (öffnen) und Qc (shließen) verbinden
      5. Um einen Taster zu verwenden, der sonst nur für ein sowieso bewegungsgesteuertes Außenlicht (nicht) verwendet wird, habe ich dann noch zur Funktion Mehrfachklick gegriffen und den einfachen Klick auf den Eingang Tr gesetzt. So kann das Tor darüber geöffnet, gestoppt und weiter geöffnet werden oder in die andere Richtung. Ein Richtungswechsel nach Stoppen scheint durch den Tor-Baustein nicht vorgesehen zu sein.

Lösung für Alexa und Google Assistant Anbindung via Node-RED

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.

Alexa

  1. Installation Node-RED https://www.loxwiki.eu/x/zAEWAQ
  2. Installation der Paletten (selber Artikel wie bei 1.)
    1. node-red-contrib-alexa-home unter Beachtung der Informationen auf https://flows.nodered.org/node/node-red-contrib-alexa-home
    2. node-red-contrib-loxone unter Beachtung der Informationen auf https://flows.nodered.org/node/node-red-contrib-loxone
  3. Anlage Alexa Controller in Node-RED angelegt werden, sowie die Nodes für die "Lampen"/ Befehle (bitte hier auch die Erläuterungen zur Einrichtung auf der Node Red Seite beachten) angelegt werden.
  4. 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. (wink)

    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;
  5. Verbinden der Nodes mit der Funktion
  6. Suche nach neuen Geräten auf https://alexa.amazon.de/spa/index.html?#appliances oder in der Alexa App
  7. Test (smile)

Google Home / Assistant

  1. Installation Node-RED https://www.loxwiki.eu/x/zAEWAQ
  2. Installation der Paletten (selber Artikel wie bei 1.)
    1. node-red-contrib-googlehome unter Beachtung der Informationen auf https://flows.nodered.org/node/node-red-contrib-googlehome
      1. Registrierung
      2. Anlage des Geräts vom Typ "Door" mit entsprechendem Bezeichner Garagentor und Raum Garage
      3. Anbindung an Google Konto gemäß Anleitung
    2. node-red-contrib-loxone unter Beachtung der Informationen auf https://flows.nodered.org/node/node-red-contrib-loxone
  3. Anlage Google Home Node und Verbindung mit registriertem Konto aus Punkt 2.a.
  4. Funktion für Übersetzung GHome zu Loxone

    if(msg.payload.params.openPercent >0) {
        msg.payload = "open";
    } else {
        msg.payload = "close";
    }
    return msg;
  5. Test (smile)

Verwandte Artikel




14 Comments

  1. Hi Thomas,

    vielen Dank für deine super Anleitung...

    Bei mir kommt leider kein Impuls am VI an, im UDP Monitor wird der geschlossen oder geöffnet befehlt zwar gesendet und auch dem richtigen VI zugeordnet aber in der Config kommt kein Impuls an...

    Hast du eine Idee was das sein könnte?

  2. Hi Andreas J. ,

    gerne. Freut mich, dass das noch jemand nutzt. (smile)

    Also um hier sicherzugehen, dass Du auch wirklich den korrekten Eingangsbefehl bekommst, solltest Du mit der Lernen-Funktion vom UDP-Monitor arbeiten.

    Außerdem beim VI unbedingt darauf achten, dass Du neben der korrekten IP auch den korrekten Port nutzt: 2784 für UDP

    Wenn es beim UDP-Monitor ankommt, kann es eigentlich nur irgendwo an der Konfiguration liegen, da es dann schon einmal richtig ankommen sollte.

    Ach und nochmal ein Hint: Garagentor heißt es nur bei mir. Dein Torantriebsname ist vielleicht Garage, Tor, Connect oder was auch immer Du da ausgewählt hast. Das muss auch matchen, solltest Du aber ja auch über den UDP Monitor sehen und im Eingangsbefehl dann eben entsprechend angeben, dann sollte das schon werden. (smile)


  3. Hi Thomas R. ,

    bei mir kommt der Befehel im Monitor an aber es wird jetzt auch ein Impuls gesendet... Aber der ist zu kurz dass dieser nur mittels Zähler ausgewertet werden konnte...

    Man bräuchte doch einen Permantenten Impuls bis zur nächsten Änderungen oder?


  4. Nope, ich sehe die Impulsauslösung in der Liveview auch nicht, jedoch sehe ich, wenn ich das Tor z.B. geschlossen habe, das auch in der Visualisierung in App / Webinterface korrekt.

    Ach zum Tor-Baustein noch ein Punkt. Die Anschlussart Antrieb muss auf direkt stehen! Sollte für die Erkennung nicht relevant sein, aber für die Steuerung dann im zweiten Schritt.

  5. Das funktioniert bei mir leider nicht....

  6. Hm, das kann ich mir leid gerade nicht erklären. Falls mir noch was einfällt, lasse ich es an dieser Stelle wissen.

  7. Laut Loxone muss der Impuls doch am Torbaustein permanent aktiv sein dass es funktioniert oder?


    DoStatus Tor offenEingang für Endschalter oder Kontakt. Do = 1, wenn Tor ganz offen0/1 –
    DcStatus Tor geschlossenEingang für Endschalter oder Kontakt. Dc = 1, wenn Tor ganz geschlossen0/1 –

    Hab jetzt einen Radiotaster dazwischen gehängt jetzt funktioniert es...

  8. Hast Du dann auch noch einen Status-Baustein reingepackt, um den dann nicht mehr aktiven Zustand (bei Öffnen also z.B. geschlossen) auf 0 zu setzen oder wie löst Du das auf?

    Zeigt es dir dann in der Visualisierung auch an, wenn das Tor gerade öffnet oder hast Du dann nur geschlossen und geöffnet als Zustände in der Visualisierung?

  9. Hi Thoams,

    ich habe den UDP von Tör geöffnet auf I1 und dieser sendet einen permanenten Impuls mit Q1 auf meinen Torbaustein auf Do solange bis ich einen UDP Befehl empfange mit Tör geschlossen den habe ich auf I2 gehängt und dieser gibt dann den Impuls mit Q2 auf Dc...

    Nein ich sehe im Status nur geschlossen oder geöffnet...

  10. Thomas R. @Kommt bei dir jeder UDP Befehl an? Bei mir klappt es leider nicht immer. 

  11. Ne, leider nicht.
    Interessanterweise zu 99 Prozent über die Sprachbefehle, aber gerade bei Erstbefehlen nach längerer Zeit über meinen Taster vllt zu 33%. Auch über TCP via UDP2TCP bekomme ich keine höhere Stabilität.

  12. Wie stabil ist denn deine Verbindung zur Box?

    1. Da fehlt sich nichts, wenn ich über Zapf Connect verbinde, tut es dann auch.

  13. Mir ist aufgefallen dass es häufig nach einem MS Neustart auftritt. Was machst du dann dass du wieder ein Signal bekommst?