Start the event listener listening on the local machine at port 1400
        (default)

        Make sure that your firewall allows connections to this port

        Args:
            any_zone (SoCo): Any Sonos device on the network. It does not
                matter which device. It is used only to find a local IP address
                reachable by the Sonos net.

        Note:
            The port on which the event listener listens is configurable.
            See `config.EVENT_LISTENER_PORT`

def start(self, any_zone):
        """Start the event listener listening on the local machine at port 1400
        (default)

        Make sure that your firewall allows connections to this port

        Args:
            any_zone (SoCo): Any Sonos device on the network. It does not
                matter which device. It is used only to find a local IP address
                reachable by the Sonos net.

        Note:
            The port on which the event listener listens is configurable.
            See `config.EVENT_LISTENER_PORT`
        """

        # Find our local network IP address which is accessible to the
        # Sonos net, see http://stackoverflow.com/q/166506
        with self._start_lock:
            if not self.is_running:
                # Use configured IP address if there is one, else detect
                # automatically.
                if config.EVENT_LISTENER_IP:
                    ip_address = config.EVENT_LISTENER_IP
                else:
                    temp_sock = socket.socket(socket.AF_INET,
                                              socket.SOCK_DGRAM)
                    temp_sock.connect((any_zone.ip_address,
                                       config.EVENT_LISTENER_PORT))
                    ip_address = temp_sock.getsockname()[0]
                    temp_sock.close()

                # Start the event listener server in a separate thread.
                self.address = (ip_address, config.EVENT_LISTENER_PORT)
                self._listener_thread = EventServerThread(self.address)
                self._listener_thread.daemon = True
                self._listener_thread.start()
                self.is_running = True
                log.info("Event listener started")