Example #1
0
        /// <summary>
        /// process the response from server and update the properties
        /// </summary>
        protected override bool ProcessResponse(HttpResponse response)
        {
            string json = response.Result;

            // deserialize
            TimeData = JsonConvert.DeserializeObject <KasaHs1xxTimeData>(json);
            return(true);
        }
Example #2
0
        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);
        }