public bool UpdateDeviceStateCounters(short device_id, DeviceStateCountersQueue counters) { try { return(State == States.CONNECTED && SpineClient.Spine.UpdateDeviceStateCounters(device_id, counters)); } catch (Exception e) { STrace.Exception(GetType().FullName, e); STrace.Debug(GetType().FullName, String.Format("SPINE_CLIENT_WRAP/ERROR: No se pudo actualizar las propiedades del dispositivo {0}", device_id)); State = States.DISCONNECTED; SpineClient = null; } return(false); }
public void MainLoop() { while (Running) { try { if (State == States.DISCONNECTED) { Thread.Sleep(disconnected_comfort_timeout); STrace.Debug(GetType().FullName, "SPINE_CLIENT_WRAP: Conectando al SPINE."); SpineClient = new SpineClient(ServerUri, Description); State = States.CONNECTING; if (SpineClient.Connect()) { STrace.Debug(GetType().FullName, "SPINE_CLIENT_WRAP: CONECTADO."); State = States.CONNECTED; SpineClient.SpineCommand += FireSpineCommand; SpineClient.SpineStateChanged += FireSpineStateChange; } else { State = States.DISCONNECTED; STrace.Debug(GetType().FullName, "SPINE_CLIENT_WRAP: FALLO LA CONEXION."); } } else { Thread.Sleep(connected_comfort_timeout); STrace.Debug(GetType().FullName, "SPINE_CLIENT_WRAP: Disparo HEARTBEAT."); if (SpineClient != null) { SpineClient.Spine.GatewayHeartbeat(Description); } } } catch (Exception e) { STrace.Exception(GetType().FullName, e); STrace.Debug(GetType().FullName, "SPINE_CLIENT_WRAP: ERROR INICIANDO EL CLIENTE DE SPINE."); State = States.DISCONNECTED; SpineClient = null; } } }
public DeviceState GetDeviceState(short device_id) { try { if (State == States.DISCONNECTED) { return(null); } return(SpineClient.Spine.GetDeviceState(device_id)); } catch (Exception e) { STrace.Exception(GetType().FullName, e); STrace.Debug(GetType().FullName, String.Format("SPINE_CLIENT_WRAP/ERROR: No se pudo leer el estado del dispositivo {0}", device_id)); State = States.DISCONNECTED; SpineClient = null; } return(null); }