private DeviceStatuses GetStatus() { Console.WriteLine($"[HS1xx ({Id})] - GetStatus"); var cmd = JsonConvert.SerializeObject(new { system = new { get_sysinfo = new { } } }); try { var resp = TPLinkSmartPlugHS1xxClient.SendToSmartPlugOrSwitch(IpAddress, cmd, _port); var relayState = resp["system"]["get_sysinfo"]["relay_state"].ToString(); if (string.IsNullOrEmpty(relayState)) { return(DeviceStatuses.Unknown); } int i; if (int.TryParse(relayState, out i)) { if (i == 0) { return(DeviceStatuses.Off); } if (i == 1) { return(DeviceStatuses.On); } } } catch (Exception ex) { Console.WriteLine($"[HS1xx ({Id})] - GetStatus Error: {ex.Message}"); return(DeviceStatuses.Unavailable); } return(DeviceStatuses.Unknown); }
public override void TurnOff() { Console.WriteLine($"[HS1xx ({Id})] - TurnOff"); var cmd = JsonConvert.SerializeObject(new { system = new { set_relay_state = new { state = 0 } } }); TPLinkSmartPlugHS1xxClient.SendToSmartPlugOrSwitch(IpAddress, cmd, _port); }