David Blume commited on 2019-09-06 21:18:17
Showing 2 changed files, with 19 additions and 4 deletions.
... | ... |
@@ -17,12 +17,27 @@ sub init() |
17 | 17 |
m.settings = m.top.findNode("MySettings") |
18 | 18 |
end sub |
19 | 19 |
|
20 |
+function getDeviceId(deviceInfo as object) as String |
|
21 |
+ ' Try to get the Serial Number for an ECP call |
|
22 |
+ request = CreateObject("roUrlTransfer") |
|
23 |
+ request.SetUrl("http://localhost:8060/query/device-info") |
|
24 |
+ root = CreateObject("roXMLElement") |
|
25 |
+ if root.Parse(request.GetToString()) then |
|
26 |
+ elements = root.GetNamedElements("serial-number") |
|
27 |
+ if elements.Count() > 0 |
|
28 |
+ return elements[0].GetText() |
|
29 |
+ end if |
|
30 |
+ end if |
|
31 |
+ ' That did not work, so make a custom one. |
|
32 |
+ clientID = Right(deviceInfo.GetChannelClientId(), 6) |
|
33 |
+ modelID = deviceInfo.GetModel() |
|
34 |
+ return clientID + "-" + modelID |
|
35 |
+end function |
|
36 |
+ |
|
20 | 37 |
function executeTask() as void |
21 | 38 |
m.port = CreateObject("roMessagePort") |
22 | 39 |
|
23 | 40 |
deviceInfo = CreateObject("roDeviceInfo") |
24 |
- clientID = Right(deviceInfo.GetChannelClientId(), 6) |
|
25 |
- modelID = deviceInfo.GetModel() |
|
26 | 41 |
|
27 | 42 |
aaIPAddrs = deviceInfo.GetIPAddrs() |
28 | 43 |
for each key in aaIPAddrs |
... | ... |
@@ -32,7 +47,7 @@ function executeTask() as void |
32 | 47 |
end if |
33 | 48 |
end for |
34 | 49 |
|
35 |
- sendRequest(ipAddr, clientID + "-" + modelID) |
|
50 |
+ sendRequest(ipAddr, getDeviceId(deviceInfo)) |
|
36 | 51 |
end function |
37 | 52 |
|
38 | 53 |
sub sendRequest(ipAddr as String, deviceID as String) |