Hej
Jag har en fukt-/tempgivare i badrummet från vilken jag har beräknat den absoluta fuktigheten (g/m3) med hjälp av lua. Hur kan jag presentera resultatet snyggt? Likt temp- och fuktgivarens presentation in HC2. Jag får det ju att synas korrekt i debugfönstret men hur får jag det snyggt presenterat på "första sidan"?
En givare kommer att placeras utomhus med samma kod bakom som beräknar absoluta fukthalten. Resultaten kommer att jämföras för att styra ventilationsmaskinen för maximal fuktutdrivning från huset med automatik.
LUA koden för beräkningen av den absoluta fukthalten:
1
--[[
2
%% properties
3
4
%% globals
5
--]]
6
varfuktighet = fibaro:getValue(28,'value')
7
--varfuktighet = 80
8
vartemperatur = fibaro:getValue(27, 'value')
9
--vartemperatur = 20
10
fibaro:debug('Relativa fuktigheten i badrummet är ' ..varfuktighet ..'%')
11
fibaro:debug('Temperaturen i badrummet är ' ..vartemperatur ..'C')
12
pws = (6.1162 * 10 ^ ((7.5892 * vartemperatur) / (vartemperatur + 240.71)))
13
fibaro:debug('Pws=' ..pws)
14
pw = pws * varfuktighet / 100
15
fibaro:debug ('pw=' ..pw)
16
a = (2.16679 * (pw * 100) / (273.16 + vartemperatur))
17
fibaro:debug('Den absoluta fukthalten är ' ..a ..'g/m3')
Likt temp siffran på denna bild skulle jag vilja presentera resultatet från beräkningen:
Sent from my iPad using Tapatalk
Visa resultat av beräkning i HC2?
Jag fixade mitt problem genom att skapa en virtuell enhet med en etikett och placera värdet i etiketten. Fungerar utmärkt och resultatet tillfredställande. Ännu måste en ny icon infogas för att göra det snyggare.
Så här blev det att se ut och värdet updateras automatiskt när temperatur eller relativ fuktighet ändrar i badrummet.
Koden som räknar och kör allting ser ut som nedan. Ursäkta för att det ser stökigt ut men är ingen van programmerare.
Functionen högst upp bara avrundar talet med 2 decimalers noggrannhet. Alla rader som börjar med fibaro:debug är onödiga men jag tycker dom hjälper till att kontrollera att allting blir rätt längs vägen.
Om någon är intresserad av själva matematiken bakom uträkningen kan jag redogöra för den också. Nu återstår att köpa en till mätare för utomhusbruk och sedan jämföra den absoluta fukthalten mellan innomhusluften och utomhusluften för att kunna avgöra om det är lönt att fuktforcera och hur länge.
Ha D, C-M Holm
Så här blev det att se ut och värdet updateras automatiskt när temperatur eller relativ fuktighet ändrar i badrummet.
Koden som räknar och kör allting ser ut som nedan. Ursäkta för att det ser stökigt ut men är ingen van programmerare.
Functionen högst upp bara avrundar talet med 2 decimalers noggrannhet. Alla rader som börjar med fibaro:debug är onödiga men jag tycker dom hjälper till att kontrollera att allting blir rätt längs vägen.
Code: Select all
--[[
%% properties
28 value
27 value
%% globals
--]]
function round(num, idp)
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end
varfuktighet = fibaro:getValue(28,'value')
--varfuktighet = 80
vartemperatur = fibaro:getValue(27, 'value')
--vartemperatur = 20
fibaro:debug('Relativa fuktigheten i badrummet är ' ..varfuktighet ..'%')
fibaro:debug('Temperaturen i badrummet är ' ..vartemperatur ..'C')
pws = (6.1162 * 10 ^ ((7.5892 * vartemperatur) / (vartemperatur + 240.71)))
fibaro:debug('Pws=' ..pws)
pw = pws * varfuktighet / 100
fibaro:debug ('pw=' ..pw)
a = (2.16679 * (pw * 100) / (273.16 + vartemperatur))
A = round(a, 2)
fibaro:debug('Den absoluta humiditeten är ' ..A ..'g/m3')
fibaro:call(32, "setProperty", "ui.Label1.value", A ..' g/m3')
Ha D, C-M Holm