[gelöst] Tuya MCU Module - Dimmer Template MQTT2 gesucht

Begonnen von Mihca, 14 November 2019, 12:48:48

Vorheriges Thema - Nächstes Thema

Mihca

Hallo zusammen,

habe erfolgreich einen Tuya Dimmer mit Tasmota auf einem Raspberry über WLAN (OTA) nach folgender Methode geflasht: https://github.com/ct-Open-Source/tuya-convert
Danach als Modul "Tuya MCU Module" eingestellt und gemäß dieser Anleitung: https://github.com/arendst/Tasmota/wiki/TuyaMCU-Configurations#dimmer in der Konsole

TuyaMCU 21,2

eingegeben. Damit erhält man in der Tasmota Oberfläche (siehe angefügte Grafik) einen Dimmer mit Schieber, der auch funktioniert.

Nun muss man den Dimmmmer noch kalibrieren. Dazu geht man wieder in die Konsole. Nun wird der Dimmer per Hardware-Button ganz aufgefahren und der Wert, der in der Konsole angezeigt wird, notiert (=Max). Dann wird per Hardware-Button der Dimmer ganz nach unten gefahren und der Wert, der in der Konsole angezeigt wird, notiert (=Min). Nun gibt man in der Konsole ein:

DimmerRange <Min>,<Max>

Einbindung in Fhem per MQTT2 funktioniert wie immer prima. Da es für einen Dimmer kein Template gibt, habe ich erst einmal "tasmota_basic_state_power1" gewählt.

Wie bekomme ich ein Template hin, das mir auch einen Schieber gibt?

Vielen Dank vorab!
Achim

Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Beta-User

Hallo Mihca,

vermutlich kannst du das template tasmota_rgb_led_controller als Basis nutzen und dort die "Farbanteile" rauswerfen.
Was devStateIcon usw. angeht, wäre vermutlich shelly2rgbw_4w_split ein Orientierungspunkt?

Bitte melden, wenn du was funktionierendes zusammengestellt hast, oder mehr wie die Stichpunkte benötigst; kann das dann gerne vollends "in Form" bringen und in die file mit aufnehmen :) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

Mal wieder Danke Beta-User :)

Mit dem Template " tasmota_rgb_led_controller" geht es. Angepasst habe ich "devStateIcon":

off:light_light_dim_00 on:light_light_dim_90@orange

und "setList":

off:noArg cmnd/tasmota1910DC/POWER1 0
on:noArg cmnd/tasmota1910DC/POWER1 1
toggle:noArg cmnd/tasmota1910DC/POWER1 2
Dimmer:slider,0,1,100 cmnd/tasmota1910DC/DIMMER


Das sieht dann wie in anliegendem Bild aus.

Gruß, Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Beta-User

 :) Gerne.

on/off/toggle sollte man in webCmd eigentlich nicht brauchen, da würde für devStateIcon genügen:off:light_light_dim_00:n on:light_light_dim_90@orange:off
Vielleicht geht es aber noch "besser" (mit einem Icon, das den Dimmgrad mit anzeigt):
attr DEVICE devStateIcon {Color::devStateIcon($name,"dimmer",undef,"Dimmer")}
(Ist ungetestet, ggf. mal in den "Color.pm"-Code schauen wg. der Syntax).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

#4
Super  :)

Habe on/off/toggle rausgeworfen, aber das devStateIcon gelassen. 1. Mir gefällt das andere Piktogramm nicht so gut; etwas altbacken. 2. brauche ich dann wieder on/off/toggle und 3. sehe ich denn Dimmgrad ja im Slider.

Was mir bei dem Tuya Dimmer gut gefällt, ist, dass er bei toggle/on/off zwischen dem "letzten gedimmten" Zustand und "off" toggelt. Die Homematic Dimmer können nur zwischen 0 und 100% toggeln.

Danke nochmals
LG Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Beta-User

Hmm, dachte eigentlich das sei dasselbe Pictrogramm (bzw. aus der Familie) und das würde auch toggeln (habe zuletzt nur mit den 255-er Codes für die Helligkeit zu tun gehabt). Schade.

Das mit den 100% ist eine HM-Spezialität, scheinbar machen das alle anderen Hardwaresysteme anders (jedenfalls die, die mir bisher so begegnet sind).

Das mit den Farben ist immer eine individuelle Geschichte, daher würde ich das rauslassen. Als template mit der Bitte um Test und Rückmeldung:

#source post: https://forum.fhem.de/index.php/topic,105364.0.html
name:tasmota_dimmer_led_controller
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
desc:Tasmota dimmable LED controller, suitable for devices using the "Tuya MCU Module".<br>See instructions in  https://github.com/arendst/Tasmota/wiki/TuyaMCU-Configurations#dimmer and <a href="https://forum.fhem.de/index.php/topic,105364.msg992975.html#msg992975">Forum Thread</a>
order:A_05b
set DEVICE attrTemplate tasmota_basic_state_power1
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
par:TELETOPIC;info topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}tele$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
par:ICON;ICON as set, defaults to light_control;{ AttrVal("DEVICE","icon","light_control") }
attr DEVICE icon ICON
attr DEVICE setList\
  off:noArg CMNDTOPIC/POWER1 0\
  on:noArg CMNDTOPIC/POWER1 1\
  toggle:noArg CMNDTOPIC/POWER1 2\
  Dimmer:colorpicker,BRI,0,5,100 CMNDTOPIC/DIMMER
attr DEVICE readingList \
  TELETOPIC/LWT:.* LWT\
  STATTOPIC/POWER:.* POWER\
  STATTOPIC/POWER1:.* POWER1\
  TELETOPIC/STATE:.* { json2nameValue($EVENT) }\
  STATTOPIC/RESULT:.* { json2nameValue($EVENT) }\
  TELETOPIC/INFO.:.* { json2nameValue($EVENT) }
deletereading -q DEVICE (?!associatedWith).*
attr DEVICE autocreate 0
attr DEVICE devStateIcon off:light_light_dim_00:on on:light_light_dim_90:off
attr DEVICE stateFormat POWER1
attr DEVICE webCmd Dimmer
attr DEVICE model tasmota_dimmer_led_controller
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

Ich habe das Template entsprechend https://forum.fhem.de/index.php/topic,94495.0.html eingebaut. Ich sehe es aber nicht als "tasmota_dimmer_led_controller" sondern als "tasmota_basic_state_power1".

Ist es denn richtig das Template so zu bennenen?

set DEVICE attrTemplate tasmota_basic_state_power1

Müsste es nicht heißen

set DEVICE  attrTemplate tasmota_dimmer_led_controller
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Beta-User

Die set-Anweisung führt nur intern erst die Konfiguration des Tasmota-Geräts aus (Kleinschriebung usw.). Das ist also richtig. Es sollte nach dem "{ AttrTemplate_Initialize() }" auch ein attrTemplate mit dem Namen tasmota_dimmer_led_controller geben.
Würde sich das selbst aufrufen, wäre das nicht besonders lustig...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

Nein, das Template gibt es in Fhem nicht. Ich hatte das "{ AttrTemplate_Initialize() }" schon gemacht, hatte dann auch Fhem neu gestartet und dann nochmal "{ AttrTemplate_Initialize() }" eingegeben. Auch die Rechte sind richtig gesetzt, siehe Bild.
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Beta-User

Hast du ein Device mit vorhandener readingList? Sonst wird wohl der "filter" zuschlagen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

Habe das Divice gelöscht und per autocreate neu anlegen lassen. Ich bekomme das Template nicht zu Auswahl. Liegt es evtl. daran, dass ich eine eigene Datei dafür angelegt habe und den Code nicht in mqtt2.template eingefügt habe?
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Mihca

#13
Guten Morgen Beta-User,

danke für das einchecken in das aktuelles Release. Sieht prima aus.  :) :)

Es fehlen ME die Einstellungen zur Kalibrierung "DimmerRange <Min>,<Max> "

Die werden auch wohl im Gerät gelöscht?

LG Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Beta-User

Immer wieder gerne.

Ich habe leider keine Ahnung, warum das mit dem lokalen template nicht geklappt hat...
(Ich mache das in der Regel auch so, dass ich eine weitere Datei erstelle, allerdings mit kürzerem Namen. Aber das dürfte auch nicht das Problem gewesen sein.)

Edit zu spät gesehen. Das mit der Kalibrierung habe ich nicht verstanden. Geht das via MQTT?

Wenn ja, müßte ich die Doku nochmal ansehen.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

Die Kalibrierung geht in der Tasmota-Konsole des Devices. Man sieht sich dort an, wenn man die Harware-Buttons am physikalischen Gerät drückt, was in den beiden Endstellungen als Min/Max-Wert in der Tasmota-Konsole angezeigt wird. Dann wird in der Konsole "DimmerRange <Min>,<Max> " gesetzt. Ist so unter der Überschrift "Dimming Range" in https://github.com/arendst/Tasmota/wiki/TuyaMCU-Configurations#dimmer beschrieben.
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Mihca

Noch 2 Punkte:

1. Da der Dimmer nicht nur LEDs sondern ganz normale Leuchten dimmt, sollte m.E. das "led" aus dem Namen des Template gestrichen werden.
2. Da die entsprechnd meines Eingangsbeitrags aufgespielte Tasmota Firmware eine auf Tuya Dimmer abgestimmte ist, sollte m.E. der Name Tuya im Namen des Template aufgenommen werden.

Vorschlag: tasmota_dimmer_tuya_controller

LG Achim
Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

Beta-User

Ok, jetzt habe ich mir das nochmal angesehen. Das "TuyaMCU" scheint so eine Art Hardwarefamilie zu sein (Tuya kenne ich nur als eine Art Haupthersteller für allen möglichen ESP-basierten Krimskrams, der am Ende einfach auf einen allgemeinen Tasmota-Standard gebracht wird, egal, welcher Hersteller/Distributor grade sein Label da draufgeklebt hat, der Kenner "Tuya" hatte daher für mich keinen Signalcharakter...).

Name wird dann aber eher tasmota_TuyaMCU_dimmer werden?

(Die weiteren "Familienmitglieder" wären hier zu finden: https://github.com/arendst/Tasmota/wiki/TuyaMCU#device-configurations
Was die Konfiguration angeht, steht das zwar schon in desc, aber das auch noch in comment/farewell aufzunehmen schadet wohl nicht. (Ich bin für Vorschläge immer dankbar, Muster wäre z.B. tasmota_2ch_shutter_invert_1).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

thburkhart

doch dumme Frage ..

wie kann man nun konkret Tuya-Devices einbinden, nachdem der Name geklärt ist ;-)

Herzliche Grüße

Thomas
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

Beta-User

@tburkhart:
Bezieht sich das auf Tuya-allgmein oder TuyaMCU im speziellen?

Tuya-allgemein: Flashen mit Tasmota (wie in dem anderen von dir erstellten Thread), danach weiter wie unter "Praxisbeispiele zu MQTT2_DEVICE" im Wiki beschrieben.

TuyaMCU: Ist was spezielles, wenn ich das richtig verstanden habe, gibt es da einen zentralen ESP8266, der ebenfalls mit einer (speziellen) Tsmota-Variante zu flashen ist, der dann anschließend weitere Geräte steuern kann.

@Micha: Evtl. solltest du den Thread-Titel entsprechend anpassen, damit auch dort das "MCU" erscheint und nicht noch mehr Leute in diese "Falle" tappen?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Mihca

#21
Hallo tburkhart,

Empfehlenswert ist (wie von Beta-User bereits geschrieben) die Lektüre von: https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele

Ich gehe mal davon aus, dass das Tuya Device bereits mit Tasmota über WLAN (OTA) nach der Methode (https://github.com/ct-Open-Source/tuya-convert) geflasht ist und per Web-Oberfläche erreichbar ist.

Man benötigt den MQTT2_Server von Fhem. Soweit man ihn noch nicht installiert hat, geht das so:

define MQTT2Server MQTT2_SERVER 1883 global

Dann im Tuya-Web unter "Configuration"->"Configure Other" "MQTT enable" anklickern. Dann in "Configuration"->"Cofigure MQTT" die erforderlichen Daten eigeben:

1. "Host = IP Deines Fhem Servers"
2. "Port = 1883"
3. "Client = Name, den das Device haben soll",
4. "user = Dein Username für Fhem"
5. "Password = Dein Passwort für MQTT2, falls Du es im "AllowedWeb" Device in Fhem eingerichtet hast"
6. "Topic = ein eindeutiger Name, den kein anderes Device erhält"

Nach "Save" startet das Tuya Device neu und Fhem sollte es automatisch anlegen.

(@Beta-User: Titel geändert!)

Grüße Achim

Viele Grüße
Achim
__________
Kein Fehler ist so dumm, dass man ihn nicht machen könnte.
Raspi Ubuntu 22.04 Perl 5.34, Rollo-, Sonnen-, Licht-, Heizungs-, Poolsteuerung, Energiebilanzen -- HomeMatic, FS20, ESP/Tasmota/ESPEasy, CUL868v3 USB, MAX! Cube LAN mit CUL-Firmware HomeMatic

juergen012

Hallo, den Tuya Dimmer habe ich ebenfalls über OTA geflasht. Im WebUI von Fhem kann ich den Dimmer bedienen. Allerdings habe ich nicht MQTT2, sondern MQTT benutzt. Die Anleitung habe ich hier im Forum gefunden.

https://forum.fhem.de/index.php/topic,91393.msg883723.html#msg883723

Jetzt wollte ich den Dimmer in Homebridge einbinden. Nur on/off bekomme ich hin. Ich würde gerne die Dimmfunktion nutzen. Kann mir jemand beim homebridgemapping helfen??

Beste Grüße
Jürgen K.
Fhem unter Proxmox