Skripte u smart rules i obavijestima
Što smart rules Jednadžba, Formula i Skripta, ograničavajući uvjet Formula i skripte obavijesti prosljeđuju skripti i što rade s njezinim rezultatom: LastState, TriggerName, izlazi, pogreške i SLEEP.
Pregled
Smart rules svojoj skripti daju vrijednosti uređaja odabranih kao varijable, pod njihovim kraticama, i rezultat koriste na različite načine:
| Gdje se skripta izvršava | Što radi rezultat | LastState | TriggerName |
|---|---|---|---|
| Smart rule Jednadžba | TRUE pokreće radnje za istinu, FALSE radnje za laž | Prethodni rezultat, na početku FALSE | Da |
| Smart rule Formula | Upisuje se u svaku izlaznu varijablu | Prethodni rezultat, na početku Null | Da |
| Smart rule Skripta | Dodjele varijablama za čitanje i pisanje postaju radnje na uređajima | Ne | Da |
| Ograničavajući uvjet Formula | TRUE dopušta izvršavanje smart rule | Ne | Ne |
| Naslov i tekst obavijesti | Tekst obavijesti | Ne | Samo radnje Jednadžbe |
SLEEP se u svim skriptama smart rules i obavijesti odbija porukom SLEEP function not allowed in this context. Jedina iznimka je ograničavajući uvjet Formula, koji ga prihvaća; ni ondje ga ne koristite, jer zadržava izračunavanje smart rules. ADDERROR, ADDWARNING i ADDINFO ovdje završavaju pogreškom ADDERROR function not supported here.; rade samo u skriptama uređaja.
Smart rule Jednadžba
Smart rule Jednadžba izračunava svoju skriptu pri svakoj promjeni neke od svojih varijabli, nakon spremanja i nakon pokretanja centralne jedinice Core. Rezultat se čita kao logička vrijednost, pri čemu je broj različit od nule TRUE. Radnje se izvršavaju samo kada se rezultat promijeni, pa se jednokratne radnje i obavijesti aktiviraju jednom po promjeni.
- Rezultat
Nullili pogreška skripte otpušta uređaje kojima smart rule upravlja; sljedeći rezultatTRUEiliFALSEponovno primjenjuje svoje radnje. Tekstualni rezultat prijavljuje se kao pogreška formule. LastStateje prethodni rezultat skripte,FALSEpri prvom izvršavanju te nakon rezultataNullili pogreške.TriggerNameje kratica varijable čija je promjena izazvala izračunavanje, prazna nakon spremanja ili ponovnog pokretanja. Dostupno od verzije Core 2026.1, build 35936.
Svjetlo koje se uključuje ispod 20 lx i ostaje uključeno do 60 lx:
(!LastState AND Li < 20) OR (LastState AND Li < 60);
# Result: TRUE below 20, then TRUE until Li reaches 60Ista konfiguracija korak po korak nalazi se u odjeljku Konfiguracija pomoću LastState.
Smart rule Formula
Smart rule Formula upisuje rezultat svoje skripte u svaku izlaznu varijablu. U postavci Način izračuna birate kada se izvršava: Kad se promijenila bilo koja od ulaznih varijabli ili Na prilagođeni događaj, kada ga pokreću samo okidači tog smart rule, a varijable se samo čitaju.
- Rezultat smije biti bilo kojeg tipa koji izlaz prihvaća. Upisuje se i rezultat
Null. LastStateje prethodni rezultat. Pri prvom izvršavanju i nakon pogreške skripte jeNull, pa ga prije upotrebe u aritmetici zaštitite.TriggerNameje kratica ulazne varijable koja se promijenila ili naziv okidača koji se aktivirao.- Uređaj koji nedostaje čita se kao
Null; takve ulaze provjerite funkcijomISNULL.
Brojanje otvaranja vrata u načinu prilagođenog događaja (okidač je otvaranje kontakta vrata):
IF(ISNULL(LastState), 0, LastState) + 1;
# Result: 1 on the first run, then 2, 3 and so onTermostat s funkcijom HYSTERESIS koristi istu zaštitu:
HYSTERESIS(Se, 23, 21, 0, 1, IF(ISNULL(LastState), 0, LastState));Smart rule Skripta
Smart rule Skripta ima dva popisa varijabli, Varijable samo za čitanje i Varijable za čitanje / pisanje. Dodjela varijabli za čitanje i pisanje stvara radnju na uređaju; više dodjela jednom uređaju spaja se u jednu radnju. Uređivač prikazuje poruku Skripta mora sadržavati barem jednu dodjelu. dok skripta ne sadrži :=.
IF Se > 25
Mu := 1;
ELSE
Mu := 0;
END- Izvršava se u jednom od dvaju načina: Promijeni se bilo koja varijabla samo za čitanje ili Na prilagođeni događaj.
- Upisuju se samo varijable kojima je u ovom izvršavanju dodijeljena vrijednost. Kada smart rule zadržava svoje radnje, izvršavanje koje dodjeljuje samo neke varijable za čitanje i pisanje otpušta ostale, a izvršavanje koje ne dodjeljuje nijednu otpušta sve. Tada preuzima smart rule nižeg prioriteta ili zadana vrijednost. Svaki izlaz dodijelite u svakoj grani, kao u gornjem primjeru.
- Pogreška skripte otpušta sve zadržane izlaze. Vrijednost pogrešnog tipa za uređaj odbacuje cijelo izvršavanje, uključujući dodjele prije nje.
TriggerNameje kratica varijable samo za čitanje koja se promijenila. Ostaje prazna kada nijedna varijabla samo za čitanje nije označena kao okidač. Kod prilagođenih događaja to je naziv okidača koji se aktivirao. Skripta ga može i dodijeliti.LastStatene postoji.
Ograničavajući uvjet Formula
Tip Formula ograničavajućeg uvjeta izračunava skriptu nad vlastitim varijablama. TRUE dopušta izvršavanje smart rule; FALSE, Null ili pogreška skripte ga blokira.
Te < 22 AND Hu < 70;Skripte obavijesti
Naslov i tekst obavijesti su skripte koje moraju vratiti tekst. Mogu čitati uređaje odabrane za obavijest i konstante obavijesti navedene u odjeljku Konstante konteksta.
"Temperature in " + LocationName + " is " + TOSTRING(Te, "F1") + " °C";