Motion Sensor

Post Reply
MickeS
Medlem
Posts: 425
Joined: 12 Oct 2016, 07:53
7

Hej,

jag har en gammal scen som funkar bra som jag nu vill ha på en annan sensor.
Jag vill även lägga till en Fibarod immer i scenen men får inte till det.

nedan är den ursprungliga scenen, och i den vill jag ha en dimmer till


--[[
%% properties
618 value
%% events
%% globals
--]]

if dofile and not _EMULATED then _EMBEDDED={name="TTT",id=20} dofile("HC2.lua") end

local sensor = 618
local lamp = 581
local countDown = 1*10 -- turn off lamp after sensor safe for 5min

function printf(...) fibaro:debug(string.format(...)) end

if fibaro:countScenes() > 1 then fibaro:abort() end -- only run one instance

local time = os.date("%H:%M")
-- Right time? else exit
if not (time >= "22:00" or time <= "07:00") then fibaro:abort() end

local trigger = fibaro:getSourceTrigger()

if trigger.type=='property' then -- only one trigger so it must be our sensor
local flag = true
if fibaro:getValue(sensor,"value") > "0" then -- if breached
printf("Sensor %s breached, turning on lamp %s",sensor,lamp)
fibaro:call(lamp,"setValue",20) -- turn on lamp
local seconds = countDown -- initialise count down to seconds we will wait
repeat
if fibaro:getValue(sensor,"value") == "0" then -- if sensor safe, count down seconds
if flag then printf("Sensor %s safe, counting down",sensor); flag = false end
seconds = seconds-1
else
printf("Sensor %s breached, resetting counter to %ss",sensor,countDown); flag = true
seconds = countDown -- else reset count down
end
fibaro:sleep(1000) -- sleep 1 second
until seconds <= 0 -- until safe for time specified
printf("Sensor safe for %ss, turning off lamp %s",sensor,lamp)
fibaro:call(lamp,"turnOff") -- ...then turn off lamp
end
end
Homecenter 2

Kameror, värme, larm och belysning från olika leverantörer
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1192
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Enklast är väl att göra så här...

Ändra lamp till lamp1 och lägg till lamp2

local sensor = 618
local lamp1 = 581
local lamp2 = ???


Lägg till en rad för att tända lamp1 och lamp2

fibaro:call(lamp1,"setValue",20) -- turn on lamp1
fibaro:call(lamp2,"setValue",20) -- turn on lamp2

Längst ned lägger du till en rad för att släcka lamp1 och lamp2

fibaro:call(lamp1,"turnOff") -- ...then turn off lamp1
fibaro:call(lamp2,"turnOff") -- ...then turn off lamp2


Och raden längst upp
if dofile and not _EMULATED then _EMBEDDED={name="TTT",id=20} dofile("HC2.lua") end
Den kan du ta bort för den använder du väl dig inte av?
Min gamla ombyggda HC2 har fått ett nytt liv och min HC3 är nu nedkopplad.
HC2 med Home Assistant har blivit en riktig Game Changer och nu har jag hemautomatik på riktigt.
https://www.zwaveforum.se/viewtopic.php?t=7087
MickeS
Medlem
Posts: 425
Joined: 12 Oct 2016, 07:53
7

Funka fint tack !!
Homecenter 2

Kameror, värme, larm och belysning från olika leverantörer
MickeS
Medlem
Posts: 425
Joined: 12 Oct 2016, 07:53
7

Låt säga att båda armaturerna ska släckas efter 5 minuter på dagen.
Men bara en armatur ska tändas mellan 23:59 & 07:00

Hur skulle då scenen se ut ?

--[[
%% properties
618 value
%% events
%% globals
--]]



local sensor = 618
local lamp1 = 581
local lamp2 = 91
local countDown = 1*60 -- turn off lamp after sensor safe for 5min

function printf(...) fibaro:debug(string.format(...)) end

if fibaro:countScenes() > 1 then fibaro:abort() end -- only run one instance

local time = os.date("%H:%M")
-- Right time? else exit
if not (time >= "23:59" or time <= "07:00") then fibaro:abort() end

local trigger = fibaro:getSourceTrigger()

if trigger.type=='property' then -- only one trigger so it must be our sensor
local flag = true
if fibaro:getValue(sensor,"value") > "0" then -- if breached
printf("Sensor %s breached, turning on lamp %s",sensor,lamp)
fibaro:call(lamp1,"setValue",20) -- turn on lamp1
fibaro:call(lamp2,"setValue",3) -- turn on lamp2) -- turn on lamp
local seconds = countDown -- initialise count down to seconds we will wait
repeat
if fibaro:getValue(sensor,"value") == "0" then -- if sensor safe, count down seconds
if flag then printf("Sensor %s safe, counting down",sensor); flag = false end
seconds = seconds-1
else
printf("Sensor %s breached, resetting counter to %ss",sensor,countDown); flag = true
seconds = countDown -- else reset count down
end
fibaro:sleep(1000) -- sleep 1 second
until seconds <= 0 -- until safe for time specified
printf("Sensor safe for %ss, turning off lamp %s",sensor,lamp)
fibaro:call(lamp1,"turnOff") -- ...then turn off lamp1
fibaro:call(lamp2,"turnOff") -- ...then turn off lamp2 -- ...then turn off lamp
end
end
Homecenter 2

Kameror, värme, larm och belysning från olika leverantörer
Post Reply