def on_person_update(self, people):
        """
        People have changed (e.g. a sensor value)

        :param people: People whos state changed (may include unchanged)
        :type people: list[paps.person.Person]
        :rtype: None
        """
        self.debug("()")
        changed = []
        with self._people_lock:
            for p in people:
                person = Person.from_person(p)
                if person.id not in self._people:
                    self.warning(u"{} not in audience".format(person.id))
                self._people[person.id] = person
                # Check if really changed? - trust source for now
                changed.append(person)
        for plugin in self.plugins:
            try:
                plugin.on_person_update(changed)
            except:
                self.exception(
                    u"Failed to send updated people to {}".format(plugin.name)
                )