public object IoTStatusImageGetter(object rawObject) { cls_Monitor_Device_Info mdi = (cls_Monitor_Device_Info)rawObject; switch (mdi.iotclient_status) { case "Off": return("Off"); case "Ready": return("Ready"); /* * case "Run": * return "Run"; * * case "Down": * return "Down"; * * case "Idle": * return "Idle"; */ default: return("Off"); } }
public void ReadDataAck(xmlMessage InputData) { // Parse Mqtt Topic string[] Topic = InputData.MQTTTopic.Split('/'); // /IEW/GateWay/Device/Cmd/ReadData/Ack string GateWayID = Topic[2].ToString(); string DeviceID = Topic[3].ToString(); if (ObjectManager.MonitorManager != null) { cls_Monitor_Device_Info mdv = ObjectManager.MonitorManager.device_list.Where(o => o.gateway_id == GateWayID && o.device_id == DeviceID).FirstOrDefault(); if (mdv != null) { cls_ReadDataAck rc = new cls_ReadDataAck(); rc = JsonConvert.DeserializeObject <cls_ReadDataAck>(InputData.MQTTPayload.ToString()); if (rc.Cmd_Result == "OK") { mdv.device_status = "Idle"; mdv.hb_status = "Idle"; mdv.hb_report_time = DateTime.ParseExact(rc.Trace_ID, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); } else { mdv.device_status = "Down"; mdv.hb_status = "Down"; mdv.hb_report_time = DateTime.ParseExact(rc.Trace_ID, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); } } //Raise event to notify Online Monitor form to refresh status this.ObjectManager.OnHeartBeatEventCall(null); } }
public object DeviceStatusImageGetter(object rawObject) { cls_Monitor_Device_Info mdi = (cls_Monitor_Device_Info)rawObject; switch (mdi.device_status) { case "Off": return("Off"); case "Ready": return("Ready"); case "Run": return("Run"); case "Down": return("Down"); case "Idle": return("Idle"); default: return("Off"); } }
public void ConfigAck(xmlMessage InputData) { // Parse Mqtt Topic string[] Topic = InputData.MQTTTopic.Split('/'); // /IEW/GateWay/Device/Cmd/Config/Ack string GateWayID = Topic[2].ToString(); string DeviceID = Topic[3].ToString(); cls_ConfigAck ca = new cls_ConfigAck(); ca = JsonConvert.DeserializeObject <cls_ConfigAck>(InputData.MQTTPayload.ToString()); //Update IoTClient status in Online Monitor if (ObjectManager.MonitorManager != null) { //cls_Monitor_Gateway_Info gw = ObjectManager.MonitorManager.monitor_list.Where(p => p.gateway_id == GateWayID).FirstOrDefault(); //if (gw != null) //{ /* * cls_Monitor_Device_Info dv = gw.device_list.Where(p => p.device_id == DeviceID).FirstOrDefault(); * if (dv != null) * { * * if(ca.Cmd_Result == "OK") * { * gw.iotclient_status = "Ready"; * dv.iotclient_status = "Ready"; * } * else * { * gw.iotclient_status = "Off"; * dv.iotclient_status = "Off"; * } * } */ cls_Monitor_Device_Info mdv = ObjectManager.MonitorManager.device_list.Where(o => o.gateway_id == GateWayID && o.device_id == DeviceID).FirstOrDefault(); if (mdv != null) { if (ca.Cmd_Result == "OK") { mdv.iotclient_status = "Ready"; } else { mdv.iotclient_status = "Off"; } } this.ObjectManager.OnConfigAckEventCall(null); //} } }
public void ReceiveHeartBeat(xmlMessage InputData) { // Parse Mqtt Topic string[] Topic = InputData.MQTTTopic.Split('/'); // /IEW/GateWay/Device/Status/HeartBeat string GateWayID = Topic[2].ToString(); string DeviceID = Topic[3].ToString(); cls_HeartBeat hb = new cls_HeartBeat(); hb = JsonConvert.DeserializeObject <cls_HeartBeat>(InputData.MQTTPayload.ToString()); if (ObjectManager.MonitorManager != null) { //cls_Monitor_Gateway_Info gw = ObjectManager.MonitorManager.monitor_list.Where(p => p.gateway_id == GateWayID).FirstOrDefault(); //if (gw != null) //{ /* * cls_Monitor_Device_Info dv = gw.device_list.Where(p => p.device_id == DeviceID).FirstOrDefault(); * if (dv != null) * { * gw.gateway_status = hb.Status; * gw.hb_report_time = DateTime.ParseExact(hb.HBDatetime, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); * gw.hb_status = hb.Status; * * dv.device_status = hb.Status; * dv.hb_status = hb.Status; * dv.hb_report_time = DateTime.ParseExact(hb.HBDatetime, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); * } */ cls_Monitor_Device_Info mdv = ObjectManager.MonitorManager.device_list.Where(o => o.gateway_id == GateWayID && o.device_id == DeviceID).FirstOrDefault(); if (mdv != null) { mdv.device_status = hb.Status; mdv.hb_status = hb.Status; mdv.hb_report_time = DateTime.ParseExact(hb.HBDatetime, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); } this.ObjectManager.OnHeartBeatEventCall(null); //} } }
public void SetOnlineMonitorEDCReportStatus(string gw_id, string dv_id, string payload) { if (ObjectManager.MonitorManager != null) { //cls_Monitor_Gateway_Info gw = ObjectManager.MonitorManager.monitor_list.Where(p => p.gateway_id == gw_id).FirstOrDefault(); //if (gw != null) //{ //cls_Monitor_Device_Info dv = gw.device_list.Where(p => p.device_id == dv_id).FirstOrDefault(); cls_Monitor_Device_Info mdv = ObjectManager.MonitorManager.device_list.Where(o => o.gateway_id == gw_id && o.device_id == dv_id).FirstOrDefault(); if (mdv != null) { cls_HeartBeat hb = new cls_HeartBeat(); cls_read_data_reply CollectData = null; CollectData = JsonConvert.DeserializeObject <cls_read_data_reply>(payload); mdv.last_edc_time = DateTime.ParseExact(CollectData.Time_Stamp, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); mdv.last_edc_time = DateTime.ParseExact(CollectData.Time_Stamp, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); } //} } }
public void ReceiveAlarm(xmlMessage InputData) { // Parse Mqtt Topic string[] Topic = InputData.MQTTTopic.Split('/'); // /IEW/GateWay/Device/Status/HeartBeat string GateWayID = Topic[2].ToString(); string DeviceID = Topic[3].ToString(); cls_Alarm ca = new cls_Alarm(); ca = JsonConvert.DeserializeObject <cls_Alarm>(InputData.MQTTPayload.ToString()); cls_Monitor_Device_Info mdv = ObjectManager.MonitorManager.device_list.Where(o => o.gateway_id == GateWayID && o.device_id == DeviceID).FirstOrDefault(); if (mdv != null) { mdv.last_alarm_code = ca.AlarmCode; mdv.last_alarm_app = ca.AlarmApp; mdv.last_alarm_datetime = DateTime.ParseExact(ca.DateTime, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); mdv.last_alarm_message = ca.AlarmDesc; } this.ObjectManager.OnAlarmEventCall(null); }
public void StartAck(xmlMessage InputData) { // Parse Mqtt Topic string[] Topic = InputData.MQTTTopic.Split('/'); // /IEW/GateWay/Device/Cmd/Start/Ack string GateWayID = Topic[2].ToString(); string DeviceID = Topic[3].ToString(); cls_StartAck sc = new cls_StartAck(); sc = JsonConvert.DeserializeObject <cls_StartAck>(InputData.MQTTPayload.ToString()); if (ObjectManager.MonitorManager != null) { //cls_Monitor_Gateway_Info gw = ObjectManager.MonitorManager.monitor_list.Where(p => p.gateway_id == GateWayID).FirstOrDefault(); //if (gw != null) //{ /* * cls_Monitor_Device_Info dv = gw.device_list.Where(p => p.device_id == DeviceID).FirstOrDefault(); * if (dv != null) * { * if(sc.Cmd_Result == "OK") * { * gw.gateway_status = "Ready"; * gw.hb_status = "Ready"; * gw.hb_report_time = DateTime.ParseExact(sc.Trace_ID, GlobalVaraible.DATETIME_FORMAT, CultureInfo.InvariantCulture); * dv.device_status = "Ready"; * dv.hb_status = "Ready"; * dv.hb_report_time = DateTime.ParseExact(sc.Trace_ID, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); * * //Send message to notify IoTClient for receiving Gateway/Device configuration data * //SendCmdConfig(GateWayID, DeviceID); * } * else * { * gw.gateway_status = "Down"; * gw.hb_status = "Down"; * gw.hb_report_time = DateTime.ParseExact(sc.Trace_ID, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); * dv.device_status = "Down"; * dv.hb_status = "Down"; * dv.hb_report_time = DateTime.ParseExact(sc.Trace_ID, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); * } * } */ cls_Monitor_Device_Info mdv = ObjectManager.MonitorManager.device_list.Where(o => o.gateway_id == GateWayID && o.device_id == DeviceID).FirstOrDefault(); if (mdv != null) { if (sc.Cmd_Result == "OK") { mdv.device_status = "Ready"; mdv.hb_status = "Ready"; mdv.hb_report_time = DateTime.ParseExact(sc.Trace_ID, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); //Send message to notify IoTClient for receiving Gateway/Device configuration data SendCmdConfig(GateWayID, DeviceID); } else { mdv.device_status = "Down"; mdv.hb_status = "Down"; mdv.hb_report_time = DateTime.ParseExact(sc.Trace_ID, "yyyyMMddHHmmssfff", CultureInfo.InvariantCulture); } } //Raise event to notify Online Monitor form to refresh status this.ObjectManager.OnStartAckEventCall(null); //} } }