Motorvärmarstyrning

Här kan du som nybörjare ställa dina frågor utan att skämmas
CQ1
Medlem
Posts: 29
Joined: 03 Jul 2012, 09:57
12

Ja, om 60 är id för den underenhet som visar utetemperatur.
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

ok testar å får vi se :ugeek:
Fibaro fantastic
Aktuell HC2 Version: 4.520
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

Nja funka inte men jag vet inte om jag gjorde rätt
visar firtfarande Yahoos temp
jag ändrade raden i min scen
--[[
%% autostart
%% properties
%% globals
--]]

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

while true do

local relayId = 61;

local manualOverride = tonumber(fibaro:getGlobalValue("heaterOverride"));

local outTemp = tonumber(fibaro:getValue(60, "value"));
local heaterState = tonumber(fibaro:getValue(61, "value"));

local startHour = tonumber(fibaro:getGlobalValue("departureHour"));
local startMinute = tonumber(fibaro:getGlobalValue("departureMinute"));

local diff = 0;
if (outTemp < -10) then
-- Start 2 hours before departure time
diff = 120;
elseif (outTemp < 0) then
-- Start 1.5 hours before departure time
diff = 90;
elseif (outTemp < 10) then
-- Start 1 hour before departure time
diff = 60;
end

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 startTime=tonumber(departureTime-diff*60);

-- Don't start the timer if it's too warm outside
-- (or if its already started)
if (outTemp < 10) and (heaterState == 0) then
if (currentTime >= startTime) and (currentTime < departureTime) then
fibaro:call(61, "turnOn");
end
end


if (heaterState == 1) and (currentTime >= departureTime) and (manualOverride == 0) then
fibaro:call(61, "turnOff");
end

fibaro:sleep(60*1000);
end
behöver jag även ändra denna rad i min main loop i min virituella enhet
fibaro:call(virtualDeviceId , "setProperty", "ui.lblTemp.value", fibaro:getValue(3, "Temperature") .. " C") :oops: :oops:
Fibaro fantastic
Aktuell HC2 Version: 4.520
CQ1
Medlem
Posts: 29
Joined: 03 Jul 2012, 09:57
12

Precis - ändra i main loop också så kommer du se rätt temp.
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

allts så här
fibaro:call(virtualDeviceId , "setProperty", "ui.lblTemp.value", fibaro:getValue(60, "Temperature") .. " C")
Fibaro fantastic
Aktuell HC2 Version: 4.520
CQ1
Medlem
Posts: 29
Joined: 03 Jul 2012, 09:57
12

value istället för Temperature.
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

ok tack
testar ikväll efter jobbet :shock:
Fibaro fantastic
Aktuell HC2 Version: 4.520
zorro
Medlem
Posts: 365
Joined: 22 Oct 2013, 16:16
11

Funkar perfekt
Tack för all hjälp :mrgreen: :mrgreen:
Attachments
skoda motorv.jpg
skoda motorv.jpg (29.26 KiB) Viewed 56608 times
Fibaro fantastic
Aktuell HC2 Version: 4.520
CQ1
Medlem
Posts: 29
Joined: 03 Jul 2012, 09:57
12

Härligt! Varsågod, det var så lite så.
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

Får börja med att tacka för denna guide :)
Måste förbereda motorvärmarna för snart är vintern här ;)
Har ett bekymmer, Yahoo:s temp är ju inte i närheten av verkligheten, kan jag på ett enkelt vis få in en virtuell enhet som visar korret temp, eller kan man lägga in så den hämtar från en global variabel? Hade några timmar igår som jag försökte få till det men det vill sig inte.
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

Löste det själv :)
fibaro:call(virtualDeviceId , "setProperty", "ui.lblTemp.value", fibaro:getGlobalValue("Temp_Norr") .. " C");
Var ju inte så svårt ;)
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

Lägger in en par bilder på en Kupevärmare :)
Attachments
Off
Off
KupevarmareOff.png (14.02 KiB) Viewed 56020 times
On
On
Kupevarmare.png (15.58 KiB) Viewed 56020 times
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

Nu när vintern är här så skulle det vara prima om jag kunde få in att den bara startar när det är "workday true" Ska jag ut å åka annars så är det bara att köra på manuell.
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
User avatar
Bamsefar
Z-Wave Kung
Posts: 1268
Joined: 25 Nov 2013, 15:06
11
Location: Stockholm

Code: Select all

While true and fibaro:getGlobalValue("Workday") == "true"
Eller något liknande...
Kör Home Assistant efter totalt nederlag för HomeSeer :twisted: :twisted: :mrgreen:
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

Tackar Bamsefar, fungerade bra tills vi kom på att gumman jobbar ju helg ibland :o
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1203
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Jag tänkte att vi skulle uppgradera CQ1's fina motorvärmarfunktion med en hemmasnickrad formel så att tiden räknas ut automatiskt med hjälp av temperaturen. Det innebär att vi inte "eldar för kråkorna" genom att ha för stora temperatursteg.
Energimyndigheten har räknat ut bästa Tid/Temperaturkurva som ser ut som den bifogade bilden.
Optimal motorvärmartid
Optimal motorvärmartid
Diagram_Temp-Tid.jpg (172.24 KiB) Viewed 52502 times
Gör så här. Inaktivera eller radera nedanstående kodrader som finns i Scen-koden:
######################################
if (outTemp < -10) then
-- Start 2 hours before departure time
diff = 120;
elseif (outTemp < 0) then
-- Start 1.5 hours before departure time
diff = 90;
elseif (outTemp < 10) then
-- Start 1 hour before departure time
diff = 60;
end
######################################
Ersätt ovanstående rader med dessa rader: (Anm. Kod uppdaterad pga. negativa värden över 13 plusgrader)
diff = math.floor(60 + 100*outTemp/(outTemp - 35))
if outTemp > 13 then
diff = 0;
end
######################################
Scen-scriptet kommer nu att beräkna optimal värmartid beroende på utetemperaturen.
Använd gärna formeln i andra sammanhang, med tala gärna om källan :-)
Attachments
Motorvärmarfunktion
Motorvärmarfunktion
Block_Heater_Display.JPG (35.21 KiB) Viewed 52502 times
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
User avatar
sonnyboy
Proffsmedlem
Posts: 669
Joined: 26 Sep 2013, 08:05
11
Location: Västerås

Nice :)
Hur får du in uppvärmningstid i vd:n
Fibaro HomeCenter 2
Fw 4.600
BeyondMeasure 1.10
EventRunner
CQ1
Medlem
Posts: 29
Joined: 03 Jul 2012, 09:57
12

Snyggt!! Sådär ska det se ut - energismart!
User avatar
RH_Dreambox
Z-Wave Kung
Posts: 1203
Joined: 03 Jan 2015, 16:49
9
Location: Vegby
Contact:

Sonnyboy, jag är nybörjare på det här men med hjälp av Bamsefars förträffliga LUA-kurs gjorde jag så här för att skriva in beräknad uppvärmningstid. Obs! Var noga med versaler och gemener för nu pratar vi Linux :-)
Koden är kanske inte optimal, men den fungerar :-)

1. Skapa den globala variabeln diffStart
2. Öppna scenkoden och lägg till nedanstående kodrad strax efter min tidigare beskrivna kodsnutt.
fibaro:setGlobal("diffStart", diff)
3. Öppna den virtuella enheten och lägg till en Label vars ID: skall heta lblStart.
4. Lägg till nedanstående rader strax före raden "fibaro:sleep(6000)"
local startHeat
startHeat = fibaro:getGlobalValue("diffStart")
fibaro:call(virtualDeviceId , "setProperty", "ui.lblStart.value", startHeat .. " min");
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
Nex
Proffsmedlem
Posts: 554
Joined: 21 Nov 2013, 18:33
11

Tänkte lägga in den här finurliga koden till vår bilvärme men tänkte höra om det gick att få in ett par funktioner till. Kan man enkelt lägga till så att man får ett pushmeddelande när det är 5min kvar innan avresetiden? För i mitt fall så är inte den beräknade avresetiden = faktisk avresetid. Har en förmåga att bli 10min sen och om motorvärmaren stängs av 10min innan avresetid så har man i stort sett bara eldat för kråkorna eftersom en bil ute i vårt klimat blir iskall på 10min under vintertid... Skulle således även vilja att den fortsätter värma 15min efter beräknad avresetid så att man får full effekt tills man faktiskt kör iväg. Eller hur många av er lyckas träffa in exakta avresetiden när ni åker? ;) Bidrar med två ikoner jag hittat på nätet och målat om...
Attachments
on
on
motorvärmareon.png (66.85 KiB) Viewed 21984 times
off
off
motorvärmareoff.png (66.85 KiB) Viewed 21984 times
Post Reply