Shelly Duo mit selbst gebauten mqtt Rotary Switch steuern

  • Eins vorweg, ich bin in Sachen ArduinoIDE und programmieren blutiger Anfänger und bitte jede Art von Kotzcode zu entschuldigen. Weiterhin ist der Code nicht auf meinen Mist gewachsen, ich hab ihn nur angepasst.

    Es war das Ziel eine Shelly Duo mit einem Hardware Teil zusteuern.

    Ein Rotary Switch Ky-040 (o.ä.), ein Wemos D1 Mini und 5 Kabel werden benötigt. Weiterhin benutze ich den ioBroker mit installierten mqtt Adapter um den Switch zu betreiben, dieser meldet sich unter mqtt.0/dial/button.../encoder. Der Shelly Adapter ist ebenfalls installiert und Blockly Scripte wird benötigt.

    Die Quelle meiner Inspiration ist https://github.com/snizzleorg/esp8266-Dimmer

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.


    Schaltplan sieht so aus:

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    Wer mit der ArduinoIDE umgehen kann, flasht diesen Code auf den Wemos D1 Mini:

    Einzig die Wlan und ioBroker Daten sind die eigenen zu verwenden. Der mqtt Port ist Standard auf 1883 gesetzt und kann im Code auch angepasst werden.

    Spoiler anzeigen

    Nun zum ioBroker, folgendes Blockly Skript importieren und anpassen.

    Spoiler anzeigen

    Das Blockly sieht so aus und kann Ein/Aus schalten und Dimmen, nein warm/kalt kann es nicht, dazu bin ich nicht in der lage das zu programmieren.

    Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen.

    So das wars auch schon, publizieren dauert 30 min, erdenken, tüfteln, code suchen dauerte fast 4 Wochen.

  • Gut! :)  :thumbup:

    Auf den Code für den Rotary etwas aufpassen, da gibt verschiedene Lösungen. Die "prellen" gerne, auch Pullup muss stimmen.

    Wenns Probleme gibt, es gibt da eine Lib für.

    Sowas könnte man auch Hardwaremäßig am i3 umsetzen

    Ich bin ja am "Strommessen" über Hallsensoren dran, also Art "Energiemeter".

    Neue/andere Sensoren hab ich bestellt.

    Wenns am Arduino geht, ist die Umsetzung D1 mini oder nodeMcu normalerweise einfach.

    Wenns geht, könntest Du das ja in Deinem System testen.

    Nahezu wie openEnergiemonitor.

    Mann kann das genauso machen, wenns genauer werden soll muss man die AC auch messen

    VG Rolf

    (Wer einen Tippfehler findet, darf den gerne behalten :saint:)

  • Mich würde interessieren ob ein Rotary Switch auch an Tasmota funktioniert, ich hab dazu nur gefunden, das man sich dazu seine eigene FW mit einem Rotary lib bauen muß. Aber an einem I3 bräuchte es ja auch eine geeignete FW. Naja Alterco könnte das aber umsetzen, E1 an A, E2 an B und E3 an SW und fertig. Im interface die IP des zu steuernden Gerätes eintragen fertig. Das wäre toll. (natürlich unter Beachtung der zu verwendenden Schutzkleinspannung, da ein Rotary Switch kein geeignetes Gerät für 230V darstellt!)

  • Loetauge 13. Januar 2021 um 07:17

    Hat den Titel des Themas von „Shelly Duo mit selbst gebauten Rotary Switch steuern“ zu „Shelly Duo mit selbst gebauten mqtt Rotary Switch steuern“ geändert.
  • Die Rotary sind nicht so einfach zu lesen (kenne ich von Arduino)

    Man benötigt ensprechendes Timing, da nur kurze Impulse beim Drehen enstehen.

    Quasi 1 Taster für links, einer für rechts..gaaanz kurz gedrückt.

    Der Impuls ist aber nur kurz da..die ms am Input i3 sind viel zu niedrig.

    Darum ist die LIb notwendig, das ist ne Art Unterroutine für "Multitasking" ;)

    Auf 1-2 Impulse reagieret der nicht, werst wenn x gleiche Impulse kommen.

    Ob das an Tasmota geht, weiß ich nicht.

    An 230V werden die das nur gaanz kurz überleben ;)

    VG Rolf

    (Wer einen Tippfehler findet, darf den gerne behalten :saint:)

  • Dieses Thema enthält 36 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.