Dopuszkowa TUYA 2 kanałowa

Szukałem ostatnio coś do puszki ale z dwoma przekaźnikami. Jedyne co znalazłem to Wifi Switch Module QS-WIFI-S04-2C
Tutaj link: TUYA 2CH

image

Co ja się z tym namęczyłem …, ale udało się więc opisuję.
Można spróbować bez otwierania przez https://github.com/ct-Open-Source/tuya-convert Ja tego nie sprawdzałem.
Moim sposobem otwieramy moduł podważając od spodu śrubokrętem i lutujemy jak niżej


Wgrywamy oczywiście Tasmotę, ale specjalną wersję obsługującą Skrypty. Można sobie skompilować, albo pobrać skompilowany prze zemnie plik Scripts_v8.1.0.bin pod adresem https://github.com/cino111/Softy-AIS-Tasmota
Po wgraniu softu i połaczeniu się z naszą siecią WiFi wchodzimy w konfiguracja->Inne konfiguracje i tu
image
i w polu szablon wklejamy:
{“NAME”:“Moes MS-104B”,“GPIO”:[0,0,17,0,160,0,0,0,43,42,21,22,0],“FLAG”:0,“BASE”:18}
następnie wchodzimy w konfiguracja ->Edit Script i w zależności czy chcemy używać włącznika bistabilnego (normalny przełacznik), czy monostabilnego (dzwonkowy) wklejamy:

dla BISTABILNY:

>D
sw1=0
sw2=0
cnt1=0
cnt2=0
timer1=0
timer2=0
pwr1=0
pwr2=0
pwr1save=0
pwr2save=0

>B
=>print "WiFi 2-Gang Switch Script"



>F
; Counter1/2 and Relay1/2 configured in template
cnt1=pc[1]
cnt2=pc[2]

if chg[cnt1]>0
then
; counter1 has changed, switch is on, reset counter
sw1=1
else
; no change switch is off
sw1=0
endif

if chg[cnt2]>0
then
; counter2 has changed, switch is on,
sw2=1
else
; no change switch is off
sw2=0
endif

; 100 ms timer
timer1+=1
timer2+=1

if sw1==1
and timer1>2
and pwr1==0

then
=>Power1 1
pwr1=1
endif

if sw1==0
and timer1<=2
and pwr1==1

then
=>Power1 0
pwr1=0
endif

if sw1==0
then
timer1=0
endif

if sw2==1
and timer2>2
and pwr2==0
then
=>Power2 1
pwr2=1
endif

if sw2==0
and timer2<=2
and pwr2==1
then
=>Power2 0
pwr2=0
endif

if sw2==0
then
timer2=0
endif

>S

;to avoid possible issues when increasing counters and variables

if timer1>10
then
->Counter1 0
timer1=3
endif

if timer2>10
then
->Counter2 0
timer2=3
endif

dla MONOSTABILNY

>D
sw1=0
sw2=0
cnt1=0
cnt2=0
timer1=0
timer2=0
toggle1=0
toggle2=0

>B
=>print ""WiFi 2-Gang Switch Script""

>F
; Counter1/2 and Relay1/2 configured in template
cnt1=pc[1]
cnt2=pc[2]

if chg[cnt1]>0
then
; counter1 has changed, switch is on
sw1=1
else
; no change switch is off
sw1=0
endif

if chg[cnt2]>0
then
; counter2 has changed, switch is on
sw2=1
else
; no change switch is off
sw2=0
endif

; 100 ms timer
timer1+=1
timer2+=1

if sw1==0
and timer1>2
and timer1<30
then
;=>print short press1
toggle1^=1
=>Power1 %toggle1%
endif

if sw1==0
then
timer1=0
endif

if sw2==0
and timer2>2
and timer2<30
then
;=>print short press2
toggle2^=1
=>Power2 %toggle2%
endif

if sw2==0
then
timer2=0
endif

>S
; restart the device every sunday at 04:00
; to avoid possible issues when increasing counters and variables

if wday==1
and hours==4
and mins==0
and secs==0
then
->Restart 1
endif

3 polubienia

Dzięki za bardzo jasny opis. Przydał mi się. Jednak problem sterowania przyciskiem przy użyciu przycisku AC został już rozwiązany. Od tasmota 8.4 jest coś takiego jak SwitchDebounce i wystarczy jedna komenda aby przyciski zaczęły działać . Tutaj podrzucam linka do opisu.: https://templates.blakadder.com/moes-MS-104B.html

2 polubienia