45 minuers timer

Hjälp varandra att vara kreativa för att göra hemmet mer bekvämt.
Post Reply
MickeS
Medlem
Posts: 420
Joined: 12 Oct 2016, 07:53
5

Hej,

Önskar en scen när man trycker på Play i appen på en scen så ska det räknas ner 45 minuter sen stängas av

Får inte till det i Block scenen.
Homecenter 2

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

Skärmklipp.PNG
Denna har jag gjort, men den slår ifrån efter några sekunder.
Kanske är för att den är Överlastad ?
Homecenter 2

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

Löste sig med att lägga in en Auto OFF med 45 minuter på brytaren istället för en Scen.

Enkel och billig lösning :)
Homecenter 2

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

Men mer ekonomiskt och miljövänligt hade det varit att använda en temperaturstyrd motorrvärmare :-)
https://www.zwaveforum.se/viewtopic.php ... are#p21677
HC3 (5.080 Z-Wave 2) med ER4
MickeS
Medlem
Posts: 420
Joined: 12 Oct 2016, 07:53
5

Smart och bra.
Är frun som ska havsörnarna och olika tider varje morgon.
Detta kmr bli för mkt 🥳
Homecenter 2

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

Nääädu MR DreamBox...

denna försökte man sig på men gick bet trots all info i tråden :)


RH_Dreambox wrote: 07 Nov 2021, 19:25 Men mer ekonomiskt och miljövänligt hade det varit att använda en temperaturstyrd motorrvärmare :-)
https://www.zwaveforum.se/viewtopic.php ... are#p21677
Homecenter 2

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

Då gör vi ett försök till :-) Du kanske har missat någon versal eller gemen och då funkar det inte.
Variablerna måste vara korrekta.
Om du har döpt om någon variabel så måste denna uppdateras i både VD och scen.

Jag antar att du har installerat den bifogade VD'n. Kolla vilket ID den fick.
I scenen skall vi göra vissa justeringar enligt nedan, men först skapar vi de globala variablerna.
Den infon står också i början av scenen.

Skapa fyra Globala Variabler enligt nedan. OBS! Var noga med versaler och gemener.

Car_R_DepHour (Avresetid timme)
Car_R_DepMinute (Avresetid minut)
Car_R_RunTime (Driftstid beroende av utetemperaturen)
Car_R_LastDepTime (lastDepartureTimeR)

Skapa sedan en fördefinierad variabel innehållande nedanstående tre värden. Tänk på versaler och gemener.

Car_R_HeaterStatus = Auto, Manuell och StandBy
-----------------------------------------------------

Nedanstående variabler i scenen måste uppdateras. Notera att jag bara visar de rader som är viktiga.

Kolla vilket ID motorvärmarens VD fick då du skapade den och fyll i det.
Ange också ID för värmarens switch/relä.
==========================================
local Car_R_VD_ID = ??? -- ID till din motorvärmares VD
local relayID = ??? -- ändra till ditt relä-ID
==========================================

Om du har en egen temp-sensor så ange dess ID här.
OBS! Har du ingen egen sensor så anger du ID = 3 här.
Då används Yahoo Weather eller YR som temperaturreferens.
==========================================
local tempID = ??? -- ändra till din tempsensors ID
==========================================

Justera förseningstiden eller låt den vara som den är.
==========================================
local turnOffDelay = 15 -- drifttid (förseningstid) efter inställd avresetid
local deBug = false -- visa utökad bugginfo, "false" för att inaktivera
==========================================

Viktigt! Inaktivera eller radera det alternativ som du INTE använder.
Här används rad två som är egen temperatursensor.
==========================================
-- local outTemp = tonumber(fibaro:getValue(tempID, "Temperature")); -- Använd denna rad om temp hämtas från Yahoo Weather
local outTemp = tonumber(fibaro:getValue(tempID, "value")); -- Använd denna rad om du har en egen ute-tempgivare
==========================================
HC3 (5.080 Z-Wave 2) med ER4
MickeS
Medlem
Posts: 420
Joined: 12 Oct 2016, 07:53
5

Ser inte var jag ska ta bort Yahoo Weather, har en egen tempgivare





--[[
%% autostart
%% properties
%% globals
--]]

--[[
-----------------------------------------------------
Skapa följande Globala Variabler Max 18 tecken

Car_R_DepHour = Avresetid timme
Car_R_DepMinute = Avresetid minut
Car_R_RunTime = Driftstid beroende av utetemperaturen
Car_R_LastDepTime = lastDepartureTimeR

Samt en fördefinierad variabel

Car_R_HeaterStatus = Auto, Manuell, StandBy
-----------------------------------------------------
-----------------------------------------------------
Lokala variablers betydelse

local Car_R_VD_ID = ID till din motorvärmares VD
local relayState = Reläets status
local turnOffDelay = Förseningstid efter programmerad avresetid
local lastDeparture = Avresetid + Förseningstid
local heaterStatus = Global Car_R_HeatStatus
------------------------------------------------------
--]]

if (fibaro:countScenes() > 1) then fibaro:abort() end

local Car_R_VD_ID = 906 -- ID till din motorvärmares VD
local relayID = 814 -- ändra till ditt relä-ID

local tempID = 886 -- ändra till din tempsensors ID
---local tempID = 3 -- Om temp hämtas från Yahoo Weather eller YR

local turnOffDelay = 15 -- drifttid (förseningstid) efter inställd avresetid
local deBug = false -- visa utökad bugginfo, "false" för att inaktivera

function logbug(color, message)
fibaro:debug(string.format('<%s style="color:%s;">%s</%s>', "span", color, message, "span"));
end

logbug ("green", "Scenen har startat.");

while true do
local heaterStatus = tostring(fibaro:getGlobalValue("Car_R_HeaterStatus"));


local outTemp = tonumber(fibaro:getValue(tempID, "value")); -- Använd denna rad om du har en egen ute-tempgivare
local relayState = tonumber(fibaro:getValue(relayID, "value"));
local startHour = tonumber(fibaro:getGlobalValue("Car_R_DepHour"));
local startMinute = tonumber(fibaro:getGlobalValue("Car_R_DepMinute"));
local runTime = 0

runTime = math.floor(60 + 100*outTemp/(outTemp - 35))
if outTemp > 13 then
runTime = 0
end

fibaro:setGlobal("Car_R_RunTime", runTime);
local theDate = os.date("*t");
local currentTime=tonumber(os.time());
local departureTime=tonumber(os.time({year=theDate.year, month=theDate.month, day=theDate.day, hour=startHour, min=startMinute}));
local lastDeparture=departureTime + (turnOffDelay * 60);
fibaro:setGlobal("Car_R_LastDepTime", lastDeparture);
local startTime=tonumber(departureTime-runTime*60);

local timeLeft = math.floor((departureTime - currentTime) / 60)
if departureTime < currentTime then
timeLeft = 0
end

if deBug then logbug("orange", "Relästatus: " .. relayState) end;
if deBug then logbug("orange", "Heater status: " .. heaterStatus) end;
if deBug then logbug("orange", "Tid till Autostart: " .. timeLeft .. " min.") end;

-- Starta inte timern om det är varmt ute (>10°C) eller om den redan är startad
if (outTemp <= 10) and (relayState == 0) then
if (currentTime >= startTime) and (currentTime < departureTime) and (heaterStatus == "Auto") then
fibaro:call(relayID, "turnOn");
if deBug then logbug("orange", "Värmen startades automatiskt.") end;
-- fibaro:setGlobal("TTS", "Motorvärmaren startades automatiskt.&vol=10");
end
end

-- Stäng av timern om värmen är på, avresetiden har löpt ut och att manuell styrning är av
if (relayState == 1) and (currentTime >= lastDeparture) and (heaterStatus == "Auto") then
fibaro:call(relayID, "turnOff");
fibaro:setGlobal("Car_R_HeaterStatus", "StandBy");
fibaro:call(Car_R_VD_ID , "setProperty", "ui.LabelStatus.value", string.format("%02d:%02d", startHour, startMinute) .. " / " .. "StandBy");
if deBug then logbug("orange", "Värmen stängdes av.") end;
-- fibaro:setGlobal("TTS", "Motorvärmaren stängdes av.&vol=10");
end

-- Manuell start av värmen
if (relayState == 1) and (heaterStatus == "StandBy") then
fibaro:setGlobal("Car_R_HeaterStatus", "Manuell");
fibaro:call(Car_R_VD_ID , "setProperty", "ui.LabelStatus.value", "Manuell");
if deBug then logbug("orange", "Motorvärmaren startades manuellt.") end;
-- fibaro:setGlobal("TTS", "Motorvärmaren startades manuellt.&vol=10");
end

-- Avsluta manuell uppvärmning, återgå till StandBy
if (relayState == 0) and (heaterStatus == "Manuell") then
fibaro:setGlobal("Car_R_HeaterStatus", "StandBy");
oldHour = fibaro:getGlobalValue("Car_R_DepHour");
oldMinute = fibaro:getGlobalValue("Car_R_DepMinute");
fibaro:call(Car_R_VD_ID , "setProperty", "ui.LabelStatus.value", string.format("%02d:%02d", startHour, startMinute) .. " / " .. "StandBy");
if deBug then logbug("orange", "Växlade från Manuell till StandBy.") end;
-- fibaro:setGlobal("TTS", "Motorvärmaren stängdes av.&vol=10");
end

if deBug then logbug("orange", "Motorvärmaren är " .. relayState .. "-" .. heaterStatus) end;
if deBug then logbug("green", "----------------------------------") end;

fibaro:sleep(15*1000);
end
Homecenter 2

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

Den raden tycks redan vara borttagen eftersom den skulle ha funnits precis under denna rad.

Code: Select all

local outTemp = tonumber(fibaro:getValue(tempID, "value")); -- Använd denna rad om du har en egen ute-tempgivare
HC3 (5.080 Z-Wave 2) med ER4
MickeS
Medlem
Posts: 420
Joined: 12 Oct 2016, 07:53
5

så då borde det ju funka... ?
Homecenter 2

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

verkar inte stå några värden i VD:n heller..
Skärmklipp1.PNG
Homecenter 2

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

Jag sparkade igång min gamla HC2 som har stått i garderoben sedan jag skaffade en HC3 och kopierade in koden från ditt inlägg och VD'n fungerade direkt.
Vad som inte stämmer är den VD som du har på bild. Det är inte den VD som hör till scenen.
Har du modifierat VD'n själv eller har du använt en annan VD?
Så här bör den ha sett ut.
1_Car_Heater_VD.png
1_Car_Heater_VD.png (20 KiB) Viewed 66 times
HC3 (5.080 Z-Wave 2) med ER4
Post Reply