Last active
January 13, 2022 06:52
-
-
Save mentisy/6f5b38dd21ed09fb29d9a5cc247b9a74 to your computer and use it in GitHub Desktop.
Kalkulerer VAV-pådrag basert på status lys og kjølepådrag
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local LIGHT_STATUS = '32' -- Hovedgruppeadresse for Lys Status | |
local COOLING = '33' -- Hovedgruppeadresse for Kjølepådrag fra Termostat | |
local VAV = '34' -- Hovedgruppeadresse for VAVpådrag som sendes til VAV | |
local LEVEL_STANDBY = 30 -- Lys AV og Kjølepådrag AV | |
local LEVEL_LIGHT = 60 -- Lys PÅ og Kjølepådrag AV | |
------------------------------------------------------------------------------------------- | |
-------------------------------------- END CONSTANTS -------------------------------------- | |
------------------------------------------------------------------------------------------- | |
-- Last inn KNX-scriptet mitt | |
require 'user.knx_lib' | |
-- Hent ut hovedgruppeadresse, mellomgruppeadresse og gruppeadresse fra senderadressen | |
local main, middle, sub = knx_lib:parse(event.dst) | |
-- Les lys status. Boolean (false/true) | |
local lightStatus = grp.getvalue(knx_lib:compile(LIGHT_STATUS, middle, sub)) | |
-- Les kjølepådrag. Prosent | |
local coolingStatus = grp.getvalue(knx_lib:compile(COOLING, middle, sub)) | |
-- Ønsket pådrag pga lys, før vi evt. øker om lyset er på | |
local wantedLightLevel = 0 | |
-- Om lyset er på, sett ønsket pådrag pga lys til LEVEL_LIGHT | |
if (lightStatus) then | |
wantedLightLevel = LEVEL_LIGHT | |
end | |
-- Finn maks-verdien av STANDBY, ønsket pådrag pga lys og kjølepådrag | |
local requiredLevel = math.max(LEVEL_STANDBY, wantedLightLevel, coolingStatus) | |
-- Skriv VAV-pådrag basert på kalkulert nivå | |
grp.write(knx_lib:compile(VAV, middle, sub), requiredLevel, dt.scale) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment