Пример #1
0
 def receive(self, address, unique_id, flags, data):
     ''' Processes received data from a physical device. '''
     
     DeviceHandler.receive(self, address, unique_id, flags, data)
     
     entity = Entity.find(unique_id)
     if entity is None:
         print 'No device found with id:', unique_id
     else:
         if entity.state_changed(data):
             ClientModule.instance().send_state_change(entity)
Пример #2
0
 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