def describe(self, address, unique_id, data): ''' Registers a device for the given physical address. ''' DeviceHandler.describe(self, address, unique_id, data) etype_id = data[0] etype = EntityType.find(etype_id) if etype: entity = Entity.find(unique_id) if entity is None: entity = Entity(unique_id, etype, 'Unknown device: ' + unique_id, last_checkin=time.time()) entity.save() print 'Device registered:', entity ClientModule.instance().send_state_change(entity) else: entity.last_checkin = time.time() entity.save() print 'Device found:', entity ClientModule.instance().send_state_change(entity) else: print 'Entity type not found:', etype_id