# Alarm Functions

Alarm fonksiyonları, script/expression ile inSCADA platformunda alarmları yönetmenizi sağlar. Bu fonksiyonlar ile alarmları çalıştırabilir, durdurabilir ve durumlarını kontrol edebilirsiniz.

## Get Alarm Status

#### ins.getAlarmStatus(String alarmName)

Bir alarmın durumu hakkında bilgi verir.

alarmName : Alarm ismi.

Return Value : Alarm'ın durumu hakkında string tipinde bilgi mesajı geri döndürür.

#### Syntax

```javascript
var status=ins.getAlarmStatus("ALM_01");
if (status==="Active") {
    ins.notify("info","ALM_01","ALM_01 is Active");
}

```

## Activate Alarm Group

#### ins.activateAlarmGroup(String alarmGroupName)

Bir alarmı aktif duruma getirir.

alarmGroupName : Alarm grup ismi.

Return Value : Herhangi bir değer geri döndürmez.

#### Syntax

```javascript
ins.activateAlarmGroup("GENERAL");
```

## Deactivate Alarm Group

#### ins.deactivateAlarmGroup(String alarmGroupName)

Bir alarmı pasif duruma getirir.

alarmName : Alarm ismi.

Return Value : Herhangi bir değer geri döndürmez.

#### Syntax

```javascript
ins.deactivateAlarmgGroup("GENERAL");
```

## Get Last Fired Alarm

#### ins.getLastFiredAlarm(Integer index)

#### ins.getLastFiredAlarm(projectName, index)&#x20;

#### ins.getLastFiredAlarm(Integer index,boolean includeOff)&#x20;

#### ins.getLastFiredAlarm(projectName, index, boolean includeOff)&#x20;

#### ins.getLastFiredAlarms(index, count)&#x20;

#### ins.getLastFiredAlarms(projectName, index, count)&#x20;

#### ins.getLastFiredAlarms(index, count, boolean includeOff)&#x20;

#### ins.getLastFiredAlarms(projectName, index, count, boolean includeOff)&#x20;

#### ins.getLastFiredAlarmsByDate(startDate, endDate, includeOff, limit)&#x20;

#### ins.getLastFiredAlarmsByDate(projectName, startDate, endDate, includeOff, limit)

#### ins.getAlarmLastFiredAlarms(projectName, boolean includeOff)

#### ins.getAlarmLastFiredAlarms(boolean includeOff)

ON / (ON+OFF) Durumuna geçmiş alarmlar içerisinden bir alarmı indeks numarasına göre getirir.

index : Alarmın, ON / (ON+OFF)  durumunda olan alarmlar içerisindeki geliş sırasını ifade eder.

includeOff : True/False, Durumu off olan alarmlar dahil edilmesini sağlar (ON+OFF).

Return Value : Bir JSON Alarm nesnesi geri döndürür.

#### Syntax

```javascript
// sistemde ON olan en son alarm
var alm_01=ins.getLastFiredAlarm(0);
if (alm_01!==null) {
    return alm.name+" "+alm.status;
}
return -1;
```

#### veya

```javascript
// sistemde ON olan en son alarm
var lastAlarm=ins.getLastFiredAlarm(0);
return lastAlarm;
```

#### sonuç

```javascript
{
"dsc":"TEST ALARM",
"onValueB":null,
"acknowledger":"",
"status":"On",
"offValueB":null,
"forcedOffBy":"",
"projectId":2,
"forcedOff":false,
"name":"Digital-Alarm",
"statusValue":1,
"alarmId":2352,
"group":"Alarm group 1",
"firedAlarmType":"Digital",
"offValue":null,
"onValue":31.14,"project":
"DEMO_01",
"comment":"",
"acknowledgeTime":null,
"groupId":7,
"offTime":null,
"onTime":"2023-03-10T11:16:01.007+03:00",
"part":null,
"acknowledgeTimeInMs":null,
"offTimeInMs":null,
"onTimeInMs":1678436161007}

```

## Show Alarm Set Values Form

#### ins.showAlarmSetValuesForm(string alarmName)

Bir alarmın set değerlerini veya ayarlarını değiştirmek için bir form açar. Uygulamanızda alarm set değerlerini operatörlere değiştirmek isterseniz kullanabileceğiniz bir API' dir.

alarmName : Alarm ismi.

```javascript
ins.showAlarmSetValuesForm("Analog_Alarm");
```

#### sonuç

<figure><img src="https://content.gitbook.com/content/0WKoYqjGEXoBJmDoxwvm/blobs/QrG1vSIOiYJQ6V29zUjl/image.png" alt=""><figcaption><p>Alarm Set Values Form</p></figcaption></figure>

## Get Alarm Group

#### ins.getAlarmGroup(alarmGroupName)

#### ins.getAlarmGroup(projectName, alarmGroupName)

Alarm grup bilgilerini içeren bir JSON nesne döner

alarmGroupName : Alarm grup ismi

```javascript
// Alarm Group nesnesi 
var alarmGroup=ins.getAlarmGroup("Alarm group 1");
return alarmGroup;
```

#### sonuç

```json
{
"lastModifiedDate":"2022-11-14T14:44:36.938+03:00",
"lastModifiedBy":"inscada",
"creationDate":"2022-04-27T17:07:04.481+03:00",
"createdBy":"inscada",
"onAckColor":"#FE0EFE",
"onNoAckColor":"#00DD00",
"printerPort":null,
"ackScriptId":null,
"scanTimeInMillis":1000,
"projectId":2,
"priority":1,
"name":"Alarm group 1",
"offAckColor":"#B66EFF",
"printWhenAck":false,
"onScriptId":10,
"printerIp":"",
"offScriptId":null,
"id":7,
"printWhenOff":false,
"offNoAckColor":"#FE860E",
"dsc":"",
"printWhenOn":false,
"owner":"inscada"
}

```

## Get Alarm Group Status

#### ins.getAlarmGroupStatus(alarmGroupName)&#x20;

#### ins.getAlarmGroupStatus(projectName, alarmGroupName)

Alarm grubunun durumunu getirir.

alarmGroupName : Alarm grup ismi.

return value : "Not Active" / "Active"

```javascript
var alarmGroupStatus=ins.getAlarmGroupStatus("Alarm group 1");
return alarmGroupStatus;
```
