/// <summary> /// process the response from server and update the properties /// </summary> protected override bool ProcessResponse(HttpResponse response) { string json = response.Result; // deserialize SystemData = JsonConvert.DeserializeObject <KasaHs1xxSystemData>(json); return(true); }
private void LedToolbarItem_Clicked(object sender, EventArgs e) { string rawJson = _hs1xxClient.System.Get(); KasaHs1xxSystemData systemData = _hs1xxClient.System.SystemData; if (systemData.Led_off == 0) { _hs1xxClient.System.SetLedAlwaysOff(true); LedOffToolbarItem.Text = "Led On"; } else { _hs1xxClient.System.SetLedAlwaysOff(false); LedOffToolbarItem.Text = "Led Off"; } Display(); }
private void OnOffToolbarItem_Clicked(object sender, EventArgs e) { string rawJson = _hs1xxClient.System.Get(); KasaHs1xxSystemData systemData = _hs1xxClient.System.SystemData; if (systemData.Relay_state == 0) { _hs1xxClient.System.TurnPlugOnOff(true); OnOffToolbarItem.Text = "Off"; } else { _hs1xxClient.System.TurnPlugOnOff(false); OnOffToolbarItem.Text = "On"; } Display(); }
private void Display() { IGridList <View> gridList = dataGrid.Children; gridList.Clear(); int rowIndex = 0; if (_hs1xxClient == null) { AddLabel($"Smart Plug {_DeviceTopic.Name} is not available at {_DeviceTopic.Server}.", gridList, rowIndex++, 0, 2); _initialized = false; return; } HttpResponse response = _hs1xxClient.System.GetResponse(); if (!response.Success) { AddLabel($"Error getting data for {_DeviceTopic.Name} at {_DeviceTopic.Server}", gridList, rowIndex++, 0, 2); GridUtil.AddLabel(response.ErrorMessage, gridList, rowIndex++, 0, 2, 10, Color.Default, false, LayoutOptions.End); return; } string timeJson = _hs1xxClient.Time.Get(); KasaHs1xxSystemData systemData = _hs1xxClient.System.SystemData; KasaHs1xxTimeData timeData = _hs1xxClient.Time.TimeData; if (systemData.Relay_state == 0) { OnOffToolbarItem.Text = "On"; } else { OnOffToolbarItem.Text = "Off"; } if (systemData.Led_off == 0) { LedOffToolbarItem.Text = "LedOff"; } else { LedOffToolbarItem.Text = "LedOn"; } DisplayHeaderAndValueRow("IP Address", systemData.Ipaddress, gridList, rowIndex++); DisplayHeaderAndValueRow("Alias", systemData.Alias, gridList, rowIndex++); DisplayHeaderAndValueRow("Time", timeData.Time, gridList, rowIndex++); DisplayHeaderAndValueRow("Relay State", systemData.Relay_state == 1 ? "On" : "Off", gridList, rowIndex++); DisplayHeaderAndValueRow("On Time", SecondToString(systemData.On_time), gridList, rowIndex++); DisplayHeaderAndValueRow("LED Always Off", systemData.Led_off == 1 ? "True" : "False", gridList, rowIndex++); DisplayHeaderAndValueRow("Next Action", systemData.next_action.Action.ToString(), gridList, rowIndex++); DisplayHeaderAndValueRow("Next Action Time", SecondToString(systemData.next_action.schd_sec), gridList, rowIndex++); DisplayHeaderAndValueRow("Next Action Type", systemData.next_action.Type.ToString(), gridList, rowIndex++); DisplayHeaderAndValueRow("WIFI Signal", systemData.Rssi.ToString(), gridList, rowIndex++); DisplayHeaderAndValueRow("Active Mode", systemData.Active_mode, gridList, rowIndex++); DisplayHeaderAndValueRow("Device Name", systemData.Dev_name, gridList, rowIndex++); DisplayHeaderAndValueRow("Error Code", systemData.Err_code.ToString(), gridList, rowIndex++); DisplayHeaderAndValueRow("Feature", systemData.Feature, gridList, rowIndex++); DisplayHeaderAndValueRow("HW Version", systemData.hw_ver, gridList, rowIndex++); DisplayHeaderAndValueRow("Icon Hash", systemData.Icon_hash, gridList, rowIndex++); DisplayHeaderAndValueRow("Latitude", systemData.Latitude_i.ToString(), gridList, rowIndex++); DisplayHeaderAndValueRow("Longitude", systemData.Longitude_i.ToString(), gridList, rowIndex++); DisplayHeaderAndValueRow("Mac Address", systemData.Mac, gridList, rowIndex++); DisplayHeaderAndValueRow("NTC State", systemData.Ntc_state.ToString(), gridList, rowIndex++); DisplayHeaderAndValueRow("Software Version", systemData.Sw_ver, gridList, rowIndex++); DisplayHeaderAndValueRow("Status", systemData.Status, gridList, rowIndex++); DisplayHeaderAndValueRow("Updating", systemData.Updating.ToString(), gridList, rowIndex++); // display IDs - 1st row for label 2nd row for data AddLabel("Device ID", gridList, rowIndex++, 0); GridUtil.AddLabel(systemData.DeviceId, gridList, rowIndex++, 0, 2, 1, Color.Default, false, LayoutOptions.End); AddLabel("Hardware ID", gridList, rowIndex++, 0); GridUtil.AddLabel(systemData.HwId, gridList, rowIndex++, 0, 2, 1, Color.Default, false, LayoutOptions.End); AddLabel("OEM ID", gridList, rowIndex++, 0); GridUtil.AddLabel(systemData.OemId, gridList, rowIndex++, 0, 2, 1, Color.Default, false, LayoutOptions.End); AddLabel("Next Action ID", gridList, rowIndex++, 0); GridUtil.AddLabel(systemData.next_action.Id, gridList, rowIndex++, 0, 2, 1, Color.Default, false, LayoutOptions.End); }