Kirjoita virtuaalitagin skripti

Laske tagin arvo muista tageista. Luku- ja kirjoitusskriptit sekä käytännön esimerkit.

ProjektitOma projektisiTagit

Virtuaalitagi saa arvonsa laitteen sijaan skriptistä. Tässä oppaassa näytetään, miten sellainen kirjoitetaan. Kaikki funktiot on lueteltu virtuaalitagien viitteessä.

1. Lisää virtuaalitagi

Napsauta projektin Tagit-näkymässä Uusi, valitse Tagi ja valitse tyypiksi Virtuaalitagi. Anna sille nimi ja tietotyyppi ja kirjoita sitten sen lukuskripti.

2. Viittaa muihin tageihin

Skriptit lukevat muita tageja polun perusteella, joka annetaan funktiolle value(). Polkua ei tarvitse kirjoittaa: valitse ja lisää tagi näppäinyhdistelmällä Shift + Alt + T tai lisää hälytys yhdistelmällä Shift + Alt + A. Automaattinen täydennys (Ctrl/⌘ + välilyönti) luettelee kaikki kutsuttavissa olevat funktiot.

// The current value of another tag
value("Meters/Main meter");

3. Kirjoita lukuskripti

Lukuskripti palauttaa tagin arvon. Muutama yleinen malli:

Yhdistä tageja: laske kahden mittarin summa:

value("Meters/Meter A") + value("Meters/Meter B");

Muunna yksiköitä: Wh kWh:ksi:

value("Boiler/Energy") / 1000;

Johda tila: 1, kun hälytys on aktiivinen, muuten 0:

alarmValue("Boiler/High temperature") ? 1 : 0;

Käytä historiaa: viimeisen tunnin vaihteluvälin keskikohta aikafunktioiden avulla:

const now = getCurrentTime();
const from = getTimeBefore("1h", now);
const high = historyMax("Outdoor/Temperature", from, now);
const low = historyMin("Outdoor/Temperature", from, now);
(high + low) / 2;

Aseta Uudelleenlaskennan väli (sekunteina), jos arvon pitää päivittyä ajastetusti. Muussa tapauksessa arvo lasketaan uudelleen, kun sen viittaamat tagit muuttuvat.

4. Lisää kirjoitusskripti (valinnainen)

Jos haluat virtuaalitagin olevan kirjoitettava, lisää myös kirjoitusskripti. Virtuaalitagi on kirjoitettava vain, kun sillä on molemmat. Kirjoitusskripti suoritetaan, kun joku kirjoittaa tagiin, ja se saa saapuvan arvon funktiolta inputValue(). Välitä arvo todellisiin tageihin funktiolla writeValue().

Esimerkiksi virtuaalitagiin kirjoitettu prosenttiluku (0–100) voidaan lähettää puhaltimelle 0–10 V:n asetusarvona:

writeValue("AHU/Fan", (inputValue() / 100) * 10);

5. Tallenna ja tarkista

Tallenna tagi ja varmista, että se näyttää järkevän arvon Tagit-näkymässä. Editori merkitsee syntaksivirheet riville kirjoittaessasi. Jos arvo näyttää väärältä, tarkista tagien polut ja se, että tietotyyppi vastaa skriptin palauttamaa arvoa.