Mijn vraag
Ik gebruik sinds kort Domoticz in combinatie met beweging sensors (Fibaro Zwave) en Philips Hue verlichting.
Van de Domoticz wiki heb ik een (goed werkend) LUA script gebruikt om de verlichting aan te zetten bij beweging.
Bron: https://www.domoticz.com/wiki/Smart_Lua_Scripts
Dit script gaat echter uit van het feit dat je niet kan controleren of je verlichting aan staat. Voor het script om de verlichting uit te schakelen vind ik dat prima, echter zou ik graag bij het aanzetten van de verlichting willen controleren of de betreffende verlichting aan staat en indien dit niet het geval is geen actie ondernemen.
Op basis van de dummy switch kan ik wel al functionaliteit toevoegen maar ik weet niet hoe ik dit voor elkaar krijg.
Ik hoop dan ook dat iemand mij een beetje op weg kan helpen.
Hierbij het script zoals ik het nu gebruik:
function customtest(nowhours, nowmins, starthours, startmins, endhours, endmins)
nowmins = nowmins + (nowhours * 60)
startmins = startmins + (starthours * 60)
endmins = endmins + (endhours * 60)
if (startmins > endmins) then
-- spans midnight
if ((nowmins >= startmins) or (nowmins <= endmins)) then
return true
else
return false
end
else
-- doesn't span midnight
if ((nowmins >= startmins) and (nowmins <= endmins)) then
return true
else
return false
end
end
end
function timetest(opertime)
if opertime == "a" then
return true
end
if opertime == "n" then
if timeofday['Nighttime'] then
return true
else
return false
end
end
if opertime == "d" then
if timeofday['Daytime'] then
return true
else
return false
end
end
if opertime == "s" then
if (otherdevices['IsDonker'] == "On") then
return true
else
return false
end
end
if opertime == "1" then
time = os.date("*t")
return customtest(time.hour, time.min, 6, 40, 23, 45)
end
return false
end
commandArray = {}
tc=next(devicechanged)
v=tostring(tc)
if (v:sub(1,3) == 'PIR') then
if timetest(v:sub(4,4)) then
c=v:sub(7)
if v:sub(5,5) == "g" then
c="Group:"..c
end
commandArray[c] = 'On'
tmess = c..' On - time 0'
print(tmess)
end
end
return commandArray
Relevante software en hardware die ik gebruik
Raspberry PI 2 B
Jessie lite Raspbarian
Domoticz: Version: 3.8153 / Build Hash: 494fff7
Fibaro Motion Sensor V2
AEON labs zwave USB gen5
Wat ik al gevonden of geprobeerd heb
2 dagen forums, wiki's en manuals lezen en proberen.
Alvast bedankt voor jullie tips en tijd!
Groet,
Jesse
Ik gebruik sinds kort Domoticz in combinatie met beweging sensors (Fibaro Zwave) en Philips Hue verlichting.
Van de Domoticz wiki heb ik een (goed werkend) LUA script gebruikt om de verlichting aan te zetten bij beweging.
Bron: https://www.domoticz.com/wiki/Smart_Lua_Scripts
Dit script gaat echter uit van het feit dat je niet kan controleren of je verlichting aan staat. Voor het script om de verlichting uit te schakelen vind ik dat prima, echter zou ik graag bij het aanzetten van de verlichting willen controleren of de betreffende verlichting aan staat en indien dit niet het geval is geen actie ondernemen.
Op basis van de dummy switch kan ik wel al functionaliteit toevoegen maar ik weet niet hoe ik dit voor elkaar krijg.
Ik hoop dan ook dat iemand mij een beetje op weg kan helpen.
Hierbij het script zoals ik het nu gebruik:
function customtest(nowhours, nowmins, starthours, startmins, endhours, endmins)
nowmins = nowmins + (nowhours * 60)
startmins = startmins + (starthours * 60)
endmins = endmins + (endhours * 60)
if (startmins > endmins) then
-- spans midnight
if ((nowmins >= startmins) or (nowmins <= endmins)) then
return true
else
return false
end
else
-- doesn't span midnight
if ((nowmins >= startmins) and (nowmins <= endmins)) then
return true
else
return false
end
end
end
function timetest(opertime)
if opertime == "a" then
return true
end
if opertime == "n" then
if timeofday['Nighttime'] then
return true
else
return false
end
end
if opertime == "d" then
if timeofday['Daytime'] then
return true
else
return false
end
end
if opertime == "s" then
if (otherdevices['IsDonker'] == "On") then
return true
else
return false
end
end
if opertime == "1" then
time = os.date("*t")
return customtest(time.hour, time.min, 6, 40, 23, 45)
end
return false
end
commandArray = {}
tc=next(devicechanged)
v=tostring(tc)
if (v:sub(1,3) == 'PIR') then
if timetest(v:sub(4,4)) then
c=v:sub(7)
if v:sub(5,5) == "g" then
c="Group:"..c
end
commandArray[c] = 'On'
tmess = c..' On - time 0'
print(tmess)
end
end
return commandArray
Relevante software en hardware die ik gebruik
Raspberry PI 2 B
Jessie lite Raspbarian
Domoticz: Version: 3.8153 / Build Hash: 494fff7
Fibaro Motion Sensor V2
AEON labs zwave USB gen5
Wat ik al gevonden of geprobeerd heb
2 dagen forums, wiki's en manuals lezen en proberen.
Alvast bedankt voor jullie tips en tijd!
Groet,
Jesse
jesse