Skip to main content

libalarms ja alarmServer

Toteuttaa pistetyypit alarm ja alarmGroup joka on tarkoitettu hälytysten käsittelyyn.

Kirjasto tulee normaalisti valmiiksi asennettuna, ja toimii taustalla muista ohjelmista riippumatta.

Kirjasto käynnistää ohjelman alarmServer, joka tekee hälytyksiin liittyviä operaatioita, kuten hälytysviivettä ja laukaisee hälytystapahtumia.

Hälytyspisteet toimivat niin, että hälytyksen tila voidaan lukea av kentästä, jossa arvo 1 tarkoittaa pisteen olevan hälyttävässä tilassa, ja arvo nolla kertoo että hälytys on poistunut, eli se on pisteen normaali tila. Kun hälytyspisteen pv kenttä menee samaan arvoon kuin hälytyspisteen alarmValue kenttä, menee piste hälytystilaan toAlarmDelay kentässä määritetyn viiveen kuluttua (yksikkö on sekuntia). Kun sitten pv kentän arvo muuttuu jälleen erisuureksi alarmValue kentän kanssa, palautuu piste toNormalDelay viiveen jälkeen normaaliksi. 

Jos pisteen kuittaustilaa halutaan seurata, se pidetään ylhäällä alarmAcked kentässä. Siinä tilat menevät niin, että 1 tarkoittaa hälytyksen olevan kuitattu, ja 0 tarkoittaa kuittaamatonta. Tämä kenttä muuttuu arvoon 0 joka kerran kun av kenttä saa arvon 1.

Hälytyspisteillä on myös alarmStatus kenttä, joka on aina samassa arvossa av kentän kanssa.

Kun alarm tyyppinen piste menee hälytystilaan, sen alarmTime ja alarmDate kentät asetetaan osoittamaan nykyistä aikaa, eli ne osoittavat edellisen ajanhetken kun jossa piste on käynyt hälytystilassa.

Yhteistoiminta HVAC kirjaston kanssa

HVAC kirjasto laajentaa hälytyspisteiden toimintaa niin, että lisäämällä alarm -tyyppiseen  pisteeseen sopivat kentät, hälytyspiste toimii automaattisesti mm. alaraja-, yläraja-, säätövika-, tai ristiriitahälytyksenä.

Jatkohälytykset

Mikäli hälytyksistä halutaan ilmoitusviesti esimerkiksi sähköpostin tai tekstiviestin avulla, osaa alarmServer hoitaa myös niiden lähettämisen.

Ilmoitusviestien vastaanottajat, ja vastaaottajien vaihtaminen esimerkiksi kellonajan tai viikonpäivän mukaan tehdään hälytys ryhmien avulla. Jokainen hälytys josta halutaan antaa ilmoitusviesti, tulee liittää sopivaan hälytysryhmään (alarmGroup pisteet).

Tämän kun hälytykset on liitetty ryhmiin, valitaan hälytysryhmästä mitkä tapahtumat aiheuttavat viestin lähtemisen. Tämä valitaan enableAckEvent, enableToAlarmEvent ja enableToNormalEvent. Näiden selitteet ovat samassa järjestyksessä: lähetä viesti kun hälytys kuitataan, lähetä viesti kun hälytys menee päälle ja lähetä viesti kun hälytys poistuu.

Lisäksi viestiryhmälle voidaan ohjata eri tiloihin pv kentän avulla, ja antaa selitteet näille tiloille stateTexts kenttän taulukossa. Kun viestiä lähetetään, pv kentän arvon perusteella valitaan mitä vastaanottajalistaa käytetään, jolloin tila 0 voisi olla vaikkapa päivä, ja tila 1 voisi olla yö.  Nyt vastaaottajalistaan (recipientList) voidaan luoda kaksi riviä, joista ensimmäinen lista vastaa yö tilaa, ja seuraava päivä tilaa. 

Kun vastaanottajalista avataan ikkunaan klikkamalla recipientList kenttää hiirellä, voi uuden vastaanottajalistan tehdä painamalla uloimmalla tasolla ’+’ painiketta.  Vastaanottajalista voidaan nyt nimetä name kentän avulla, ja lisätä uusia vastaanottajia listaan painamalla sisempää ’+’ painiketta. Myös vastaanottajat listan sisällä voidaan nimetä name kentässä. Osoite tai puhelinnumero johon viesti lähetetään annetaan address kentässä.

Teknisesti address kenttän arvon odotetaan aina olevan URL-muotoinen, mutta puhelinnumeron ja sähköpostin tapauksessa se ei ole välttämätöntä, eli järjestelmä tunnistaa normaalisti puhelinnumeron ja sähköpostiosoitteen, ja täydentään URL-osoitteen.

Mahdolliset lähetysmuodot (URL muotoilu):

rut://[puhelinnumero]        
Lähettää tekstiviestin teltonika RUT modeemien kautta. Vaatii oikeat asetukset /sys/settings/smsOverHttp tietokantapisteeseen.

relay://[ip osoite]            
Lähettää hälytysviestin toisen Actiweb CPU:n kautta.

sms://[puhelinnumero]        
Lähettää viestin tekstiviestinä.

email://[sposti@osoite.fi]    
Lähettää viestin sähköpostilla. Laitteen sähköpostiasetusten täytyy olla aseteltu.

Viestien muotoiloa voidaan hallita valitsemalla sopiva viestipohja alarmGroup pisteen subjectTxtFile ja bodyTxtFile kenttien avulla. 

Tiedosto jota viestipohjana käytetään on normaali tekstitiedosto, mutta viestin lähettämisen yhteydessä pohjaan täydennetään <TAG> -muotoisten tagien tilalle hälytyspisteen tai hälytysryhmän tietoja. Tarkemmin sanottuna, tageissa käytettävinä  ovat kaikki viestin lähettämisen käynnistäneen hälytyspisteen kentät saman nimisinä, mutta suurilla kirjaimilla kirjoitettuna (esim. <ALARMDATE>, <DESCRIPTION>) sekä kaikki hälytykseen liittyvän hälytysryhmän kentät G_ etuliitteen avulla (esim. <G_DESCRIPTION>, <G_PV>). Lisäksi käytettävissä on hälytyspisteen nimi <ID> tagin avulla.