If you're polling a smartplug and it's not connected to your WiFi you're waiting for a timeout which is not set by default ( https://docs.python.org/3/library/socket.html#socket.getdefaulttimeout ). This change adds an argument `--timeout` so you can provide you own timeout or use the default timeout of 10 seconds.