Suppose two or more devices share the same USERNAME, DEVICE_ID, and DEVICE_CREDENTIAL due to a firmware update error.
What strategy can we use to identify which DEVICE_ID is affected by this situation?
Initially, we considered tracking the number of connections and reconnections from different IP addresses, since the devices would be competing for the connection to the server.
However, this might be an interesting feature to have built directly into the Thinger server.
There is a unique combination of three different alphanumeric fields (and personally I havent reached an allowed limit for each one) that allows a device authenticate into the thinger server, I guess the recommendation is to apply a strategy to avoid the probability of that permutation of those three fields (of at least 10 characters) repeats itself into deployed devices.
The issue you are presenting I guess could not be detected and handled by current architecture, I have no idea how to establish a difference between two devices with the same digital print at the server side, at the physical layer you can turn off one and by discarding method know that the online device is the other one.
This does not look as a technology or feature lack, it looks like more an bad practice issue.
I recommend you to allow the device establish its DEVICE_ID itself based on the chip’s mac address, althoguh we agree this is not a world unique identificator, for sure will reduce the probability of that you may have a couple of chips (or a batch) with the same mac address, also you can use the date of fabrication as another parameter to define the DEVICE_ID, for sure a combination of batch date and mac address will get rid of the probability of having DEVICE_ID repeated, this will work even with the same USER and DEVICE_CREDENTIAL.