Hej, håller på med en scen för en pushnotis som jag inte riktigt får till.
Vill få en interaktiv pushnotis som frågar om jag vill starta motorvärmaren på bilen, men den ska bara fråga mig om två kriterier är uppfyllda:
1. En tempsensor är under ett visst gradtal (exempelvis kallare än 5gr)
OCH
2. Den ska bara fråga klockan 06.30 på vardagar
Gjorde scenen såhär, men då frågar den så fort tempsensorn rapporterar in ett nytt värde.
Provat att byta plats på datum/temp men samma sak.
Sen fungerar resten fint, jag väljer ja så startas en scen och väljer jag nej så händer inget. Men vill ju bara få frågan en gång om dagen, inte var tionde minut
Kan vara lättare med LUA kanske men har inte kommit igång med det och vet inte riktigt hur det skulle se ut?
Hjälp scen temp och tid
Här är LUA-koden:
--[[
%% autostart
%% properties
326 value
%% weather
%% events
%% globals
--]]
local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(326, "value")) < 5 )
and
( ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "06:30") )
)
then
api.post('/mobile/push', {["mobileDevices"]={234}, ["message"]=[[Idag är det kallt, vill du starta motorvärmaren?]], ["title"]='Motorvärmare', ["category"]='YES_NO', ["data"]={["sceneId"]=2}});
end
setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(326, "value")) < 5 )
and
( (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) )
or
startSource["type"] == "other"
)
then
api.post('/mobile/push', {["mobileDevices"]={234}, ["message"]=[[Idag är det kallt, vill du starta motorvärmaren?]], ["title"]='Motorvärmare', ["category"]='YES_NO', ["data"]={["sceneId"]=2}});
end
end
--[[
%% autostart
%% properties
326 value
%% weather
%% events
%% globals
--]]
local sourceTrigger = fibaro:getSourceTrigger();
function tempFunc()
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(326, "value")) < 5 )
and
( ((currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) and string.format("%02d", currentDate.hour) .. ":" .. string.format("%02d", currentDate.min) == "06:30") )
)
then
api.post('/mobile/push', {["mobileDevices"]={234}, ["message"]=[[Idag är det kallt, vill du starta motorvärmaren?]], ["title"]='Motorvärmare', ["category"]='YES_NO', ["data"]={["sceneId"]=2}});
end
setTimeout(tempFunc, 60*1000)
end
if (sourceTrigger["type"] == "autostart") then
tempFunc()
else
local currentDate = os.date("*t");
local startSource = fibaro:getSourceTrigger();
if (
( tonumber(fibaro:getValue(326, "value")) < 5 )
and
( (currentDate.wday == 2 or currentDate.wday == 3 or currentDate.wday == 4 or currentDate.wday == 5 or currentDate.wday == 6) )
or
startSource["type"] == "other"
)
then
api.post('/mobile/push', {["mobileDevices"]={234}, ["message"]=[[Idag är det kallt, vill du starta motorvärmaren?]], ["title"]='Motorvärmare', ["category"]='YES_NO', ["data"]={["sceneId"]=2}});
end
end