TapHome

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 rezultatLastStateTriggerName
Smart rule JednadžbaTRUE pokreće radnje za istinu, FALSE radnje za lažPrethodni rezultat, na početku FALSEDa
Smart rule FormulaUpisuje se u svaku izlaznu varijabluPrethodni rezultat, na početku NullDa
Smart rule SkriptaDodjele varijablama za čitanje i pisanje postaju radnje na uređajimaNeDa
Ograničavajući uvjet FormulaTRUE dopušta izvršavanje smart ruleNeNe
Naslov i tekst obavijestiTekst obavijestiNeSamo 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 Null ili pogreška skripte otpušta uređaje kojima smart rule upravlja; sljedeći rezultat TRUE ili FALSE ponovno primjenjuje svoje radnje. Tekstualni rezultat prijavljuje se kao pogreška formule.
  • LastState je prethodni rezultat skripte, FALSE pri prvom izvršavanju te nakon rezultata Null ili pogreške.
  • TriggerName je 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 60

Ista 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.
  • LastState je prethodni rezultat. Pri prvom izvršavanju i nakon pogreške skripte je Null, pa ga prije upotrebe u aritmetici zaštitite.
  • TriggerName je kratica ulazne varijable koja se promijenila ili naziv okidača koji se aktivirao.
  • Uređaj koji nedostaje čita se kao Null; takve ulaze provjerite funkcijom ISNULL.

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 on

Termostat 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.
  • TriggerName je 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.
  • LastState ne 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";