Which time triggers occur ?

Easy to use, 100% Lua-based event scripting framework.

Moderator: leecollings

Post Reply
romeo
Posts: 9
Joined: Sunday 19 March 2017 16:12
Target OS: -
Domoticz version:
Contact:

Which time triggers occur ?

Post by romeo »

Hi all,

I need different time triggers rules for each month.

Code: Select all

return {

on = {
	    
	    timer = {
	     
	     -- For Open door
	    'at 06:30',                     
	     
	     -- Close Door
	    '5 minutes after sunset on */1', 
            '10 minutes after sunset on */2',
            '12 minutes after sunset on */3, */4',
            '15 minutes after sunset on */5',
            '17 minutes after sunset on */6, */7',
            '20 minutes after sunset on */8',
            '16 minutes after sunset on */9',
            '12 minutes after sunset on */10',
            '7 minutes after sunset on */11',
            '5 minutes before sunset on */12'
            }
            
            
 execute = function(domoticz, item)
 
 	if (item.isTimer) then 
 	
 		Here, How to check what trigger rule is performed ??
 	
 	end
 	
 
end         
            
            
}    

How to know the time trigger performed ?

Thanks in advance,
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: Which time triggers occur ?

Post by waaren »

romeo wrote: Saturday 02 February 2019 10:12 I need different time triggers rules for each month.
How to know the time trigger performed ?
Try this,

Code: Select all

return {

on = {
	    
	    timer = {
	     
                     -- For Open door
                    'at 06:30', 
                                            
                     -- Close Door
                        '5 minutes after sunset on */1', 
                        '10 minutes after sunset on */2',
                        '12 minutes after sunset on */3', 
                        '12 minutes after sunset on */4',
                        '15 minutes after sunset on */5',
                        '17 minutes after sunset on */6',
                        '17 minutes after sunset on */7',
                        '20 minutes after sunset on */8',
                        '16 minutes after sunset on */9',
                        '12 minutes after sunset on */10',
                        '7 minutes after sunset on */11',
                        '5 minutes before sunset on */12'
                },
      },      
            
    execute = function(domoticz, item)
 
        if (item.isTimer) then 
 	
            -- Here, How to check what trigger rule is performed ??
            domoticz.log("triggered by timer rule " .. item.trigger,domoticz.LOG_FORCE )
        end
    end   
}
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
romeo
Posts: 9
Joined: Sunday 19 March 2017 16:12
Target OS: -
Domoticz version:
Contact:

Re: Which time triggers occur ?

Post by romeo »

Thanks waaren, it works great !!

Now, I have to find the right pattern for time trigger rules expression
My goal is to know if I have to close or open the door according to the timer rule
For opening, I just test with if(item.trigger == 'at 06:30)' then => Open
All time rules "XX minutes after sunset on XX" are for closing the door
For closing, if(item.trigger.match(XX minutes after sunset on XX) => Close


Other question !

Can I put time triggers rules as variable ??

Code: Select all

return{

local TIME_OPEN = 'at 06:30'

local TIME_CLOSE = ?????

on = {
	    
	    timer = {
	        
	       TIME_OPEN,        -- For opening
	        
	        TIME_CLOSE	 -- For closing
           
	        
	    },
....
....

}
TIME_CLOSE should be
'5 minutes after sunset on */1',
'10 minutes after sunset on */2',
'12 minutes after sunset on */3',
'12 minutes after sunset on */4',
'15 minutes after sunset on */5',
'17 minutes after sunset on */6',
'17 minutes after sunset on */7',
'20 minutes after sunset on */8',
'16 minutes after sunset on */9',
'12 minutes after sunset on */10',
'7 minutes after sunset on */11',
'5 minutes before sunset on */12'
but that doesn't work !!
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: Which time triggers occur ?

Post by waaren »

romeo wrote: Saturday 02 February 2019 13:11 Other question !
Can I put time triggers rules as variable ??
Try this

Code: Select all

local timeOpen           = 'at 06:30'
local times              =  {   timeOpen,
                                '5 minutes after sunset on */1', 
                                '10 minutes after sunset on */2',
                                '12 minutes after sunset on */3', 
                                '12 minutes after sunset on */4',
                                '15 minutes after sunset on */5',
                                '17 minutes after sunset on */6',
                                '17 minutes after sunset on */7',
                                '20 minutes after sunset on */8',
                                '16 minutes after sunset on */9',
                                '12 minutes after sunset on */10',
                                '7 minutes after sunset on */11',
                                '5 minutes before sunset on */12',
                            }

return {


on = {
	    timer = times
      },      
            
    execute = function(domoticz, item)
 
        if (item.isTimer) then 
            domoticz.log("triggered by timer rule " .. item.trigger,domoticz.LOG_FORCE )
            if item.trigger == timeOpen then                                -- Here, How to check what trigger rule is performed ??
                domoticz.log("Should  open",domoticz.LOG_FORCE )
            else
                domoticz.log("Should  close",domoticz.LOG_FORCE )
            end
        end
    end   
}
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
romeo
Posts: 9
Joined: Sunday 19 March 2017 16:12
Target OS: -
Domoticz version:
Contact:

Re: Which time triggers occur ?

Post by romeo »

Thanks again waaren.

My script is on the good way.
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest