public DeviceInfo GetDeviceInfo() { var deviceInfo = new DeviceInfo(); return deviceInfo; }
/// <summary> /// Get device info: software & hardware versions, link and device uptime /// </summary> public DeviceInfo GetDeviceInfo() { dynamic jsonObject = BBoxGetValue(new List<string> { "Device/DeviceInfo/HardwareVersion", "Device/DeviceInfo/GUIFirmwareVersion", "Device/DeviceInfo/InternalFirmwareVersion", "Device/DeviceInfo/UpTime", "Device/DSL/Lines/Line[Alias=\"DSL0\"]/LastChange" }); var deviceInfo = new DeviceInfo(); deviceInfo.HardwareVersion = jsonObject["reply"]["actions"][0]["callbacks"][0]["parameters"]["value"].ToString(); deviceInfo.FirmwareVersion = jsonObject["reply"]["actions"][2]["callbacks"][0]["parameters"]["value"].ToString() + " / " + jsonObject["reply"]["actions"][1]["callbacks"][0]["parameters"]["value"].ToString(); try { double seconds = Convert.ToDouble(jsonObject["reply"]["actions"][3]["callbacks"][0]["parameters"]["value"]); DeviceUptime = TimeSpan.FromSeconds(seconds); seconds = Convert.ToDouble(jsonObject["reply"]["actions"][4]["callbacks"][0]["parameters"]["value"]); LinkUptime = TimeSpan.FromSeconds(seconds); deviceInfo.LinkUptime = LinkUptime.ToString("%d") + (LinkUptime.Days == 1 ? " day " : " days ") + LinkUptime.ToString("hh\\:mm\\:ss"); deviceInfo.DeviceUptime = DeviceUptime.ToString("%d") + (DeviceUptime.Days == 1 ? " day " : " days ") + DeviceUptime.ToString("hh\\:mm\\:ss"); } catch { } return deviceInfo; }
public DeviceInfo GetDeviceInfo() { var deviceInfo = new DeviceInfo(); deviceInfo.DeviceUptime = "unknown"; deviceInfo.LinkUptime = "unknown"; deviceInfo.HardwareVersion = "unknown"; deviceInfo.FirmwareVersion = "unknown"; try { string homePage = GetAdminHTML(); //get hardware version int hwIndex = homePage.IndexOf("<td class=\"libelle\">Hardware Version</td>"); if (hwIndex > 0) { hwIndex = homePage.IndexOf("<td class=\"status\">", hwIndex); if (hwIndex > 0) { hwIndex += "<td class=\"status\">".Length; int hwIndexEnd = homePage.IndexOf("<", hwIndex); string hwVersion = homePage.Substring(hwIndex, hwIndexEnd - hwIndex).Replace(" ", " "); deviceInfo.HardwareVersion = hwVersion; } } //get firmware version int fwIndex = homePage.IndexOf("<td class=\"libelle\">Runtime Code Version</td>"); if (fwIndex > 0) { fwIndex = homePage.IndexOf("<td class=\"status\">", fwIndex); if (fwIndex > 0) { fwIndex += "<td class=\"status\">".Length; int fwIndexEnd = homePage.IndexOf("<", fwIndex); string fwVersion = homePage.Substring(fwIndex, fwIndexEnd - fwIndex).Replace(" ", " "); deviceInfo.FirmwareVersion = fwVersion; } } } catch { } return deviceInfo; }