Motorvärmarstyrning

Här kan du som nybörjare ställa dina frågor utan att skämmas
sonnyboy
Proffsmedlem
Posts: 602
Joined: 26 Sep 2013, 08:05
Location: Västerås

04 Sep 2018, 21:24

Leta rätt på denna rad i Scenen
if (outTemp < 10)
Och ändra till 20 istället.
Den säger att starta inte värmaren om temperaturen är 10 grader.
Fibaro HomeCenter 2
Fw 4.512 Beta
BeyondMeasure 1.10
25 Enheter, 55 Scener tidigare, 8 nu med gea GEA
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

05 Sep 2018, 08:25

Hej

Den gick inte igång , är det bara att ange Avresetid ? trycker man på den där power/on knappen innan så hoppar avresetiden 1 timma framåt ?
jag ändrade till 20 grader det var 14 grader nu på morgonen, har även lagt in Netatmo i fibaro kan man inte hämta ute temp därifrån istället.

MrDTS
sonnyboy
Proffsmedlem
Posts: 602
Joined: 26 Sep 2013, 08:05
Location: Västerås

05 Sep 2018, 08:33

Vi börjar med att få detta att funka innan vi kollar byte till netatmo, kan du ta en skärmdump på dina variabler och posta dom här.
Ta gärna en skärmdump på VD:n också så jag får se hur den se ut.
Fibaro HomeCenter 2
Fw 4.512 Beta
BeyondMeasure 1.10
25 Enheter, 55 Scener tidigare, 8 nu med gea GEA
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

05 Sep 2018, 10:37

Toppen
Fixar ikväll...
RH_Dreambox
Proffsmedlem
Posts: 883
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

05 Sep 2018, 16:29

Jag tror inte det går att testa motorvärmaren vid temperaturer över 13 grader eftersom formeln då ger negativa utvärden.

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

Alternativt kan du stoppa in tempgivaren (Netatmo) i kylen under testet.
Attachments
Temp-tid_kurva.png
2 st HC2 4.520, Recovery-stickorna ligger i skrivbordslådan nu!
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

05 Sep 2018, 17:02

ok kan vara så, nu har inte jag netatmo ännu med utan den hämtar fibaros väder tydligen.
Behöver lägga in netatmos ID för utegivaren då i scriptet

MrDTS
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

05 Sep 2018, 20:53

bild1.png

MrDTS
RH_Dreambox
Proffsmedlem
Posts: 883
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

06 Sep 2018, 11:14

Jag beskrev i ett tidigare inlägg hur du kunde lägga in din Netatmo som temperatursensor i stället för variabeln Temp-Norr.
I den senaste versionen av Sonnyboy's kod hämtas temperaturen från Fibarons väderplugin i stället.

Men om du vill använda din Netatmo så ändrar du koden på rad 15 tror jag det blir
från
local outTemp = tonumber(fibaro:getValue(3, "Temperature")) -- Använder fibaros tempservice
till
local outTemp = tonumber(fibaro:getValue(Netatmo ID, "value")) -- Ange ID för Netatmo utetemp.
2 st HC2 4.520, Recovery-stickorna ligger i skrivbordslådan nu!
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

06 Sep 2018, 11:37

Tack, ska prova ikväll : )
Är det bara i Scenen man ändrar eller även i VD ? där finns temp med i den sista scriptet.

MrDTS
RH_Dreambox
Proffsmedlem
Posts: 883
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

06 Sep 2018, 16:11

Ja det stämmer att du skall ändra i VD'n också. Den raden visar temperaturen i VD'n gränssnitt.
Motorvärmaren kommer att fungera men VD'n kommer att visa en annan temperatur om raden inte ändras.
Det är då viktigt att det inte står "Temperature" i kodraden utan "value".
2 st HC2 4.520, Recovery-stickorna ligger i skrivbordslådan nu!
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

06 Sep 2018, 20:11

Det verkar vara något fel, får inte in netatmo, här är hela scenen.

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

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

while true do

local relayId = 231 -- id på din brytare

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

local outTemp = tonumber(fibaro:getValue(245, "value"))
local WorkDay = (fibaro:getGlobal("WorkToday"))-- True eller False förväntas
local heaterState = tonumber(fibaro:getValue(relayId, "value"))

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

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

fibaro:setGlobal("diffStart", diff)
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
if (WorkDay == "True") then
fibaro:call(relayId, "turnOn");
end
end
end
fibaro:debug("heaterState: " .. heaterState);
fibaro:debug("currentTime: " .. currentTime);
fibaro:debug("departureTime: " .. departureTime);
fibaro:debug("manualOverride: " .. manualOverride);
fibaro:debug("outTemp: " .. outTemp);
fibaro:debug("WorkDay: " .. WorkDay);
fibaro:debug("-------------------------------------");
if (heaterState == 1) and (currentTime >= departureTime) and (manualOverride == 0) then
fibaro:call(relayId, "turnOff");
end

fibaro:sleep(60*1000);
end


MrDTS
Last edited by MrDTS on 07 Sep 2018, 20:24, edited 4 times in total.
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

06 Sep 2018, 20:12

Här är sista på VD

local relayId = 231;
virtualDeviceId = fibaro:getSelfId()
--local virtualDeviceId = 93;
oldHour = fibaro:getGlobalValue("departureHour");
oldMinute = fibaro:getGlobalValue("departureMinute");
local state = "På";
if (tonumber(fibaro:getValue(relayId , "value")) == 0) then
state = "Av"
end

fibaro:call(virtualDeviceId , "setProperty", "ui.lblTime.value", string.format("%02d:%02d", oldHour, oldMinute));
fibaro:call(virtualDeviceId , "setProperty", "ui.lblTemp.value", fibaro:getValue(245, "value") .. " C");
fibaro:call(virtualDeviceId , "setProperty", "ui.lblState.value", state);
local startHeat
startHeat = fibaro:getGlobalValue("diffStart")
fibaro:call(virtualDeviceId , "setProperty", "ui.lblStart.value", startHeat .. " Min");
fibaro:call(virtualDeviceId , "setProperty", "ui.lblWork.value", fibaro:getGlobal("WorkToday") .. "" );


fibaro:sleep(60*1000);




MrDTS
Last edited by MrDTS on 07 Sep 2018, 20:25, edited 1 time in total.
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

06 Sep 2018, 21:16

Ok, nu har fått till det löste det själv ; )

Scenen ska vara:
local outTemp = tonumber(fibaro:getValue(245, "value"))

i VD:
fibaro:call(virtualDeviceId , "setProperty", "ui.lblTemp.value", fibaro:getValue(245, "value") .. " C");

Då var man tillbaka till ruta ett då, hur får man igång den (nu har jag 7 grader i temp) kan man bara ställa den 1 tim framåt på avresrtiden så ska den hoppa igång ?


MrDTS
RH_Dreambox
Proffsmedlem
Posts: 883
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

07 Sep 2018, 09:17

Det var ju bra att du själv kom på hur VD-koden skulle se ut. Det var en nyttig erfarenhet :-).

Om du tittar i diagrammet ovan så ser du att vid +7 grader så skall värmaren starta 35 minuter före avresetiden.
Beroende på vilken förseningstid du har så stänger värmaren av vid avresetid + förseningstid.

Edit:
Förseningstiden kan ju vara bra om du har lite ojämna vanor på morgonen eller om du råkar försova dig så att avresetiden passerat då du kommer ut till bilen.
Du slipper då att sätta dig i en kall bil.
2 st HC2 4.520, Recovery-stickorna ligger i skrivbordslådan nu!
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

07 Sep 2018, 20:22

Hej

Ställer man bara avresetiden ? eller måste man aktivera den på något sätt ?

Nu har jag ändrat ovan till de nya scripten jag har just nu, får det inte att fungera ?.

MrDTS
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

07 Sep 2018, 21:42

jippi nu fungerar den, hittade felet.

Ända som inte verkar fungera är symbolen för På där har jag bytt bild till Defa symbol med den röda snurran ?
Jag har den andra symbolen på Defa utan den röda snurran på alla andra där det gick att byta symbol ?
Var hittar jag förseningstiden ?

MrDTS
RH_Dreambox
Proffsmedlem
Posts: 883
Joined: 03 Jan 2015, 16:49
Location: Vegby
Contact:

08 Sep 2018, 09:54

Det finns flera varianter av motorvärmaren eftersom man vill anpassa den för eget bruk, och jag kunde inte hitta någon förseningstid i Sonnyboy's kod.
Beträffande iconerna så måste varje knapp i VD'n konfigureras med den icon man vill se. Switchen skall konfigureras med en On och en Off-icon om man har egna iconer.

Min motorvärmare är anpassad för min familjs behov och jag har en "padda" på väggen i hallen som hämtar data från Fibaron.
Förseningstiden kallad "turnOffDelay" är en parameter som jag sätter manuellt i LUA-koden och är en fast tid (tills jag ändrar i koden igen).
Jag använder tre lägen i min värmare:
StandBy = Här är värmaren inaktiv oavsett tid och utetemperatur.
Auto = Nu är värmaren aktiv och går igång vid den beräknade temp-tiden. Efter förseningstiden går den tillbaka till StandBy. Vi programmerar alltså varje tillfälle som vi behöver bilen.
Manuell = Värmaren startas och går så länge som Fibaro-switchen är programmerad att automatiskt stänga av. (Parameter 3 = 1 , Parameter 4 = 65535 = 65 minuter).

Den manuella funktionen är också bra då man tex dammsuger bilen och använder motorvärmaruttaget. Då trycker vi på en knapp på kapslingen till de inbyggda reläerna i garaget och värmaren är då aktiv i 65 minuter.
Attachments
VD Motorvärmare.PNG
VD Motorvärmare.PNG (19.55 KiB) Viewed 932 times
StandBy.png
Manuell.png
Auto.png
2 st HC2 4.520, Recovery-stickorna ligger i skrivbordslådan nu!
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

09 Sep 2018, 20:03

Ok, ska försöka få ordning på iconerna.

MrDTS
MrDTS
Ny medlem
Posts: 21
Joined: 30 Aug 2018, 20:57

02 Oct 2018, 19:19

Hej

Nu har jag provat den lite, har ju varit ner till -0,2 , den värmer bara 21 minuter ska det vara så ?

MrDTS
sonnyboy
Proffsmedlem
Posts: 602
Joined: 26 Sep 2013, 08:05
Location: Västerås

02 Oct 2018, 19:39

Låter klent. Så här länge vill min vara igång just nu.
Screenshot_Fibaro_HC2_20181002-193433.png
Fibaro HomeCenter 2
Fw 4.512 Beta
BeyondMeasure 1.10
25 Enheter, 55 Scener tidigare, 8 nu med gea GEA
Post Reply