Plugin Service timing out
<!-- Provide a general summary in the Title above -->

### Expected Behavior
Plugin's not time out

### Current Behavior
After talking to Hoobs team about the Hoobs box becoming unresponsive and having to power cycle the box, they looked through the logs and said that I should reach out to you.  What's happening is: 

One or more of my TP-Link devices become unresponsive.  If I reboot Hoobs through the UI, the devices are responsive again, for an inconsistent amount of time, and all is good again.  At least once a day I have to cycle the power if I don’t catch the unresponsive state quickly enough.  If I don’t catch the unresponsive state of the TP-Link devices quick enough, the UI becomes unresponsive.  (Apache crashes??). I can SSH into Hoobs (If I’m physically present) and restart the box, and all is good again and the clock starts all over again.

If I don’t catch the failure soon enough, not only will I not be able to log into the web interface, but logging into the terminal becomes unresponsive too and I am forced to cycle the power.

### Steps to Reproduce (for bugs)
Simply wait.  It always happens.

### Versions
<!-- Please run commands and include versions below. -->
- **Node**:       `14.15.3`
- **Hoobs**: `3.3.2 --version`
- **OS**:         Hoobs

### Configuration
<!-- Please include the TplinkSmarthome platform section of your config.json file.
Paste between the the two ``` lines below.
-->
```json
"platforms": [
        {
            "platform": "TplinkSmarthome",
            "plugin_map": {
                "plugin_name": "homebridge-tplink-smarthome"
            },
            "name": "TplinkSmarthome",
            "addCustomCharacteristics": false,
            "deviceTypes": [
                "plug",
                "bulb"
            ],
            "timeout": 30,
            "transport": "tcp",
            "switchModels": [],
            "macAddresses": [],
            "excludeMacAddresses": [],
            "devices": []
        },
        {
            "platform": "BelkinWeMo",
            "plugin_map": {
                "plugin_name": "homebridge-platform-wemo"
            },
            "name": "Wemo",
            "disableDeviceLogging": true,
            "debug": false,
            "disablePlugin": false,
            "disableDiscovery": true,
            "mode": "auto"
        }
    ]
}
```

### Homebridge Log / Command Output
<!-- Paste relevant output between the two ``` lines below
  - Remove any sensitive information, passwords, etc.
  - If output is long:
    - Please extract only the relevant portions if possible (remove other plugin's output, etc)
    - Consider creating a gist, etc
  - However, please include the beginning of the log where the homebridge initialization happens if possible
-->
```
12/02/2021, 17:29:29 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:29:29 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:29:29 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:29:29 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:29:59 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:29:59 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:29:59 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:29:59 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:30:29 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:30:29 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:30:29 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:30:29 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:30:59 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:30:59 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:30:59 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:30:59 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:31:29 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:31:29 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:31:29 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:31:29 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:31:59 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:31:59 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:31:59 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:31:59 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:32:29 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:32:29 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:32:29 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:32:29 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:32:59 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:32:59 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:32:59 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:32:59 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:33:29 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:33:29 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:33:29 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:33:29 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:33:59 - [TplinkSmarthome.API] TCP 192.168.0.173:9999 Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:33:59 - [TplinkSmarthome.API] [Admin Printer] device.send() Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12/02/2021, 17:33:59 - [TplinkSmarthome] [Admin Printer] emeter.getRealtime()
12/02/2021, 17:33:59 - [TplinkSmarthome] Error: TCP Timeout after 30000ms
192.168.0.173:9999 {"emeter":{"get_realtime":{}}}
    at Timeout._onTimeout (/home/hoobs/.hoobs/node_modules/tplink-smarthome-api/lib/network/tcp-socket.js:59:36)
    at listOnTimeout (internal/timers.js:554:17)
    at processTimers (internal/timers.js:497:7)
12
```
