The id should be a property of the TemperDevice-instance and should be passed on construction (defaulting to None). There should also be a note in the constructor to remind the user that the TEMPer device up until now are undistinguishable and can swap order with every reenumeration.