timer ciclico per uno switch

Configurazione ed uso di DOMOTICZ, versatile software free per la gestione domotica.
megamarco83
Messaggi: 246
Iscritto il: 22/08/2016, 14:13

timer ciclico per uno switch

Messaggioda megamarco83 » 20/09/2018, 14:03

Ciao, in domoticz ho un interruttore switch che accende una pompa.
vorrei però comandarlo in modo ciclico, ad esempio che tutti i giorni dalle 6 del mattino si accenda ogni 30min e stia accesa per 10min, poi si spegna e così via, fino al'una di notte.
come bisogna fare?
grazie



megamarco83
Messaggi: 246
Iscritto il: 22/08/2016, 14:13

Re: timer ciclico per uno switch

Messaggioda megamarco83 » 21/09/2018, 15:05

Ciao ma se ho un dummy sensor (interuttore on/off) che si chiama pompa circolazione.. come faccio ad esempio a gestire:
Da lune a venerdi dalle 6:00 alle 23:59 e dalle 00:00 alle 1:30
Pompa di circolazione on 10min poi off 30min
Poi on 10min e off 30min
E cosi via
Al di fuori di questi orari (dalla 1:31 alle 5:59) sempre off

Nel weekend sabato e domenica
Dalle 9:00 alle 23:59 e dalle 00:00 alle 1:30 accensioni cicliche come prima
Ed al di fuori di questi orari sempre off

Grazie


megamarco83
Messaggi: 246
Iscritto il: 22/08/2016, 14:13

Re: timer ciclico per uno switch

Messaggioda megamarco83 » 24/09/2018, 20:19

ciao Flavio e grazie
alla fine ho risolto creandomi un ciclo con dzvent
posto il codice, magari a qualcuno serve:

Codice: Seleziona tutto

--cycle circulation pump

return {
        on      =   {   timer   = { "every 4 minutes at 06:30-01:00 on mon,tue,wed,thu,fri", -- tempo di accensione e fasce
                                    "every 4 minutes at 09:00-01:30 on sat,sun",
                                    "at 01:01"                                                }}, -- orario da cui deve spegnersi
   
       logging =   {   level   =   domoticz.LOG_DEBUG,
                       marker  =   "cycling" },

    execute = function(dz,trigger)
         local pump = dz.devices("VCM_Sonoff")
         dz.log("Trigger: ".. trigger.trigger,dz.LOG_DEBUG)
         
         if  dz.time.matchesRule("at 01:0* on mon,tue,wed,thu,fri") then
            pump.switchOff().checkFirst()   
            return                                                  -- Stops execution of this script on mon,tue,wed,thu,fri
         end
         if  dz.time.matchesRule("at 01:3* on sat,sun") then
            pump.switchOff().checkFirst()   
            return                                                  -- Stops execution of this script on sat,sun
         end
       if dz.variables("stop_script_pompa").value == "false" then    -- aggiunto controllo variabile utente se false=cicla se true=stop
         if pump.state == "On" then
            pump.switchOff()   
         elseif pump.lastUpdate.minutesAgo > 13 then  -- tempo di OFF = valore scritto +2 (esempio spento x 15min)
            pump.switchOn()
         end
       end     
    end
}

il dummy device che vado a pilotare è VCM_Sonoff
ho creato un altro dummy device che si chiama: stop_script_pompa (che uso per gli azionamenti manuali per interrompere il ciclo nel caso ne abbia bisogno)
se voglio interromperlo manualmente metto su on lil dummy device "stop_script_pompa"
in più ho anche creato uno scenario in cui se premuto, mette ad on l'interruttore stop_script_pompa e la mia pompa "VCM_Sonoff" e dopo 10min li spegne così che riparte il ciclo dzvent


Torna a “Domoticz”

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti