Script voor VMC-apparaten
Hoe het script werkt dat een VMC de volgende dag op hetzelfde tijdstip activeert waarop de maximumtemperatuur is geregistreerd.
Inleiding
Dit script registreert de waarde van het Setpoint-component, beschouwd als de maximumtemperatuur, in een Info-component dat vervolgens door een functie wordt gebruikt. Tegelijkertijd wordt het tijdstip van de maximumtemperatuur geregistreerd in een ander Info-component, dat dient om het VMC-apparaat de volgende dag te activeren op hetzelfde tijdstip waarop de maximumtemperatuur werd geregistreerd.
Uitleg van het script
Variabelen

Eerst moeten de variabelen worden aangemaakt voor de elementen waaruit de functies bestaan.
var setpoint: deze eerste variabele bevat de waarde van het Setpoint-component, ingesteld met component-ID 13;
var tempmax: deze tweede variabele wordt gebruikt om de waarde van het Setpoint-component op te slaan, namelijk de geregistreerde maximumtemperatuur van het setpoint, met component-ID 12;
var time: deze derde variabele bevat het tijdstip van de dag waarop de maximumtemperatuur werd geregistreerd, met component-ID 14;
var enable: deze vierde variabele stelt de gebruiker in staat de volledige functie naar wens in of uit te schakelen, met component-ID 16;
var reset: deze vijfde variabele stelt de gebruiker in staat de tijd opnieuw in te stellen, indien nodig, met component-ID 17.
Uitvoering van het script
Eerste functie

function setpointchanged(): deze eerste functie registreert de huidige waarde van het Setpoint en de huidige temperatuurwaarde. Beide waarden worden verwerkt in het tweede deel van de functie: de if-voorwaarde controleert of de huidige maximumtemperatuur lager is dan de waarde van het Setpoint-component en slaat in dat geval de temperatuur op in het Info-component dat hoort bij de variabele temp_max.
De functie bevat nog andere variabelen, die dienen om het uur af te leiden dat moet worden opgeslagen in het Info-component dat aan de variabele time is gekoppeld, zodat het tijdstip wordt geregistreerd waarop de variabele temp_max wordt vastgelegd.

Variabelen van de functie
var d = new Date(): deze variabele bevat de huidige datum en tijd.
var t = d.getTime(): deze variabele bevat de huidige tijd in milliseconden sinds 1 januari 1970.
var hour = d.getHours(): deze variabele bevat het huidige uur.
var minutes = d.getMinutes(): deze variabele bevat de huidige minuten.
setValue(time,hour+":"+minutes): deze functie “setValue” stelt het exacte tijdstip in op het Info-component dat aan de variabele time is gekoppeld.
Tweede functie

function checkTime(): deze functie leest het huidige systeemtijdstip en de huidige waarde van de variabele temp_max, en stelt vervolgens het Setpoint-component dienovereenkomstig in.
Variabelen van de functie
var d = new Date(): deze variabele bevat de huidige datum en tijd.
var t = d.getTime(): deze variabele bevat de huidige tijd in milliseconden sinds 1 januari 1970.
var hour = d.getHours(): deze variabele bevat het huidige uur.
var minutes = d.getMinutes(): deze variabele bevat de huidige minuten.
var maxTime = getValueAsString(time): deze variabele registreert de waarde (tekst) van de variabele time, dus het tijdstip van de maximumtemperatuur.
var currentTempMax = getValueAsDouble(temp_Max): deze variabele registreert de waarde, inclusief decimalen, van de variabele temp_max.
setValue(setpoint, currentTempMax): deze setValue stelt het setpoint in met de waarde van de variabele currentTempMax.
Derde functie

function resetChanged(): indien nodig stelt deze functie het tijdstip opnieuw in dat door de variabele maxTime is geregistreerd; deze is gekoppeld aan de variabele “var reset”.
Variabelen van de functie
var currentSetPoint = getValueAsDouble(setpoint): deze variabele bevat de huidige waarde van het Setpoint-component, inclusief decimalen.
var d = new Date(): deze variabele bevat de huidige datum en tijd.
var t = d.getTime(): deze variabele bevat de huidige tijd in milliseconden sinds 1 januari 1970.
var hour = d.getHours(): deze variabele bevat het huidige uur.
var minutes = d.getMinutes(): deze variabele bevat de huidige minuten.
setValue(time,hour+":"+minutes): deze functie “setValue” stelt het exacte tijdstip in op het Info-component dat aan de variabele time is gekoppeld.
Triggers instellen

setTrigger(setpoint,"setpointchanged"): deze actie voert de functie setpointchanged uit wanneer het Setpoint-component wijzigt.
setTriggerEdge(reset,"on","resetChanged"): deze actie stelt het tijdstip van het Info-component opnieuw in via een Pulse-component zodra deze wordt ingedrukt, zodat een nieuwe tijdswaarde kan worden vastgelegd.
setInterval(10,"checkTime"): deze actie voert de functie checkTime om de 10 seconden uit.
Gebruikersinterface

Zo werkt het volledige script in de gebruikersinterface van de app Ilevia Control wanneer het is ingeschakeld.

Dit is een voorbeeld van hoe het script zich gedraagt wanneer de schakelaar op OFF staat, dus inactief.