refreshStatus method
Implementation
Future<CuppsCommandResponse> refreshStatus() async {
try {
DeviceStatusRequest req = DeviceStatusRequest(messageID: currentMessageID);
String deviceStatusResXML = await send(xml: req.toXML());
DeviceStatusResponse deviceStatusRes = DeviceStatusResponse.fromXML(deviceStatusResXML);
// print("(TO DEVICE $deviceIndex) Received DeviceStatus ${deviceStatusRes.result}");
if (deviceStatusRes.result.toLowerCase() == "ok" || deviceStatusRes.result.toLowerCase() == "") {
// print(deviceStatusRes.status.map((e) => e.toXML()).toList());
if (deviceStatusRes.status.where((element) => element.toXML().contains("${getType.name}Status")).isNotEmpty) {
// print("Status DETECTED");
deviceParameter.status =
deviceStatusRes.status.firstWhere((element) => element.toXML().contains("${getType.name}Status"));
CUPPS().notifier!();
return CuppsCommandResponse(status: true, msg: "Device :$deviceName Status Refreshed");
} else {
CUPPS().notifier!();
return CuppsCommandResponse(status: false, msg: "Device :$deviceName Status Not Found in Response");
}
} else {
return CuppsCommandResponse(status: false, msg: deviceStatusRes.result);
}
} catch (e) {
return CuppsCommandResponse(status: false, msg: "Device $deviceName refresh Exception: $e");
}
}