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
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
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