Elektroda.de
Elektroda.de
X

OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration

p.kaczmarek2 492 0
  • OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Hallo liebe Freunde
    Ich werde hier vorstellen, wie man einen auf TuyaMCU basierenden Dimmer auf meiner Plattform OpenBeken betreiben und ihn mit Home Assistant verbinden kann. OpenBeken ist eine alternative Open-Source-Software für IoT-Geräte und bietet z. B. Unabhängigkeit von der Cloud des Herstellers, Kompatibilität mit vielen Ökosystemen, Konfigurierbarkeit und Unterstützung verschiedener Plattformen, z. B. BK7231T, BK7231N, XR809 und BL602.

    Thema zu BL602: Tasmota-Ersatz für BL602 – Programmierung, Kopplung mit Home Assistant.
    Was ist TuyaMCU? TuyaMCU ist ein Mikrocontroller-Kommunikationsprotokoll mit einem Wi-Fi-Modul, das in Tuya-Produkten verwendet wird:
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration

    Der Kauf eines Dimmers
    Ich habe das Produkt vor einiger Zeit gekauft. Ich habe es gefunden unter MoesHouse DIY Smart WiFi Light LED Dimmer Switch Smart Life/Tuya APP Remote Control 1 Way Switch Works With Alexa Google Home - 1pcs. Mittlerweile ist der Preis wohl etwas gestiegen, man kann es aber auch auf diversen Portalen günstiger finden:
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Die maximale Lichtleistung dieses Dimmers beträgt 150 W. Der WLAN-Standard ist 2,4 GHz 802.11 b/g/n. Es funktioniert mit Tuya Smart/Smart Life-Anwendungen. Seine Größe beträgt 51x46x22 mm.
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Das Set enthält außerdem eine Anleitung:
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration

    Das Innere des Dimmers
    Jetzt ist es an der Zeit, nach innen zu schauen.
    Die Abdeckung lässt sich wirklich leicht entfernen.
    Hier wird die Fotogalerie etwas anders sein, da ich auch den gleichen Dimmer habe, der beschädigt ist. Ich habe ihn von einem unserer Benutzer bekommen, also werde ich beide zeigen.
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Zwei Dimmer nebeneinander, funktionsfähig und beschädigt:
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Was befindet sich im Dimmer? Zunächst einmal das WB2S Wi-Fi-Modul + Holtek HT66F3195 Mikrocontroller. Sie kommunizieren über UART.
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Sie werden vom BP2525 (transformatorloses Netzteil) gespeist, und daneben befindet sich die gesamte Schaltung zum Dimmer (S3M-Gleichrichterdioden), ein Optokoppler zur Erkennung des Sinuszyklus, ein nicht gekennzeichneter Controller-Schaltkreis und... SIF12N65F. Anfangs habe ich hier einen Triac erwartet, aber das ist ein MOSFET mit N-Kanal (Vds=650V, RdsOn=0,6Ohm, Id=12A). Dies erklärt die vier Gleichrichterdioden. Dieser Dimmer richtet offenbar die Netzspannung gleich und wandelt sie dann mit einem Transistor um.

    Programmieren von WB2S
    Ich habe die Programmierung gemäß den vorherigen Themen der Serie mit bkWriter 1.60 durchgeführt.
    Ich habe WB2S mit Flussmittel und Entlötlitze von der Platine abgelötet. Das ist viel bequemer und es besteht die Gewissheit, dass nichts auf der RX/TX-Leitung das Hochladen des Batchs stört.
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Dann kann man OBK gemäß diesem Thema ausführen:
    Qiachip Smart Switch BK7231N/CB2S – Innenansicht, Programmierung

    Konfiguration von OpenBeken
    Nach der Grundkonfiguration, die ich in den vorherigen Themen der Serie besprochen habe, sollte man ein Startskript vorbereiten (eine Datei namens autorun.bat mit folgendem Inhalt):
    Code: text
    Melde dich an, um den Code zu sehen

    Und es im App-Bereich in das OBK-Dateisystem einstellen:
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Dieses Skript wird ausgeführt, nachdem das Gerät gestartet wurde. Nach dem Einstellen selbst wird es nicht ausgeführt, man muß es manuell neu starten (z. B. mit der Schaltfläche im WWW-Panel).
    Nach dem Hochladen:
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Bedeutung der einzelnen Befehle:
    - startDriver TuyaMCU – startet den TuyaMCU-Treiber
    - setChannelType 1 toggle – setzt den Typ von Kanal Nummer 1 auf Ein/Aus
    - setChannelType 2 dimmer – setzt den Typ von Kanal Nummer 2 auf Dimmer
    - tuyaMcu_setDimmerRange 0 1000 – legt den Bereich der TuyaMCU-Dimmerwerte fest (für GUI liegt er immer zwischen 0 und 100, in 0 bis 1000 wird er nur für MCU konvertiert)
    - linkTuyaMCUOutputToChannel 1 bool 1 – verbindet dpID Nummer 1 von TuyaMCU mit Kanal Nummer 1 vom Typ bool
    - linkTuyaMCUOutputToChannel 2 val 2 – verbindet dpID Nummer 2 TuyaMCU mit Kanal Nummer 2 des Werttyps
    Die dpID-Werte können für verschiedene Gerätetypen unterschiedlich sein. Wenn wir Unterstützung für etwas Neues hinzufügen möchten, müssen wir es kennenlernen, z. B. durch Abhören von Paketen. Die dpID-Werte können auch den Beschreibungen von für Tasmota vorgesehenen Geräten entnommen werden, da Tuya oft nur das WLAN-Modul ändert und der Rest gleich bleibt.
    Nach dem Neustart haben wir im OpenBK-Panel einen separaten Schalter und Dimmer:
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    So sehen die verschiedenen Helligkeitsstufen aus:
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration

    Und wie funktioniert der Schalter?
    Oberflächlich betrachtet könnte man meinen, dass der Schalter von OpenBeken nicht unterstützt wird. Aber nichts ist mehr falsch!
    Bei diesem Produkt schließen wir den Schalter an TuyaMCU an, nicht an WiFi-Modul. Der Schalter wird von TuyaMCU unterstützt. Wir haben alles bereit. Wir verbinden den Schalter mit dem entsprechenden Pin (S für Schalter):
    OpenBeken und Dimmer auf TuyaMCU – Konfiguration und Demonstration
    Es können sowohl bistabile als auch monostabile Systeme verwendet werden. Der Schalter funktioniert so, dass nach dem Einschalten die Helligkeit schrittweise ansteigt und wir durch einfaches erneutes Umschalten die gewünschte Stufe auswählen können. Wenn die Lampe hingegen bereits eingeschaltet ist, wird sie durch schnelles Ein- und Ausschalten des Schalters vollständig ausgeschaltet. All dies übernimmt der HT66F3195.

    Home Assistant-Unterstützung
    Dank der automatischen Zuordnung von OpenBeken-Kanälen zu TuyaMCU-Variablen ist die Kopplung mit Home Assistant sehr einfach. Der TuyaMCU-Dimmer wird auf der HA-Ebene auf die gleiche Weise wie ein normaler PWM-Dimmer betrieben. Hier ist ein Beispiel für einen Yaml-Code:
    Code: yaml
    Melde dich an, um den Code zu sehen

    Wir haben hier zwei getrennte Kanäle – einer bestimmt den Zustand des Geräts (Ein/Aus), der andere die Helligkeitsstufe.
    Endtest der Applikation:



    Endtest des Schalters:



    Was sieht man in den Filmen? Zunächst einmal die Animation zum schrittweisen Verschieben der Helligkeitsstufe, die vom Holtek-Chip stammt und nicht verändert werden kann. Aus diesem Grund "springt" der Schieberegler im Home Assistant so sehr.
    Außerdem kommt es zu einer leichten Verzögerung bei der Statusmeldung, aber das ist normal.

    Unterstützung von Skripten und Befehlen über HTTP
    OpenBeken unterstützt das Senden von Befehlen im Tasmota-Stil über das sogenannte "Tasmota HTTP". Man kann sie sogar über einen normalen Browser versenden.
    Dieser Befehl schaltet die Lampe auf volle Helligkeit ein:
    
    http://192.168.0.115/cm?cmnd=backlog%20setChannel%201%201;%20setChannel%202%20100
    

    Dieser hier auf 50 % Helligkeit:
    
    http://192.168.0.115/cm?cmnd=backlog%20setChannel%201%201;%20setChannel%202%2050
    

    Dieser schaltet sie nach 5 Sekunden aus:
    
    http://192.168.0.115/cm?cmnd=addRepeatingEvent%205%201%20setChannel%201%200
    

    (Syntax addRepeatingEvent: Wiederholungszeitraum, Anzahl der Wiederholungen, Befehl)
    Es gibt auch Befehle, z. B. das Addieren eines Wertes zum aktuellen Helligkeitswert, aber dazu ein anderes Mal.

    Zusammenfassung
    Es sieht so aus, als ob TuyaMCU bereits stark unterstützt wird. Alles funktioniert vernünftig mit MQTT und Home Assistant (zusammen mit Hin- und Her-Kommunikation und Statusaktualisierungen) und ermöglicht sogar das Skripten einfacher Automatisierungen innerhalb von OpenBeken selbst.
    Bald werde ich weitere Geräte mit TuyaMCU testen und auch weitere Möglichkeiten für den Befehlsinterpreter hinzufügen (Möglichkeit, einfache Skripte auszuführen).

    Cool? DIY-Rangliste
    Über den Autor
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 hat 5777 Beiträge geschrieben mit der Bewertung 5783, und dabei 272 Mal geholfen. Er ist seit 2014 bei uns.