megamarco83 ha scritto:ciao mi attacco al thread
io ho realizzato con rele di arduino 2canali ed un nodemcu (192.168.0.151) su cui ho messo espeasy
vi posto qui i progressi che ho fatto con espeasy che è molto performante e customizzabile, con cui sono riuscito a gestire, scrivendo anche sul forum inglese, i tasti a muro con anche la funzionalità se premo per meno di 4 secondi il tasto a muro eccito il relè solo per quel tempo (utile se si vuole solo abbassare di poco la tapparella, o se come nel mio caso si ha una veneziana e si può orientarla)
se invece premo per più di 4 secondi il tasto a muro eccito il relè per 25secondi (il tempo della mia tapapparella per fare un movimento completo di apertura o di chiusura)
ed in più ho scritto una regola su espeasy in cui la fase UP e DOWN non possono mai essere attive insieme (una alla volta, in modo che se premo UP e poi DOWN, si toglie l'eccitazione dal relè UP e si eccita il DOWN)
ricapitolando sto usando:
1 nodemcu programmato con espeasy
relay 2ch da arduino
doppio switch a muro per funzionalità UP e Down
per programamre espeasy ho compilato da me il file bin includendo questi due plugin comodissimi!
https://github.com/enesbcs/ESPEasyPluginPlayground/blob/master/_P159_Pushbutton.ino
https://github.com/enesbcs/ESPEasyPluginPlayground/blob/master/_P160_OutputMulti.ino
una volta compilato e flashato espeasy includento questi due plugin ho creato due task così:
quindi ho:
gpio12 = relè1 down
gpio 3 = tasto a muro down
gpio 15 = relè2 up
gpio 1 = tasto a muro UP
poi ho creato queste regole in espeasy:
Codice: Seleziona tutto
on B_UP#Shortpress do
if [relayp#R_UP]>0
output,relayp,0,0
else
output,relayp,1,0
output,relayp,0,1
SendToHTTP 192.168.0.105,8085,/json.htm?type=command¶m=switchlight&idx=31&switchcmd=Off //INVIO A DOMOTICZ SU DUMMY SWITCH IDX31
timerset,1,2 //SETTO A 2SEC IL SINGOLO IMPULSO UP
endif
endon
on B_UP#Longpress do
if [relayp#R_UP]>0
output,relayp,0,0
else
output,relayp,1,0
output,relayp,0,1
SendToHTTP 192.168.0.105,8085,/json.htm?type=command¶m=switchlight&idx=31&switchcmd=Off //INVIO A DOMOTICZ SU DUMMY SWITCH IDX31
timerset,1,6 //SETTO A PER TEST A 6SEC COMPLETA SALITA DELLA TAPPARELLA UP
endif
endon
on B_DOWN#Shortpress do
if [relayp#R_DOWN]>0
output,relayp,1,0
else
output,relayp,0,0
output,relayp,1,1
SendToHTTP 192.168.0.105,8085,/json.htm?type=command¶m=switchlight&idx=31&switchcmd=On //INVIO A DOMOTICZ SU DUMMY SWITCH IDX31
timerset,2,2 //SETTO A 2SEC IL SINGOLO IMPULSO DOWN
endif
endon
on B_DOWN#Longpress do
if [relayp#R_DOWN]>0
output,relayp,1,0
else
output,relayp,0,0
output,relayp,1,1
SendToHTTP 192.168.0.105,8085,/json.htm?type=command¶m=switchlight&idx=31&switchcmd=On //INVIO A DOMOTICZ SU DUMMY SWITCH IDX31
timerset,2,6 //SETTO A PER TEST A 6SEC COMPLETA SALITA DELLA TAPPARELLA DOWN
endif
endon
on Rules#Timer=1 do
output,relayp,0,0
endon
on Rules#Timer=2 do
output,relayp,1,0
endon
come detto in questo modo ho tutto funzionante lato esp e lato tasti a muro e vengono riconosciuti da domoticz i movimenti se fatti da tasti a muro
ora però ho il problema dal lato domoticz di gestire la salita e la discesa della tapparella, sia in continuo che " a colpetti" (in realtà gestire da domoticz a colpetti non mi interessa, basterebbe fare in modo che se premo ad esempio discesa, attiva il relè discesa, ma se premo il pulsante salita, si blocca in quella determinata posizione del momento in cui ho fatto l'inversione)
in domoticz ho creato un dummy switch device che ho modificato entrando nel suo menu in "venetian blind EU" ed ha id = 31 (ecco perchè nelle regole di espeasy ho inviato il comando a idx31)
non so però come gestire i movimenti in domoticz, perchè se uso i classici:
ACCESO = http://192.168.0.154/control?cmd=GPIO,12,1 (gpio12 del rele1 = 1)
SPENTO = http://192.168.0.154/control?cmd=GPIO,15,1 (gpio15 del rele2 = 1)
(nota che per domoticz: ACCESO = APERTO/UP SPENTO = CHIUSO/DOWN )
mi si incasina poi tutto, perchè quando premo il tasto a muro per aprire ad esempio (tasto a muro gpio1=1 e relè gpio15=1) domoticz lo riconosce e cambia lo stato in aperto e mi si attiva lo stato "spento" (che vuol dire chiuso) e domoticz legge il comando scritto dentro http://192.168.0.154/control?cmd=GPIO,15,1 e va in loop
dovrei provare a simulare da domoticz non il relè ma il tasto a muro a questo punto, ma non ho proprio idea di come fare...mi date una mano?