Duofern Rolladenmotoren mit Homeassistant

English version of this post here
Homeassistant ist mein Frontend der Wahl für Hausautomatisierung. Schönes Interface, in Python geschrieben, und leicht anzupassen. Angefangen habe ich damit wegen des Mysensors-Supports.

Letztes Jahr ging es dann daran, die Rolladenmotoren auszusuchen. Leider versuchen die meisten Hersteller, ihre eigenen proprietären Lösungen in den Markt zu drücken. Homeassistant unterstützt zwar ein paar dieser Lösungen, aber man muss sich trotzdem noch oft ein schweineteures Gateway anschaffen, um mit den Komponenten reden zu können. Für mich war es zusätzlich schwierig, weil die installierten Rolläden mit einem Gurt daherkamen und der Rolladenkasten aus Stahlblech ist und so eine winzige Öffnung hat, dass es nicht mit vertretbarem Aufwand möglich ist, Rohrmotoren zu installieren.

Am Ende habe ich mich dann für Rademacher entschieden. Aus Faulheit: Gurtwickler für Einbau- oder Aufputzmontage mit Möglichkeit zur Funkfernbedienung. Die Entscheidung fiel auf sechs RolloTron Standard DuoFern. Homeassistant unterstützt zwar Duofern nicht von Haus aus. Die Perl-basierte Hausautomatisierung FHEM unterstützt aber das Duofern Protokoll mithilfe eines preislich akzeptablen USB-Sticks von Rademacher.
Duofern USB Stick

Ich traute mir zu, den Perl-Code für Homeassistant zu portieren. Nach ein paar Wochen hatte ich die Rolladensteuerung mit Homeassistant dann im Juni 2017 am Laufen. Pünktlich, um im Sommer die Rolläden nach dem Stand der Sonne zu fahren und das Haus schön kühl zu halten. Das Ergebnis findet sich als pyduofern auf meinem github.

21 Gedanken zu “Duofern Rolladenmotoren mit Homeassistant

  1. Hallo,
    versuche gerade mit deiner Anleitung einen Rademacher USBStick an den HA zu bekommen, habe aber Hassbian/Hassio und kann keinen udev ausführen :(.
    Wie kann ich den Stick so benennen, dass es für dein Script passt? Gibt es irgendwo ein Konfigfile, o.ä.???
    Gruß
    Andreas

    1. Hi Andreas,

      Ich habe noch nie hassio am laufen gehabt, und muss da erstmal rein schauen. Den udev Schritt kannst du dir sparen, wenn du herausfindest wie das device in hass.io heißt (typischerweise /dev/ttyUSB0 oder so). Der Schritt ist hauptsächlich für den Fall da dass man mehrere USB-Serial sticks hat (der duofernstick ist ein solcher). Dann kann es nämlich passieren dass bei einem boot der eine „/dev/ttyUSB0“ heißt, beim nächsten boot aber der andere. Über udev kann man das anhand der USB-Device id festlegen. Der trick wäre also, die config so zu schreiben, dass sie weiß wie der stick heißt, anstatt den stick so zu nennen wie es im config beispiel ist. Ich habe aber noch keine intuition dafür wie in hass.io serielle devices in den homeassistant container durchgeschleift werden – Mag sein dass dafür auch noch ein extraschritt erforderlich ist.

      Ich hab jetzt jedenfalls ein hassio installiert und werd schauen wie weit ich damit komme. Als ich mit Homeassistant angefangen habe gab es das noch nicht und jetzt ist mein ganzes Ökosystem auf raspbian basierend – da hatte ich bisher nicht die motivation auf hassio umzuziehen, auch wenn ich die Architektur interessant finde. Aber ein zweiter raspi zum basteln fliegt hier rum, da kann ich es zumindest anspielen.

      Hier zumindest schon mal jemand angedeutet, dass es bei ihm mit hassio funktioniert.
      Viele Grüße,
      Paul

      1. PS: gerade gesehen: das hassio command „hardware info“ sollte eine liste der seriellen geräte anzeigen. Bei mir ist gerade kein Stick angeschlossen, deshalb steht da nur /dev/ttyAMA0, aber ich würde wetten, dass der stick da auch auftaucht, wenn er angeschlossen ist.

      2. Hallo Paul,
        ich bin mal in die tiefen des Scripts abgestiegen 🙂 und das Thema ist, dass die serial-Routine den port nicht findet bzw. die Abfrage für die Zuweisung nicht funktioniert. Ich denke mal hier ist die Syntax die ich oder das script verwendet nicht korrekt. Als device gebe ich /dev/ttyUSB0 an und den findet er nicht. Der Stick ist aber unter Hassio sichtbar und spreche ihn ihn z.B. über ZWAVE Integration an, dann funktioniert er – halt nur nicht mit Rademacher 🙂
        Kannst du mir einen Tipp geben was ich in die configuration.yaml eintragen kann bzw. wo im script ich den port am sinnvollsten hinterlegen kann? Irgendwie stehe ich hier auf dem Schlauch oder sehe den Syntaxfehler bei mir nicht.

        VG
        Andreas

        1. Hallo Andreas,

          Bei mir sieht die config so aus:

          cover:
            - platform: duofern
              config_file: /home/pi/homeassistant/dufoern.json
              code: ffff
              serial_port: /dev/duofernstick
          

          ich würd als versuch vorschlagen:

          cover:
            - platform: duofern
              config_file: 
              code: ffff
              serial_port: /dev/ttyUSB0
          

          Es könnte Fehlermeldungen geben wenn du in der duofern.json und der configuration.yaml unterschiedliche ports konfigurierst.

          Falls es damit nicht funktioniert: Könntest du die section aus deiner config und dein home-assistant logfile schicken?

          Viele Grüße,
          Paul

  2. Hallo Paul,

    danke für Dein super Script. Läuft hervorragend auf meinem Raspi 3 und z-way-server.
    Steuere die RolloTron Modelle 18xx, 14xx, 25xx sowie den RolloPort SX5.

    Viele Grüße
    N3tt1

  3. Habe aktuell noch einen Pie mit FHEM am laufen. Nun hab ich das entdeckt… Mehr als genial. Kann mir jemand sagen, bevor ich mit dem rademacher Stick zu HA umziehe, welche Geräte schon unterstützt werden?

  4. Hallo, ich suche immer mal wieder nach Hausautomationssystemen, die Rademacher Duofern unterstützen und bin jetzt auf diesen Beitrag gestoßen und daher an HomeAssistant mit dem Rademacher Modul von Dir interessiert. Ich habe allerdings nich eine Frage: werden alle Duofern Geräte unterstützt? Falls nicht, wird der Umweltsensor/Wetterstation unterstützt?

  5. Hey, ich habe die Installationsanleitung auf Bitbucket gesehen.
    Soweit ich das aber sehe, ist die Anleitung nicht für HassOS gedacht, oder? Falls ja: wie führe ich die ersten Schritte dann aus?

    1. Hallo David, so weit ich weiß gibt es auch bei hassos wege, custom components zu installieren.

      Wenn du es probieren willst, müsstest du nach „hassos“ „custom components“ suchen, ich habe hassos selbst noch nicht groß benutzt.

      Um den richtigen Start zu finden, solltest du lieber die Anleitung auf pypi oder github verwenden, ich bin vor einiger Zeit von bitbucket auf github umgezogen und habe wohl vergessen den Link zu aktualisieren. (https://github.com/gluap/pyduofern)

  6. Hallo Paul,
    nach dem update auf die 34.1 sind bei den „cover“ in homeassistant die slider weg und es wird nur noch der Status „auf“ oder „zu“ angezeigt. Wird der Rolladen teilgefahren, dann kann homeassistant das nicht mehr anzeigen. Auch fehlt im entity der Eintrag für die aktuelle Position – so wie es vorher war. Lässt sich das wieder einschalten? Aktuell kann ein teilgefahrener Rolladen nicht mehr gesteuert werden bzw. für eine Automatisierung abgefragt werden.
    Gruß
    Andreas

  7. Hi i would like to buy some rollotron for home. What is scaring me is i’m a noob in home assistant. How’s going your work to make it more easily. Thanks. Best

  8. Hallo Paul,
    ich nutze bisher die FHEM-Integration. Diese habe ich an Home Assistant über MQTT ca. 2 Jahren ohne große Probleme angebunden. Jetzt wollte ich mittels dieser HA-hacs-Integration direkt auf HA umsteigen (ich nutze HA Docker).
    Da ein freundlicher (mir unbekannter) Nachbar das Wettermodul betreibt, zapfe ich dieses an (ohne dieses je gepairt zu haben). Kann ich die Wetterstation grundsätzlich und ohne Code aktivieren?
    Aus meiner Sicht fehlt neben einem Test noch ein Skript für Sensoren und Binärsensoren für HA. Wäre das viel Aufwand diese zu erstellen?
    Ich könnte gerne als Tester fungieren. Was meinst du?

    1. Hi Sascha, neue Geräte hinzuzufügen ist relativ schwierig wenn man sie nicht zum testen herumliegen hat (leider selbst wenn sich freundliche Tester finden). Normalerweise braucht man mindestens 10-20 Versuche wenn es gut läuft bis ein Gerät halbwegs funktioniert. Das ist mit Remote testing schwer zu machen. Das ganze ist aber ja auf github, du könntest also durchaus selber mal schauen ob du etwas hinzufügen kannst.

      Viele Grüße,
      Paul

  9. im obigen Text steht: „Das Ergebnis findet sich als pyduofern auf meinem bitbucket“
    das pyduofern ist verlinkt, aber der Link enthaelt einen Syntaxerror (2 „h“ am Anfang)

    FYI.

Kommentare geschlossen