İçeriğe geç

Notification API

Notification API; script’lerden platform kullanıcılarına web bildirim, e-posta ve SMS iletileri gönderir. Her üçü de platform kullanıcı adları (username[]) üzerinden adreslenir — gerçek e-posta adresi / telefon numarası kullanıcı profilinden alınır.

Tüm bağlı UI istemcilerine (webix clients) anlık web bildirim gönderir; kullanıcı arayüzünde popup olarak görünür.

ins.notify("info", "Vardiya", "Vardiya değişimi tamamlandı");
typeGörünüm
"info"Bilgi (mavi)
"success"Başarılı (yeşil)
"warning"Uyarı (sarı)
"error"Hata (kırmızı)
var temp = ins.getVariableValue("Temperature_C").value;
if (temp > 60) {
ins.notify("warning", "Sıcaklık Uyarısı",
"Panel sıcaklığı " + temp + "°C — limit 60°C");
}

ins.sendMail(usernames[], subject, content)

Section titled “ins.sendMail(usernames[], subject, content)”

Verilen platform kullanıcılarına plain text e-posta gönderir.

ins.sendMail(
["operator1", "supervisor"],
"Günlük Rapor",
"Bugünkü toplam üretim: 1250 kWh"
);

ins.sendMail(usernames[], subject, content, htmlContent)

Section titled “ins.sendMail(usernames[], subject, content, htmlContent)”

Multipart/alternative e-posta gönderir — hem düz metin (content) hem HTML (htmlContent) gövdesi aynı mesajda yer alır; e-posta istemcisi hangisini destekliyorsa onu gösterir.

var power = ins.getVariableValue("ActivePower_kW").value;
var voltage = ins.getVariableValue("Voltage_V").value;
var textBody = "Enerji Raporu\n"
+ "Aktif Güç: " + power + " kW\n"
+ "Gerilim: " + voltage + " V\n";
var htmlBody = "<h2>Enerji Raporu</h2>"
+ "<table border='1' cellpadding='6'>"
+ "<tr><td>Aktif Güç</td><td>" + power + " kW</td></tr>"
+ "<tr><td>Gerilim</td><td>" + voltage + " V</td></tr>"
+ "</table>";
ins.sendMail(["manager"], "Enerji Raporu", textBody, htmlBody);

Platformda tanımlı varsayılan SMS sağlayıcısı üzerinden SMS gönderir.

ins.sendSMS(["oncall_engineer"], "ALARM: Trafo sıcaklığı kritik seviyede!");

ins.sendSMS(usernames[], message, provider)

Section titled “ins.sendSMS(usernames[], message, provider)”

Belirtilen SMS sağlayıcısı üzerinden gönderir (çoklu sağlayıcı kurulu ise).

ins.sendSMS(["operator"], "Sistem bakım hatırlatması", "NetGSM");
function main() {
var temp = ins.getVariableValue("TransformerTemp_C").value;
if (temp < 85) return;
var msg = "Trafo sıcaklığı: " + temp + "°C — limit 85°C";
// 1) Tüm UI'lere anlık uyarı
ins.notify("error", "Kritik Sıcaklık", msg);
// 2) Sorumlulara SMS
ins.sendSMS(["oncall_engineer", "shift_supervisor"], msg);
// 3) Yönetim için zengin e-posta
var html = "<h3 style='color:#c0392b'>Kritik Sıcaklık</h3>"
+ "<p>" + msg + "</p>"
+ "<p>Zaman: " + ins.now() + "</p>";
ins.sendMail(["plant_manager"], "[KRITIK] Trafo Sıcaklığı", msg, html);
ins.writeLog("ERROR", "TempWatch", msg);
}
main();