4-Fach Schalter zu 2 Rollladenschalter

Begonnen von oelkanne, 15 November 2020, 14:39:57

Vorheriges Thema - Nächstes Thema

oelkanne

Hallo
Ich möchte meine Rollladensteuerungen ,,smart" machen und per MQTT in FHEM einbinden. Zurzeit betätige ich die Rollladen mit Doppeltaster TDRR 02W von Jarolift, möchte aber auf eine Wifi ESP8266 umstellen.
Von MiniTiger habe ich hier einen 4-fach Schalter gefunden auf den man Tasmota aufspielen kann.  https://templates.blakadder.com/minitiger_MT-W601-N-D01-W.html
Interessanterweise finde ich 4 gang Switches nur bei Alibaba, nichts bei eBay oder Amazon (lange Lieferzeit ☹)
Frage: gibt es Templates in FHEM mit denen man einen 4-Fach Schalter als 2 Rollladenschalter einbinden kann?
Gruß
Oelkanne

Beta-User

Das "normale"  Tasmota-shutter-attrTemplate sollte sich ausbauen lassen. Die Firmware kann das jedenfalls.
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

oelkanne

Prima!
Hab' mir gerade mal einen Schalter zu Bastelzwecken bestellt. Melde mich wieder hier wenn dieser da ist und Tasmota drauf läuft (~Dez 20)

oelkanne

Hab den 4-gang switch jetzt doch recht schnell geliefert bekommen. Schnell Tasmota drauf gemacht, Tasmotavorlage konfiguriert und dann per MQTT in FHEM eingebunden (FHEM template:     
tasmota_4ch_unified_icon ). Raw daten anbei.

Geht!

Ich komme nun wieder zu meiner Frage zurück:
Wie konfiguriere ich den 4 gang switch so, dass dieser in FHEM al zwei 2 Rollladenschalter erscheint.

Ziel für FHEM:
Soll so funktionieren (und aussehen) wie zB FHEM Vorlage: tasmota_2ch_shutter_invert_0

Ziel für Handbedienung:
Button1 drücken (Power1 on)- > Rollladen1 hoch; nochmal drücken Rollladen1 stop
Button3 drücken (Power3 on)- > Rollladen1 runter; nochmal drücken Rollladen1 stop

Button2 drücken (Power2 on)- > Rollladen2 hoch; nochmal drücken Rollladen2 stop
Button4 drücken (Power4 on)- > Rollladen2 hoch; nochmal drücken Rollladen2 stop



defmod MQTT2_Minitiger4gang_1_0FFC29 MQTT2_DEVICE Minitiger4gang_1_0FFC29
attr MQTT2_Minitiger4gang_1_0FFC29 IODev myBroker
attr MQTT2_Minitiger4gang_1_0FFC29 autocreate 0
attr MQTT2_Minitiger4gang_1_0FFC29 comment NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:<br>on-for-timer {my $duration = $EVTPART1*10;; 'cmnd/cmnd/Minitiger4gang_1/Backlog POWER1 1;; delay '.$duration.';; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
attr MQTT2_Minitiger4gang_1_0FFC29 devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on 3.on:on:POWER3+off 3.off:off:POWER3+on 4.on:on:POWER4+off 4.off:off:POWER4+on
attr MQTT2_Minitiger4gang_1_0FFC29 icon hue_filled_outlet
attr MQTT2_Minitiger4gang_1_0FFC29 jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
attr MQTT2_Minitiger4gang_1_0FFC29 model tasmota_4ch_unified_icon
attr MQTT2_Minitiger4gang_1_0FFC29 readingList tele/Minitiger4gang_1/LWT:.* LWT\
  tele/Minitiger4gang_1/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/Minitiger4gang_1/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/Minitiger4gang_1/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  stat/Minitiger4gang_1/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/Minitiger4gang_1/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  stat/Minitiger4gang_1/POWER1:.* POWER1\
  stat/Minitiger4gang_1/POWER2:.* POWER2\
  stat/Minitiger4gang_1/POWER3:.* POWER3\
  stat/Minitiger4gang_1/POWER4:.* POWER4
attr MQTT2_Minitiger4gang_1_0FFC29 room MQTT2_DEVICE
attr MQTT2_Minitiger4gang_1_0FFC29 setList POWER1:on,off,toggle cmnd/Minitiger4gang_1/POWER1 $EVTPART1\
  POWER2:on,off,toggle cmnd/Minitiger4gang_1/POWER2 $EVTPART1\
  POWER3:on,off,toggle cmnd/Minitiger4gang_1/POWER3 $EVTPART1\
  POWER4:on,off,toggle cmnd/Minitiger4gang_1/POWER4 $EVTPART1
attr MQTT2_Minitiger4gang_1_0FFC29 setStateList on off toggle
attr MQTT2_Minitiger4gang_1_0FFC29 stateFormat LWT\
1:POWER1\
2:POWER2\
3:POWER3\
4:POWER4\
<br><a href="http://IPAddress" target="_blank">IPAddress</a>
attr MQTT2_Minitiger4gang_1_0FFC29 webCmd POWER1:POWER2:POWER3:POWER4

Beta-User

 :) du bist der Prototyp, von daher wirst du einfach austesten müssen, was da geht.

Ich _vermute_ das attrTemplate für den Roller-Modus ist eigentlich eine gute Basis ist (tasmota_2ch_shutter_invert_0). Das verriegelt aber nur zwei Relais gegeneinander.:
set IO_DEV publish CMNDTOPIC/Backlog LedState 2; SetOption80 1; Interlock 1,2; Interlock ON; SetOption81 1; switchmode1 3; switchmode2 3; PulseTime1 0; PulseTime2 0; SaveData 1;

Die genauen Details wären hier zu finden: https://tasmota.github.io/docs/Commands/ bzw. hier https://tasmota.github.io/docs/Blinds-and-Shutters/

Du solltest das nach der "Ersteinrichtung" mit dem "einfachen" Shutter-attrTemplate dann über das Webinterface weiter konfigurieren und möglichst die SetOption dann auch für den 2. Shutter aufschreiben, dann kann man das für den nächsten vertemplaten...
Wenn das über das Web-Interface steuerbar ist, postest du hier bitte ein RAW-listing von dem Ding (autocreate sollte bitte aktiviert sein, damit weitere Infos ggf. auch reinkommen).
Dann können wir versuchen, den zweiten Kanal zusammen zu konfigurieren ;) .
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

oelkanne

#5
Die beiden Links enthielten genau das was ich brauchte! Perfekt und Danke!

Klappt :-)


Für die Konsole am Tasmotaschalter habe ich folgende Parameter, passend zu FHEM, zusammengeschraubt:

Backlog SetOption26 1; SetOption80 1; SetOption81 1; ShutterRelay1 1; ShutterRelay2 3; PulseTime1 0; PulseTime2 0; PulseTime3 0; PulseTime4 0; SwitchMode1 3; SwitchMode2 3; SwitchMode3 3; SwitchMode4 3; Interlock 1,2 3,4; Interlock 1; SaveData 1; StateText1 off ; StateText2 on; StateText3 toggle; StateText4 hold; shutteropenduration1 15; shuttercloseduration1 15; shutteropenduration2 20; shuttercloseduration2 20


Eigentlich kann man einige weglassen, da redundant oder unnötig - aber das ist ein anderes Thema.

In FHEM habe ich dann zwei Geräte basierend des Vorlage "tasmota_2ch_shutter_invert_0" angelegt.

Relais 1+2 für Shutter1, Relais 3+4 für Shutter2. (Andere Kombinationen sind leider von Tasmotaseite her nicht möglich)

Das einzige was aus der Vorlage "tasmota_2ch_shutter_invert_0" für Shutter1 angepasst werden müsste, wäre die Verriegelung.
Standardmässig ist wohl "interlock 1,2" gesetzt. Benötigt werden aber zwei Gruppen "interlock 1,2 3,4" (kein Komma zwischen 2 und 3!)

Für den zweiten Shutter müsste in der "Readinglist" Power 1 und 2 gegen Power 3 und 4 getauscht werden. Entsprechend auch "Setlist" die Befehle wie ShutterClose1 zu ShutterClose2 , ShutterOpen1 zu ShutterOpen2 usw.

Dann geht's auch mit FHEM :-)


Hier die Raw Daten des zweiten Shutters:


defmod Minitiger4gang_1b MQTT2_DEVICE Minitiger4gang_1_0FFC29
attr Minitiger4gang_1b IODev myBroker
attr Minitiger4gang_1b autocreate 1
attr Minitiger4gang_1b cmdIcon open:fts_shutter_up close:fts_shutter_down stop:fts_shutter_manual half:fts_shutter_50
attr Minitiger4gang_1b comment After applying the template set "ShutterOpenDuration1" and "ShutterCloseDuration1" first.\
Use the "set x_configuration" Option. Example: "set x_configuration ShutterOpenDuration1 35"\
Shutter specific commands available: ShutterOpenDuration1, ShutterCloseDuration1, ShutterRelay1, ShutterSetHalfway1, ShutterSetClose1, ShutterInvert1, ShutterMotordelay1, ShutterCalibration1;; you may use this for general setOptions in tasmota also.\
commands may need restart to take effect.\
For calibration, use of more than one shutter device and further information on the available commands see <a href="https://github.com/arendst/Tasmota/wiki/blinds-and-roller-shades">Tasmota wiki</a>.
attr Minitiger4gang_1b devStateIcon opening:fts_shutter_up@red closing:fts_shutter_down@red Online:10px-kreis-gruen Offline:10px-kreis-rot 100:fts_shutter_10 0:fts_shutter_100 9\d.*:fts_shutter_10 8\d.*:fts_shutter_20 7\d.*:fts_shutter_30 6\d.*:fts_shutter_40 5\d.*:fts_shutter_50 4\d.*:fts_shutter_60 3\d.*:fts_shutter_70 2\d.*:fts_shutter_80 1\d.*:fts_shutter_90 \b\d\b.*:fts_shutter_90
attr Minitiger4gang_1b model tasmota_2ch_shutter_invert_0
attr Minitiger4gang_1b readingList tele/Minitiger4gang_1/LWT:.* LWT\
stat/Minitiger4gang_1/RESULT:.* { json2nameValue($EVENT) }\
stat/Minitiger4gang_1/POWER3:.* POWER3\
stat/Minitiger4gang_1/POWER3:on {{'state' => 'opening'}}\
stat/Minitiger4gang_1/POWER4:.* POWER4\
stat/Minitiger4gang_1/POWER4:on {{'state' => 'closing'}}\
stat/Minitiger4gang_1/SHUTTER2:.* state\
stat/Minitiger4gang_1/SHUTTER2:.* pct\
tele/Minitiger4gang_1/RESULT:.* { json2nameValue($EVENT) }\
tele/Minitiger4gang_1/STATE:.* { json2nameValue($EVENT) }\
tele/Minitiger4gang_1/SENSOR:.* { json2nameValue($EVENT) }\
tele/Minitiger4gang_1/INFO.:.* { json2nameValue($EVENT) }\
tele/Minitiger4gang_1/UPTIME:.* { json2nameValue($EVENT) }\

attr Minitiger4gang_1b room MQTT2_DEVICE
attr Minitiger4gang_1b setList close:noArg cmnd/Minitiger4gang_1/ShutterClose2\
open:noArg cmnd/Minitiger4gang_1/ShutterOpen2\
half:noArg cmnd/Minitiger4gang_1/ShutterPosition2 50\
pct:slider,0,1,100 cmnd/Minitiger4gang_1/ShutterPosition2 $EVTPART1\
stop:noArg cmnd/Minitiger4gang_1/ShutterStop2\
resetClose:noArg cmnd/Minitiger4gang_1/ShutterSetClose2\
x_configuration cmnd/Minitiger4gang_1/$EVTPART1 $EVTPART2
attr Minitiger4gang_1b setStateList open close half stop pct
attr Minitiger4gang_1b stateFormat <a href="http://IPAddress" target="_blank">\
LWT\
</a>\
state
attr Minitiger4gang_1b webCmd :open:close:half:stop:pct

setstate Minitiger4gang_1b <a href="http://192.168.178.114" target="_blank">\
Online\
</a>\
100
setstate Minitiger4gang_1b 2020-12-04 15:00:17 BASE 18
setstate Minitiger4gang_1b 2020-12-04 14:54:57 Command Error
setstate Minitiger4gang_1b 2020-12-04 15:00:17 FLAG 0
setstate Minitiger4gang_1b 2020-12-04 15:50:54 FallbackTopic cmnd/Minitiger4gang_1_0FFC29_fb/
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_1 32
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_10 544
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_11 35
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_12 227
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_13 0
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_14 0
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_2 0
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_3 0
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_4 0
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_5 226
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_6 225
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_7 33
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_8 34
setstate Minitiger4gang_1b 2020-12-04 15:00:17 GPIO_9 224
setstate Minitiger4gang_1b 2020-12-04 15:50:54 GroupTopic cmnd/tasmotas/
setstate Minitiger4gang_1b 2020-12-04 15:56:04 Groups 1,2 3,4
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Heap 26
setstate Minitiger4gang_1b 2020-12-04 15:50:54 Hostname Minitiger4gang_1-7209
setstate Minitiger4gang_1b 2020-12-04 15:50:54 IPAddress 192.168.178.114
setstate Minitiger4gang_1b 2020-12-04 15:56:04 Interlock on
setstate Minitiger4gang_1b 2020-12-04 15:50:54 LWT Online
setstate Minitiger4gang_1b 2020-12-04 17:20:58 LoadAvg 19
setstate Minitiger4gang_1b 2020-12-04 15:50:54 Module Minitiger 4 Gang
setstate Minitiger4gang_1b 2020-12-04 15:00:17 Module_0 Minitiger 4 Gang
setstate Minitiger4gang_1b 2020-12-04 17:20:58 MqttCount 1
setstate Minitiger4gang_1b 2020-12-04 15:00:17 NAME Minitiger 4 Gang
setstate Minitiger4gang_1b 2020-12-04 14:59:51 POWER OFF
setstate Minitiger4gang_1b 2020-12-04 17:20:58 POWER1 off
setstate Minitiger4gang_1b 2020-12-04 17:20:58 POWER2 off
setstate Minitiger4gang_1b 2020-12-04 17:20:58 POWER3 off
setstate Minitiger4gang_1b 2020-12-04 17:20:58 POWER4 off
setstate Minitiger4gang_1b 2020-12-04 15:56:02 PulseTime1_Remaining 0
setstate Minitiger4gang_1b 2020-12-04 15:56:02 PulseTime1_Set 0
setstate Minitiger4gang_1b 2020-12-04 15:56:02 PulseTime2_Remaining 0
setstate Minitiger4gang_1b 2020-12-04 15:56:02 PulseTime2_Set 0
setstate Minitiger4gang_1b 2020-12-04 15:56:03 PulseTime3_Remaining 0
setstate Minitiger4gang_1b 2020-12-04 15:56:03 PulseTime3_Set 0
setstate Minitiger4gang_1b 2020-12-04 15:56:03 PulseTime4_Remaining 0
setstate Minitiger4gang_1b 2020-12-04 15:56:03 PulseTime4_Set 0
setstate Minitiger4gang_1b 2020-12-04 15:02:05 PulseTime5_Remaining 0
setstate Minitiger4gang_1b 2020-12-04 15:02:05 PulseTime5_Set 0
setstate Minitiger4gang_1b 2020-12-04 15:02:05 PulseTime6_Remaining 0
setstate Minitiger4gang_1b 2020-12-04 15:02:05 PulseTime6_Set 0
setstate Minitiger4gang_1b 2020-12-04 15:02:05 PulseTime7_Remaining 0
setstate Minitiger4gang_1b 2020-12-04 15:02:05 PulseTime7_Set 0
setstate Minitiger4gang_1b 2020-12-04 15:02:05 PulseTime8_Remaining 0
setstate Minitiger4gang_1b 2020-12-04 15:02:05 PulseTime8_Set 0
setstate Minitiger4gang_1b 2020-12-04 14:59:37 Reset Erase, Reset and Restarting
setstate Minitiger4gang_1b 2020-12-04 15:50:54 RestartReason Software/System restart
setstate Minitiger4gang_1b 2020-12-04 15:56:04 SaveData on
setstate Minitiger4gang_1b 2020-12-04 15:56:01 SetOption26 on
setstate Minitiger4gang_1b 2020-12-04 15:56:01 SetOption80 on
setstate Minitiger4gang_1b 2020-12-04 15:56:02 SetOption81 on
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Shutter1_Direction 0
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Shutter1_Position 0
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Shutter1_Target 0
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Shutter2_Direction 0
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Shutter2_Position 100
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Shutter2_Target 100
setstate Minitiger4gang_1b 2020-12-04 15:47:33 ShutterClose1 0
setstate Minitiger4gang_1b 2020-12-04 16:37:20 ShutterClose2 0
setstate Minitiger4gang_1b 2020-12-04 15:56:06 ShutterCloseDuration1 15.0
setstate Minitiger4gang_1b 2020-12-04 15:56:06 ShutterCloseDuration2 20.0
setstate Minitiger4gang_1b 2020-12-04 15:47:04 ShutterOpen1 100
setstate Minitiger4gang_1b 2020-12-04 16:37:24 ShutterOpen2 100
setstate Minitiger4gang_1b 2020-12-04 15:56:05 ShutterOpenDuration1 15.0
setstate Minitiger4gang_1b 2020-12-04 15:56:06 ShutterOpenDuration2 20.0
setstate Minitiger4gang_1b 2020-12-04 15:19:11 ShutterPosition1 50
setstate Minitiger4gang_1b 2020-12-04 15:27:49 ShutterPosition2 45
setstate Minitiger4gang_1b 2020-12-04 15:56:02 ShutterRelay1 1
setstate Minitiger4gang_1b 2020-12-04 15:56:02 ShutterRelay2 3
setstate Minitiger4gang_1b 2020-12-04 15:19:08 ShutterStop Done
setstate Minitiger4gang_1b 2020-12-03 21:44:44 ShutterStop2 68
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Sleep 50
setstate Minitiger4gang_1b 2020-12-04 17:20:58 SleepMode Dynamic
setstate Minitiger4gang_1b 2020-12-04 15:56:04 StateText1 off
setstate Minitiger4gang_1b 2020-12-04 15:56:05 StateText2 on
setstate Minitiger4gang_1b 2020-12-04 15:56:05 StateText3 toggle
setstate Minitiger4gang_1b 2020-12-04 15:56:05 StateText4 hold
setstate Minitiger4gang_1b 2020-12-04 15:56:03 SwitchMode1 3
setstate Minitiger4gang_1b 2020-12-04 15:56:03 SwitchMode2 3
setstate Minitiger4gang_1b 2020-12-04 15:56:03 SwitchMode3 3
setstate Minitiger4gang_1b 2020-12-04 15:56:04 SwitchMode4 3
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Time 2020-12-04T17:20:58
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Uptime 0T01:30:09
setstate Minitiger4gang_1b 2020-12-04 17:20:58 UptimeSec 5409
setstate Minitiger4gang_1b 2020-12-04 15:50:54 Version 9.1.0(tasmota)
setstate Minitiger4gang_1b 2020-12-04 15:50:54 WebServerMode Admin
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Wifi_AP 1
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Wifi_BSSId 44:4E:6D:4C:28:17
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Wifi_Channel 1
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Wifi_Downtime 0T00:00:03
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Wifi_LinkCount 1
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Wifi_RSSI 88
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Wifi_SSId HOTSPOT Mesh
setstate Minitiger4gang_1b 2020-12-04 17:20:58 Wifi_Signal -56
setstate Minitiger4gang_1b 2020-12-04 16:37:25 pct 100
setstate Minitiger4gang_1b 2020-12-04 16:37:25 state 100
setstate Minitiger4gang_1b 2020-12-04 15:27:54 subscriptions cmnd/Minitiger4gang_1/# cmnd/Minitiger4gang_1_0FFC29_fb/# cmnd/tasmotas/#


Werde mir nun weitere 4 gang Switches bestellen.....

Beta-User

 :)
Das ist doch mal eine Rückmeldung, wie man sie sich wünscht :) :) :) !

Habe eben ein (ungetestetes) attrTemplate für diese Sache eingecheckt... (update ab morgen oder aus dem svn holen)

Darfst gerne testen und Rückmeldung geben, ob das alles so funktioniert, wie es soll ;) .
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

oelkanne

#7
Prima, wenn du Templates für FHEM machst, möchte ich auch gerne etwas an das Forum zurückgeben und erstelle eine Anleitung mit meinen Erfahrungswerten. Dann können andere es einfacher nachbauen.


Hardware: (Bei mir MiniTiger 4 gang) aber grundsätzlich gehen wohl alle mit ESP8265/8266.
Der Minitiger lässt sich nur über die serielle Schnittstelle flashen. Softwaremäßiger Flash, wie Tuya-Convert, geht nicht.
Es gibt auch mehrerer Variationen des PCBs. Eine weitere ist hier beschrieben:  https://templates.blakadder.com/minitiger_MT-W601-N-D01-W.html

Firmwarewechsel auf Tasmota: ,,Ent-chinetisieren"
Am einfachsten geht dies mit der Software ,,Tasmotizer"  und einen Flashmodule (FT232RL USB zu TTL Serial Adapter für 3,3V und 5V).
Dazu gibt unendlich viele gute Beschreibung im Netz zB. https://creationx.shop/ratgeber/sonoff/flashen
Knifflig ist lediglich an die Kontakte RX und TX am ESP8265 heranzukommen. (siehe Bild)

Einstellungen an der Weboberfläche von Tasmota
Hier muss Tasmota erklärt werden, an welchen GPIOs welche Relais/Tasten/LEDs hängen.
Bei meinen 4-gang switch ist jedem Relais fest eine rote LED zugeordnet (nicht änderbar!)
Das hat den Nachteil, dass man den Button so zuweisen muss, damit dieser zu roten LED passt. (Ansonsten drückt man z.B Taste 2 aber Taste3 leuchtet rot)
Das heisst auch, das der Schalter um 45° rechts-gedreht eingebaut werden muss, damit "Oben" und "Unten" passen.(siehe Bild)

Hier die Einstellungen: (auch als Bild)

{"NAME":"Minitiger 4 Gang","GPIO":[32,0,0,0,226,225,33,34,224,544,35,227,0,0],"FLAG":0,"BASE":18}


Als nächstes muss Tasmota erklärt werden, dass es sich nicht um 4 einzelne Schalter handelt, sondern um zwei Rollladenschalter.
Dazu in die Konsole folgenden Befehl eingeben:

Backlog SetOption26 1; SetOption80 1; SetOption81 1; ShutterRelay1 1; ShutterRelay2 3; PulseTime1 0; PulseTime2 0; PulseTime3 0; PulseTime4 0; SwitchMode1 3; SwitchMode2 3; SwitchMode3 3; SwitchMode4 3; Interlock 1,2 3,4; Interlock 1; SaveData 1; StateText1 off ; StateText2 on; StateText3 toggle; StateText4 hold; shutteropenduration1 30; shuttercloseduration1 30; shutteropenduration2 30; shuttercloseduration2 30

SetOption26 1 sorgt dafür, dass Powermeldungen mir Suffix gesendet werden ,,Power1" statt ,,Power" (eigentlich obsolete, wenn SetOption 80 gesetzt wird)
SetOption80 1 damit schaltet Tasmota in den Rollladenbetrieb (zwingend)
SetOption81 1 invertiert den Status eines Port-Expander der via I2C am 8265 hängt (unnötig für mein Modell)
ShutterRelay1 1 weist Relais1 (invertiert) und Relais2 dem Shutter 1 zu (eigentlich auch unnötig; geschieht automatisch mit SetOption80)
ShutterRelay2 3 weist Relais3 (invertiert) und Relais4 dem Shutter 2 zu (ganz wichtig!)
SwitchMode1 3; SwitchMode2 3.... Sorgt dafür, das beim Drücken die Aktion ausgelöst wird und nichts passiert beim Loslassen. (eher interessant für mechanische Taster; meine Touchtaster reagieren immer nur beim Loslassen.)
Interlock 1,2 3,4; Interlock 1 verriegeln Relais 1 gegen 2 und 3 gegen 4 (ganz wichtig)
SaveData 1 speichert Parameteränderungen jede Sekunde (eigentlich obsolete da dies die Defaulteinstellung ist)
StateText1 off ; StateText2 on .. sorgt dafür, das Tasmota in Kleinbuchstaben an FHEM sendet ,,on" statt ,,ON" (zwingend, sonst funktioniert das FHEM Template nicht richtig)
Shutteropenduration2 30; shuttercloseduration2 30 muss individuell eingestellt werden, wie lange der Rollladen fürs Hochfahren bzw. Runterfahren braucht.

Wenn getan, sollte die Weboberfläche des Schalter so aussehen: (siehe Bild)

Jetzt noch MQTT konfigurieren und der Rollladenschalter erscheint in FHEM.


FHEM:
Beta-User: Hier werden nun deine neuen Templates benötigt.


FHEM Sprachsteuerung:

Google Home (Gassistant Module)
Hier müssen neben GasisstentName und RealRoom noch folgende Attribute gesetzt werden:
genericDeviceType: entweder ,,blinds" oder ,,shutter" um Google zu helfen, das Gerät als Rollladenschalter zu erkennen
eventMap: "open:opens close:closes" da Google Home "opens" an FHEM sendet, das FHEM-Template aber "open" erwartet

Amazon: (50-alexa)
Hier bin ich noch richtig weitergekommen.
Trotz Attribut ,,genericDeviceType" erkennt Alexa den Rollladenschalter nur als Dimmer. So funktioniert ,,Alexa, setze den Rolladen auf 40%" aber eben nicht ,,Alexa, Rollladen hoch"
Auch Befehle wie ,,Alexa, Rollläden in der Küche auf 30%" funktionieren nicht obwohl das Attribut ,,Alexaroom" gesetzt ist.

Beta-User

Danke für die Komplett-Anleitung.

Hier noch ein paar Anmerkungen betr. die Funktionsweise des/der attrTemplate:
Zitat von: oelkanne am 06 Dezember 2020, 13:59:33
[...]
FHEM:
Beta-User: Hier werden nun deine neuen Templates benötigt.
Das attrTemplate versendet auch direkt die backlog-Commands (etwas zeitversetzt, weil zumindest in den älteren Versionen erst der Rollladen-Modus eingestellt werden muss, bevor man die Zeiten etc. (initial) setzen kann ;) . Das braucht man also nicht extra machen (hoffe ich zumindest).
ZitatFHEM Sprachsteuerung:
Das attrTemplate setzt auch gleich den genericDeviceType ;) . Falls da was verbessert werden kann betr. des Mappings, könnte man das auch mit aufnehmen.
Allerdings scheint im Moment eh' allgemein etwas kaputt zu sein, was Rollladen-Geräte angeht (unabhängig von MQTT2_DEVICE).

Generell kann man auch Relais-Karten für Tasmota verwenden und via I2C auch mit noch viel mehr GPIO erweitern, so dass man nicht auf diese spezielle Hardware beschränkt wäre. Für weitere Kanäle müsste man dann aber die backlog-Commands noch erweitern und den .*_CH2 weiter kopieren; aber das Prinzip sollte jetzt ja erkennbar sein :) .
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

oelkanne

Hallo Beta-User,

Wenn man die Backlogbefehle mit ins attrTemplate nehmen könnte wäre das fabelhaft. Dies war für mich eines der schwierigsten Themen und würde zukünftigen Nutzern das Leben sicherlich vereinfachen. Zur Vollständigkeit einen Schaltplan anbei, damit klar eingeschränkt wird, für welche Arten von Rollladenmotoren diese Vorgehensweise passt.

Wäre auch cool wenn attrTemlate vorbereitet wäre für die Sprachsteuerung
GoogleHome:
Für "genericDeviceType" konnte ich keine Unterschiede ausmachen für ,,blinds" oder ,,shutter". Lediglich das Symbol in GoogleHome ist anders.
Etwas schwieriger war herauszufinden das ein eventMap benötigt wird um GoogleHome zu attTemplate kompatibel zu machen.

Für Amazon habe ich allerdings noch keine Idee woran es liegt.


oelkanne

noch vergessen: Ja bestätigt, solange setoption80 1 zuerst kommt, gehen alle ShutterRelay, shuttercloseduration, .. Befehle in einen Rutsch.

ws meinst du mit
ZitatAllerdings scheint im Moment eh' allgemein etwas kaputt zu sein, was Rollladen-Geräte angeht (unabhängig von MQTT2_DEVICE).

Ich bin in Perl nicht so bewandert und arbeite deshalb immer mit den attrTemplates. Dieses Shuttertemplate nutze ich für viele andere Rollläden und es läuft prima.

Beta-User

Danke für den Hinweis betr. setOption 80; habe dann bei der Gelegenheit die attrTemplate für die Shutter-Geschichten alle noch etwas weiter vereinfacht und auch das eventMap mal aufgenommen :) .
Ist aber alles etwas mit "heißer Nadel" gestrickt, bestimmt habe ich irgendwo was übersehen...
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