1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- var option = {
- //mqtt客户端的id,这里面应该还可以加上其他参数,具体看官方文档
- clientId: 'mqttjs_' + (Math.random() * 1000000).toString(),
- timeout: 5000,
- useSSL: false
- }
- var href = window.location.href;
- var path = window.location.pathname;
- let alarmBasicUrl = href.slice(0, href.indexOf(path));
- //"ws://localhost:8384/mqtt"
- let alarmMqttUrl = "ws:" + alarmBasicUrl.slice(alarmBasicUrl.indexOf("//")) + "/mqtt";
- var alarmMqttClient = mqtt.connect(alarmMqttUrl, option);
- alarmMqttClient.on('connect', function () {
- console.log("alarm bar connected to mqtt server successfully");
- //alarmMqttClient.subscribe('/+/+/thing/event/OnGenericAlarm/+', function (err) {
- alarmMqttClient.subscribe('/sys/Edge.Core.Processor.Dispatcher.DefaultDispatcher/ProcessorsDispatcher/thing/event/OnGenericAlarm/post', function (err) {
- if (err) {
- console.log("failed to subsecribe OnGenericAlarm event");
- }
- });
- });
- alarmMqttClient.on('message', function (topic, message) {
- var reg = RegExp(/OnAlarm/);
- if (topic.toString().match(RegExp(/OnGenericAlarm/))) {
- console.log("OnGenericAlarm Received");
- ProcessGenericAlarm(JSON.parse(message.toString()));
- }
- });
- function ProcessGenericAlarm(genericAlarm) {
- var infoSpan = document.getElementById("common_header_left_text");
- if (infoSpan === null || genericAlarm === null || genericAlarm === undefined) return;
- //console.log("JOy:"+genericAlarm);
- //infoSpan.innerHTML = genericAlarm.GenericAlarm.Title;
- if (alarmBarVm !== null && alarmBarVm !== undefined) {
- alarmBarVm.currentAlarmBarItem = genericAlarm;
- if (infoSpan.style.visibility === 'hidden') {
- infoSpan.style.visibility = 'visible';
- }
- if (genericAlarm.Severity === "Error" || genericAlarm.Severity === "Fatal") {
- addAlarmAudio();
- //var alarmAudio = document.getElementById("alarm_audio");
- //if (alarmAudio == null) {
- // alarmAudio = document.createElement("audio");
- // alarmAudio.id = "alarm_audio";
- // alarmAudio.src = "/WebConsole/audio/alarm.wav";
- // alarmAudio.autoplay = "autoplay";
- // alarmAudio.loop = "loop";
- // //alarmAudio.muted = "false";
- // //alarmAudio.controls = "controls";
- // if (document.getElementById("common_header"))
- // document.getElementById("common_header").appendChild(alarmAudio);
- //}
- } else {
- toAddAlarmAudio();
- // removeAlarmAudio();
- }
- }
- }
- function removeAlarmAudio() {
- var alarmAudio = document.getElementById("alarm_audio");
- if (alarmAudio != null) {
- //alarmAudio.muted = "muted";
- if (document.getElementById("common_header"))
- document.getElementById("common_header").removeChild(alarmAudio);
- }
- }
- function addAlarmAudio() {
- var alarmAudio = document.getElementById("alarm_audio");
- if (alarmAudio === null) {
- alarmAudio = document.createElement("audio");
- alarmAudio.id = "alarm_audio";
- alarmAudio.src = "/WebConsole/audio/alarm.wav";
- alarmAudio.autoplay = "autoplay";
- alarmAudio.loop = "loop";
- //alarmAudio.muted = "false";
- //alarmAudio.controls = "controls";
- if (document.getElementById("common_header"))
- document.getElementById("common_header").appendChild(alarmAudio);
- }
- }
|