Hi Matthew!,
Playing with services, I have discovered a potential none expected behaviour, with the list of remote devices of a local device.
First, this list can contain remotes devices doubles.
For example, try this :
localDevice.sendBroadcast(0xBAC0, new WhoIsRequest(null, null));
localDevice.sendBroadcast(0xBAC0, new WhoIsRequest(null, null));
for (RemoteDevice d : localDevice.getRemoteDevices()) {
System.out.println("Device found : " + d);
}
Moreover, I do not think it is normal to always have the full remote devices list available, after a call of WhoHasRequest method :
localDevice.sendBroadcast(0xBAC0, new WhoIsRequest(null, null));
localDevice.sendBroadcast(0xBAC0,new WhoHasRequest(null, new ObjectIdentifier(ObjectType.binaryInput, 4097)));
for (RemoteDevice d : localDevice.getRemoteDevices()) {
System.out.println("Device found : " + d);
}
In conclusion, we always add remote devices in the list.
Therefore, can we imagine to add code for cleaning the remote devices list, before each call of WhoIsRequest, WhoHasRequest, etc. ?
Thank you in advance!
Jérémie