Forgot to update overridden equals() for many classes in devicemanager package. Devices are now compared correctly and are learned and not added repeatedly.