Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [Gelöst] [EspHome - HowTo] "Time Based Cover" wie steuern?

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    398

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    4.9k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.3k

[Gelöst] [EspHome - HowTo] "Time Based Cover" wie steuern?

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
2 Beiträge 1 Kommentatoren 645 Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • W Offline
    W Offline
    WolfgangFB
    schrieb am zuletzt editiert von WolfgangFB
    #1

    Ich habe mal die Cover Platform ausprobiert.
    Das ganze funktioniert über die Weboberfläche des ESP, aber wie steuere ich das ganze von IO-Broker aus?
    Es wird zwar bei den Objekten ein Objekt "position" angelegt, das ist aber immer 0 (egal wo der Rolladen steht). Wenn ich den Wert ändere passiert auch nichgts.

    Im Log ist mir auch aufgefallen, dass die Position im Gegensatz zu den anderen Zuständen nicht mit "sending state" sondern mit "publishing:" ausgegeben wird.
    Kann es sein, dass "cover" nur über MQTT gesteuert werden kann?

    Kannst Du vielleicht helfen @dutchman ?

    1 Antwort Letzte Antwort
    0
    • W Offline
      W Offline
      WolfgangFB
      schrieb am zuletzt editiert von
      #2

      @wolfgangfb
      Ich habe das ganze jetzt erfolgreich gelöst. Da es in der Vergangenheit schon andere gegeben hat, die über das gleiche Problem gestolprt sind hier die ausführliche Lösung:

      Es ist in der Tat so, dass der Rolladen (oder was auch immer man damit steuern möchte) nicht direkt über die ESPHome Datenpunkte sondern über MQTT gesteuert und ausgewertet werden müssen.

      Bei mir wird das ganze über mit einem ESP8266 (Wemos D1 Mini) und 2 Relais gesteuert wobei ich da gleich einen "Hardware" Interlock-Schutz eingebaut habe damit nicht gleichzeitig "Auf" und "Ab" aktiv sein können (man kann zwar in ESPHome ein Interlock aktivieren, das ist aber eben nur Software)..
      Also einfach ein Relais für AnAus und eines für AufAb, damit kann immer nur eine Richtung geschaltet sein.

      switch:
        - platform: gpio
          pin: 
            number: D3
            mode: OUTPUT
            inverted: true
          id: on_rollo
          name: "RelaisAnAus"
          restore_mode: ALWAYS_OFF
         
        - platform: gpio
          pin: 
            number: D4
            mode: OUTPUT
            inverted: true
          id: dir_rollo
          name: "RelaisAufAb"
      
      

      (Den Restore Mode habe ich eingeaut damit im Falle eines Neustartes nicht sofort der Rollo loslegt, Inverted weil es so zu meinen Relais passt, kommt ja immer darauf an,wie man das ganze anschließt).

      Jetzt zur eigentlichen Steuerung:

      cover:
        - platform: time_based
          name: "GastRollo"
          device_class: shutter
          id: gast_rollo
          position_state_topic: "Rollo.Gast.position.ist"
          position_command_topic: "Rollo.Gast.position.wunsch"
          
          open_action:
            - switch.turn_on: on_rollo
            - switch.turn_on: dir_rollo
          open_duration: 20sec
      
          close_action:
            - switch.turn_on: on_rollo
            - switch.turn_off: dir_rollo
          close_duration: 20sec
      
          stop_action:
            - switch.turn_off: on_rollo
              
      

      Die "Actions" sind meiner Meinung nach einfach zu verstehen (Bei "Auf", "Ab" und "Stop" werrden eben die entsprechenden Relais geschaltet).
      Was meiner Meinung nach nicht so gut in der Doku erklärt ist, sind die Eiknträge:

          position_state_topic: "Rollo.Gast.position.ist"
          position_command_topic: "Rollo.Gast.position.wunsch"
      

      Damit definiert man, über welche MQTT Topics der Rollandenzustand gelesen und gesetzt werden kann. Das sind zwingend 2 verschiedene Punkte!

      Um MQTT in ESPHome machen zu können muss noch die MQTT Plattform hinzugefügt werden:

      mqtt:
        broker: 192.168.1.203
      
      

      (Bei mir wird kein Username und kein Password benötigt, wer eins gesetzt hat, muss es hier mit "username:" und "password:" angeben. Natürlich muss die IP Adresse noch angepasst werden)

      Das verwirrende ist meiner Meinung nach, dass in den Objekten des ESPs selbst unter "Cover" ein Objekt "Position" auftaucht, dieses aber scheinbar nicht verwendet wird (bei mir dsteht da immer 0, wozu tilt gut sein soll weiß ich auch nicht, der Stop Button macht bei mir auch nichts.)
      cover.jpg

      In den Datenpunkten von MQTT tauchen aber jetzt die beiden Punkte "ist und "wunsch" auf

      mqtt.jpg

      Über "ist" kann man verfolgen, an welcher Stelle der Rollo gerade ist, wenn man "wunsch" ändert bewirkt das, dass der Rollo zu dieser Position gefahren wird.

      Um das ganze z.B.in VIS z.B. über eine Shutter Komponente steuer zu können benötigt man aber einen gemeinsamen Datenpunkt zum Lesen und Schreiben. Deshalb erzeugt man einfach einen Alias bei dem man unterschiedliche Datenpunkte für Lesen und Schreiben angeben kann.

      alias.jpg

      Um unterschiedliche Datenpunkte einstellen zu können muss man auf den Reiter "Alias klicken.

      Wer jetzt das ganze noch über einen einzelnen Taster steuern möcht (Wechsel "Auf" -> "Halt" -> "Ab" -> "Halt" etc.)

      baut noch folgendes ein:

      binary_sensor:
        - platform: gpio
          name: "RolloTaster"
          pin: 
            number: D8
            mode: INPUT_PULLUP
            inverted: true
          filters:
            - delayed_on: 100ms
          on_press:
            then:
            - cover.toggle: gast_rollo
      
      

      (Ich weiß, dass D8 mit Vorsicht zu genießen ist, der "Filter" ist zum Entprellen des Tasters, da es für D8 keinen internen Pulldown gibt habe ich eben INPUT_PULLUP gewählt (damit ist der Pin ohne das der Taster gedrückt ist immer high, der Taster ist an GND und D8 angeschlossen und zieht den PIN dann eben auf Low, deshalb auch "Inverted")

      Viel Spaß beim nachbauen.

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate
      FAQ Cloud / IOT
      HowTo: Node.js-Update
      HowTo: Backup/Restore
      Downloads
      BLOG

      566

      Online

      32.7k

      Benutzer

      82.5k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe