Script for IoT air freshener  [Solved]

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

Moderator: leecollings

Post Reply
QSKONE
Posts: 38
Joined: Monday 12 February 2018 12:56
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Contact:

Script for IoT air freshener

Post by QSKONE »

Hi , Can you help me? Need script for my IoT air freshener.
https://www.youtube.com/watch?v=gjjP781KOzw
When I try double click - spray it twice action (spray-pause-spray) then everything I make is a loop.
Thanks
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: Script for IoT air freshener

Post by waaren »

QSKONE wrote: Tuesday 08 January 2019 22:13 Hi , Can you help me? Need script for my IoT air freshener.
https://www.youtube.com/watch?v=gjjP781KOzw
When I try double click - spray it twice action (spray-pause-spray) then everything I make is a loop.
Thanks
What are the device ID's of button and sprayer ?
and what is types and subtype of the activator for the sprayer ?
What should be the pause ?
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
QSKONE
Posts: 38
Joined: Monday 12 February 2018 12:56
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Contact:

Re: Script for IoT air freshener

Post by QSKONE »

Spray is switch idx is 90 , button idx is 9 and pause 2 seconds.
User avatar
waaren
Posts: 6028
Joined: Tuesday 03 January 2017 14:18
Target OS: Linux
Domoticz version: Beta
Location: Netherlands
Contact:

Re: Script for IoT air freshener  [Solved]

Post by waaren »

QSKONE wrote: Tuesday 08 January 2019 22:20 Spray is switch idx is 90 , button idx is 9 and pause 2 seconds.
Can you test this ? You have to add a uservariable type string with name spray first.

Code: Select all

-- sprayer
 local sprayVariable = "spray"        -- create this variable with name spray as type string
        
 return {
            on = {  variables =     { sprayVariable },
                    devices     =   { 9             }}, 
    
    logging =   {   level   =   domoticz.LOG_DEBUG,
                    marker  =   "sprayer" },    

    execute = function(dz,item)
        
        local sprayer           = dz.devices(90)        
        local sprayTrigger      = dz.variables(sprayVariable)
        local pause = 2
        
        local function spray(cycles)
            if cycles == 2 then
                sprayTrigger.set(os.date("%x %X")).afterSec(pause)    
            end        
            sprayer.switchOn()
            sprayer.switchOff().afterSec(1)
        end
        
        
        if item.isDevice then
            local buttonState       = item.levelName
            if      buttonState == "Click" then spray(1)
            elseif  buttonState == "Double Click" then spray(2) end
        else
            spray(1)
        end   
    end   
}
Debian buster, bullseye on RPI-4, Intel NUC.
dz Beta, Z-Wave, RFLink, RFXtrx433e, P1, Youless, Hue, Yeelight, Xiaomi, MQTT
==>> dzVents wiki
QSKONE
Posts: 38
Joined: Monday 12 February 2018 12:56
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Contact:

Re: Script for IoT air freshener

Post by QSKONE »

Thanks you very much warren. Script works like a charm.
https://www.youtube.com/watch?v=V5Ll-xLg5LQ
Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest