Code Monkey home page Code Monkey logo

homebridge-tp-link-tapo's Introduction

Banner

Bun

  • 👋 Hi, I’m Nicoale-Rares Ailincai
  • 👀 I’m interested in
    • NodeJS, TypeScript, MVVM, Message Queue
    • K8S, Docker, React, MobX, REST, Redis
    • Redux, ExpressJS, Back-End, MongoDB
    • PostgreSQL, SSE (Server-Sent Events)
    • Data Migration Specialist, NestJS
    • IoT Rasppbery Pi, ESP-AT, Neo4j
    • RxJs, Prisma, Pact, Contract Testing
    • GraphQL, Cloudflare Workers, WebAuthN
    • tailwindcss, Playwright, GraphQL Code Generator
    • Rust, Bun.sh
  • 🌱 I’m currently learning Rust and Bun
  • 📫 LinkedIn Profile
  • ☕️ Buy me a coffee

N. Rares Ailincai's Dev Card

homebridge-tp-link-tapo's People

Contributors

alexbirsan99 avatar dependabot[bot] avatar goncaloacteixeira avatar raresail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

homebridge-tp-link-tapo's Issues

Multiple TAPO sockets not possible

Describe The Bug

When I add another TAPO socket IP, plugin is not adding it.

Expected behavior

add second socket.

Logs

[31/08/2022, 12:09:40] [Tapo] Failed to get info about: 192.168.x.xx6 | Accessories must be created with a non-empty displayName.
[31/08/2022, 12:09:40] [Tapo] Retry to connect in 10s : 192.168.x.xx6
[31/08/2022, 12:09:50] [Tapo] Try for 192.168.2.226 : 1/20

Plugin Config

{
"addresses": [
"192.168.x.xx5",
"192.168.x.xx6"
],
"name": "Tapo",
"email": "[email protected]",
"password": "xxxx",
"_bridge": {
"username": "xx:xx:xx:xx:xx:xx",
"port": 44789
},
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

v3.2.1

Homebridge Version

v3.2.1

Node.js Version

v16.16.0

NPM Version

8.11.0

Operating System

Debian GNU/Linux 11 (bullseye)

Tapo Plugin is not working with Homebridge

Describe The Bug

I have tried with both child bridge and without it. I keep getting this error and tapo bulb L510 don't respond either from the home app on the iPhone or accessories tab in the homebridge.

[15/01/2023, 9:45:45 am] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[15/01/2023, 9:45:45 am] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.

Expected behavior

Click on the iphone home app or accessories tab should work

Logs

[15/01/2023, 9:45:45 am] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[15/01/2023, 9:45:45 am] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.

Plugin Config

{
"addresses": [
"192.168.233.51",
"192.168.233.50"
],
"name": "Tapo",
"email": "XXXXX",
"password": "XXXXXXXX,
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

3.2.2

Homebridge Version

1.60

Node.js Version

v18.13.0

NPM Version

npm: '8.19.3'

Operating System

Ubuntu 22.04

Unreachable if power fails

Describe The Bug

If power fails and then restores, the plugin does not reconnect automatically to the devices.
It is as if not able to reach the IP addresses of the devices and keeps trying to reconnect but without success.

Expected behavior

The best way to address such issue is to add auto discovery using mDNS. A number of plugins on Homebridge no longer require IP addresses but mDNS. 🤗

Logs

[9/30/2023, 2:09:20 PM] [Tapo] Error sendin
9 command:
power AxiosError: Request faile
d with status code 403
at settle (/var/lib/homebridge/node_mo dules/homebridge-tp-link-tapo/node_modules /axios/lib/core/settle.js:19:12)
at IncomingMessage handleStreamend (/V
ar/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapte rs/http.js:572:11)
at
IncomingMessage.emit (node:events:5
29:35)
at endReadableNT (node:internal/stream s/readable:1368:12)
at processTicksAndRejections (node:int
ernal/process/task_queues:82:21) {
code: 'ERR_BAD REQUEST'
config: {
transitional: {
silentJSONParsing: true, forcedJSONParsing: true, clarifyTimeoutError: false
adapter: 'http'
transformRequest: [ [Function: transfo rmRequest| 1,
transiormlesponse: [ [Function: transi ormResponse] 1,
timeout:
0,
xsIfCookieName: 'XSRE-TOKEN'
xsriHeaderName:
'X-XSRE-TOKEN'
maxContentLength: -1, maxBodyLength: -1,
env: { FormData: [Function], Blob: [cl ass Blob]
validateStatus: [Function: validateSta tus],

Plugin Config

N/A

Plugin Version

N/A

Homebridge Version

N/A

Node.js Version

N/A

NPM Version

N/A

Operating System

N/A

Tapo Switches (eg: S500D) are unsupported

Describe The Bug

Tapo switches are currently unsupported.
Homebridge shows an error log
[9/4/2023, 7:24:24 PM] [TPLink Tapo Platform] Failed to register accessory "Bedroom light" of type "Unknown" (SMART.TAPOSWITCH)

Expected behavior

Please add support to Tapo switches. Thanks!

Logs

[9/4/2023, 7:24:23 PM] [TPLink Tapo Platform] Launched child bridge with PID 9846
[9/4/2023, 7:24:23 PM] Registering platform 'homebridge-tp-link-tapo.HomebridgeTPLinkTapo'
[9/4/2023, 7:24:23 PM] [TPLink Tapo Platform] Loaded homebridge-tp-link-tapo v3.3.0 child bridge successfully
[9/4/2023, 7:24:23 PM] Homebridge v1.6.1 (HAP v0.11.1) (TPLink Tapo Platform) is running on port 46874.
[9/4/2023, 7:24:24 PM] [TPLink Tapo Platform] Adding new accessory: Bedroom light
[9/4/2023, 7:24:24 PM] [TPLink Tapo Platform] Failed to register accessory "Bedroom light" of type "Unknown" (SMART.TAPOSWITCH)

Plugin Config

{
    "addresses": [
        "192.168.1.115"
    ],
    "name": "TPLink Tapo Platform",
    "email": "xxxx",
    "password": "xxxx",
    "_bridge": {
        "username": "0E:98:57:A7:35:B4",
        "port": 46874
    },
    "platform": "HomebridgeTPLinkTapo"
}

Plugin Version

v3.3.0

Homebridge Version

v1.6.1

Node.js Version

v18.16.0

NPM Version

v9.5.1

Operating System

ubuntu

Tapo T310

Describe The Bug

Please develop support for the T310 Temperature and Humidity Sensor. The sensor works via a hub in my case the Tapo H100 Smart Hub with chime.

Expected behavior

N/A

Logs

N/A

Plugin Config

N/A

Plugin Version

N/A

Homebridge Version

N/A

Node.js Version

N/A

NPM Version

N/A

Operating System

OSX

Command error: deviceInfo > -1501

Describe The Bug

Hi, i have a problem with 2 tapo's that don't want to work, before they did, i don't understand what could have happened, if it is an update that caused the error, but the strange thing is that the other tapo's are the same and work well.

Expected behavior

I hope it will be added like the other tapos that I have installed

Logs

Loading logs using native method...
File: /Users/server/.homebridge/homebridge.log

ntact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:51:01 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:01 PM] [Tapo] Restoring existing accessory from cache: Luz Bolardos
[9/14/2023, 3:51:01 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:51:01 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:01 PM] [Meross] [Luz Superior] initialising with options {"connection":"hybrid","inUsePowerThreshold":0,"showAs":"switch"}.
[9/14/2023, 3:51:01 PM] [Meross] [Luz Superior] initialised with id [2008039222403151851848e1e92964b6}].
[9/14/2023, 3:51:01 PM] [Meross] [Luz Recepción] initialising with options {"connection":"hybrid","inUsePowerThreshold":0,"showAs":"switch"}.
[9/14/2023, 3:51:01 PM] [Meross] [Luz Recepción] initialised with id [2008036430239051851848e1e9299f74}].
[9/14/2023, 3:51:01 PM] [Meross] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!
[9/14/2023, 3:51:03 PM] [Meross] [Luz Superior] has been reported [online].
[9/14/2023, 3:51:03 PM] [Meross] [Luz Recepción] has been reported [online].
[9/14/2023, 3:51:10 PM] [Homebridge UI] Sending SIGTERM to Homebridge
[9/14/2023, 3:51:10 PM] Got SIGTERM, shutting down Homebridge...
[9/14/2023, 3:51:10 PM] [Meross] [Luz Recepción] mqtt connection closed.
[9/14/2023, 3:51:10 PM] [Meross] [Luz Superior] mqtt connection closed.
[9/14/2023, 3:51:11 PM] [Tapo] Try for 192.168.88.218 : 19/20
[9/14/2023, 3:51:11 PM] [Tapo] Try for 192.168.88.220 : 19/20
[9/14/2023, 3:51:11 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:11 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:51:11 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:51:11 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:11 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:51:11 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:51:15 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[9/14/2023, 3:51:15 PM] [Homebridge UI] Shutting down Homebridge before removing cached accessories
[9/14/2023, 3:51:15 PM] [Homebridge UI] Clearing Cached Homebridge Accessories...
[9/14/2023, 3:51:15 PM] [Homebridge UI] Removed /Users/server/.homebridge/accessories/.cachedAccessories.bak
[9/14/2023, 3:51:15 PM] [Homebridge UI] Removed /Users/server/.homebridge/accessories/cachedAccessories
[9/14/2023, 3:51:20 PM] [HB Supervisor] Restarting Homebridge...
[9/14/2023, 3:51:20 PM] [HB Supervisor] Starting Homebridge with extra flags: -I
[9/14/2023, 3:51:20 PM] [HB Supervisor] Started Homebridge v1.6.1 with PID: 82987
[9/14/2023, 3:51:21 PM] Loaded config.json with 0 accessories and 5 platforms.
[9/14/2023, 3:51:21 PM] ---
[9/14/2023, 3:51:21 PM] Loaded plugin: [email protected]
[9/14/2023, 3:51:21 PM] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[9/14/2023, 3:51:21 PM] ---
[9/14/2023, 3:51:21 PM] Loaded plugin: [email protected]
[9/14/2023, 3:51:21 PM] Registering platform 'homebridge-config-ui-x.config'
[9/14/2023, 3:51:21 PM] ---
[9/14/2023, 3:51:21 PM] The plugin "homebridge-meross" requires Node.js version of ^16.20.2 || ^18.17.1 || ^20.5.1 which does not satisfy the current Node.js version of v18.15.0. You may need to upgrade your installation of Node.js - see https://homebridge.io/w/JTKEF
[9/14/2023, 3:51:22 PM] Loaded plugin: [email protected]
[9/14/2023, 3:51:22 PM] Registering platform 'homebridge-meross.Meross'
[9/14/2023, 3:51:22 PM] ---
[9/14/2023, 3:51:22 PM] Loaded plugin: [email protected]
[9/14/2023, 3:51:22 PM] Registering platform 'homebridge-tp-link-tapo.HomebridgeTPLinkTapo'
[9/14/2023, 3:51:22 PM] ---
[9/14/2023, 3:51:22 PM] Loaded plugin: [email protected]
[9/14/2023, 3:51:22 PM] Registering platform 'homebridge-wiz-lan.WizSmarthome'
[9/14/2023, 3:51:22 PM] ---
[9/14/2023, 3:51:22 PM] Loading 5 platforms...
[9/14/2023, 3:51:22 PM] [Tapo] Initializing HomebridgeTPLinkTapo platform...
[9/14/2023, 3:51:22 PM] [Meross] Initializing Meross platform...
[9/14/2023, 3:51:22 PM] [Meross] Initialising plugin v9.2.5 | System darwin | Node v18.15.0 | HB v1.6.1 | HAPNodeJS v0.11.1...
[9/14/2023, 3:51:22 PM] [WizSmarthome] Initializing WizSmarthome platform...
[9/14/2023, 3:51:22 PM] [WizSmarthome] [Refresh] Pings are off
[9/14/2023, 3:51:22 PM] [Camera FFmpeg] Initializing Camera-ffmpeg platform...
[9/14/2023, 3:51:22 PM] [Meross] Plugin initialised. Setting up accessories....
[9/14/2023, 3:51:22 PM] [WizSmarthome] [Socket] Setting up socket on 192.168.88.185:38900
[9/14/2023, 3:51:22 PM] [Camera FFmpeg] [iWant Cámara Principal] Configuring bridged accessory...
[9/14/2023, 3:51:22 PM] [Camera FFmpeg] [Cámara Exterior Derecha] Configuring bridged accessory...
[9/14/2023, 3:51:22 PM] [Camera FFmpeg] [Cámara Exterior Izquierda] Configuring bridged accessory...
[9/14/2023, 3:51:22 PM] [Camera FFmpeg] [Cámara Zona de Experiencia] Configuring bridged accessory...
Setup Payload:
X-HM://0023OCMOF3W3E
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

┌────────────┐     
│ 124-60-495 │     
└────────────┘     

[9/14/2023, 3:51:22 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 255.255.255.255:38899
[9/14/2023, 3:51:22 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.102:38899
[9/14/2023, 3:51:22 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.103:38899
[9/14/2023, 3:51:22 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.105:38899
[9/14/2023, 3:51:22 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.107:38899
[9/14/2023, 3:51:22 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.113:38899
[9/14/2023, 3:51:22 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.121:38899
[9/14/2023, 3:51:22 PM] Homebridge v1.6.1 (HAP v0.11.1) (Homebridge 59C7) is running on port 51747.
[9/14/2023, 3:51:22 PM] [WizSmarthome] Adding new accessory: Wiz RGB Bulb a8bb5061e528
[9/14/2023, 3:51:22 PM] A platform configured a new accessory under the plugin name 'WizSmarthome'. However no loaded plugin could be found for the name!
[9/14/2023, 3:51:22 PM] [WizSmarthome] Adding new accessory: Wiz RGB Bulb a8bb5062f478
[9/14/2023, 3:51:22 PM] A platform configured a new accessory under the plugin name 'WizSmarthome'. However no loaded plugin could be found for the name!
[9/14/2023, 3:51:22 PM] [WizSmarthome] Adding new accessory: Wiz RGB Bulb a8bb506218a0
[9/14/2023, 3:51:22 PM] A platform configured a new accessory under the plugin name 'WizSmarthome'. However no loaded plugin could be found for the name!
[9/14/2023, 3:51:22 PM] [WizSmarthome] Adding new accessory: Wiz RGB Bulb a8bb50620c9e
[9/14/2023, 3:51:22 PM] A platform configured a new accessory under the plugin name 'WizSmarthome'. However no loaded plugin could be found for the name!
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Luz Mueble R
[Luz Mueble R@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Luz M1
[Luz M1@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Sensor M 4 y 5
[Sensor M 4 y 5@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: M Go Pro
[M Go Pro@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Luz M 2 y 3
[Luz M 2 y 3@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Luz M6 y 7
[Luz M6 y 7@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Sensor M1
[Sensor M1@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Luz M 4 y 5
[Luz M 4 y 5@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Sensor M2 y 3
[Sensor M2 y 3@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:22 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:51:22 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Luz RGB
[Luz RGB@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Avisos Fachada
[Avisos Fachada@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:22 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:51:22 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Lux Exterior
[Lux Exterior@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Luz Bolardos
[Luz Bolardos@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Adding new accessory: Avisos Manzanas
[Avisos Manzanas@@Contact Sensor State] Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:22 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:51:23 PM] [Meross] [Luz Superior] has been added to Homebridge.
[9/14/2023, 3:51:23 PM] [Meross] [Luz Superior] initialising with options {"connection":"hybrid","inUsePowerThreshold":0,"showAs":"switch"}.
[9/14/2023, 3:51:23 PM] [Meross] [Luz Superior] initialised with id [2008039222403151851848e1e92964b6}].
[9/14/2023, 3:51:23 PM] [Meross] [Luz Recepción] has been added to Homebridge.
[9/14/2023, 3:51:23 PM] [Meross] [Luz Recepción] initialising with options {"connection":"hybrid","inUsePowerThreshold":0,"showAs":"switch"}.
[9/14/2023, 3:51:23 PM] [Meross] [Luz Recepción] initialised with id [2008036430239051851848e1e9299f74}].
[9/14/2023, 3:51:23 PM] [Meross] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!
[9/14/2023, 3:51:25 PM] [Meross] [Luz Superior] current state [on].
[9/14/2023, 3:51:25 PM] [Meross] [Luz Superior] has been reported [online].
[9/14/2023, 3:51:25 PM] [Meross] [Luz Recepción] current state [on].
[9/14/2023, 3:51:25 PM] [Meross] [Luz Recepción] has been reported [online].
[9/14/2023, 3:51:32 PM] [Tapo] Try for 192.168.88.220 : 19/20
[9/14/2023, 3:51:32 PM] [Tapo] Try for 192.168.88.218 : 19/20
[9/14/2023, 3:51:32 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:32 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:51:32 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:51:32 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:32 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:51:32 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:51:42 PM] [Tapo] Try for 192.168.88.218 : 18/20
[9/14/2023, 3:51:42 PM] [Tapo] Try for 192.168.88.220 : 18/20
[9/14/2023, 3:51:43 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:43 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:51:43 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:51:43 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:43 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:51:43 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:51:50 PM] [Homebridge UI] Homebridge restart request received
[9/14/2023, 3:51:50 PM] [Homebridge UI] UI / Bridge settings have not changed; only restarting Homebridge process
[9/14/2023, 3:51:50 PM] [Homebridge UI] Sending SIGTERM to Homebridge
[9/14/2023, 3:51:50 PM] Got SIGTERM, shutting down Homebridge...
[9/14/2023, 3:51:50 PM] [Meross] [Luz Recepción] mqtt connection closed.
[9/14/2023, 3:51:50 PM] [Meross] [Luz Superior] mqtt connection closed.
[9/14/2023, 3:51:53 PM] [Tapo] Try for 192.168.88.218 : 17/20
[9/14/2023, 3:51:53 PM] [Tapo] Try for 192.168.88.220 : 17/20
[9/14/2023, 3:51:53 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:53 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:51:53 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:51:53 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:51:53 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:51:53 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:51:55 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null
[9/14/2023, 3:52:00 PM] [HB Supervisor] Restarting Homebridge...
[9/14/2023, 3:52:00 PM] [HB Supervisor] Starting Homebridge with extra flags: -I
[9/14/2023, 3:52:00 PM] [HB Supervisor] Started Homebridge v1.6.1 with PID: 83024
[9/14/2023, 3:52:01 PM] Loaded config.json with 0 accessories and 5 platforms.
[9/14/2023, 3:52:01 PM] Loaded 24 cached accessories from cachedAccessories.
[9/14/2023, 3:52:01 PM] ---
[9/14/2023, 3:52:01 PM] Loaded plugin: [email protected]
[9/14/2023, 3:52:01 PM] Registering platform 'homebridge-camera-ffmpeg.Camera-ffmpeg'
[9/14/2023, 3:52:01 PM] ---
[9/14/2023, 3:52:01 PM] Loaded plugin: [email protected]
[9/14/2023, 3:52:01 PM] Registering platform 'homebridge-config-ui-x.config'
[9/14/2023, 3:52:01 PM] ---
[9/14/2023, 3:52:01 PM] The plugin "homebridge-meross" requires Node.js version of ^16.20.2 || ^18.17.1 || ^20.5.1 which does not satisfy the current Node.js version of v18.15.0. You may need to upgrade your installation of Node.js - see https://homebridge.io/w/JTKEF
[9/14/2023, 3:52:01 PM] Loaded plugin: [email protected]
[9/14/2023, 3:52:01 PM] Registering platform 'homebridge-meross.Meross'
[9/14/2023, 3:52:01 PM] ---
[9/14/2023, 3:52:01 PM] Loaded plugin: [email protected]
[9/14/2023, 3:52:01 PM] Registering platform 'homebridge-tp-link-tapo.HomebridgeTPLinkTapo'
[9/14/2023, 3:52:01 PM] ---
[9/14/2023, 3:52:01 PM] Loaded plugin: [email protected]
[9/14/2023, 3:52:01 PM] Registering platform 'homebridge-wiz-lan.WizSmarthome'
[9/14/2023, 3:52:01 PM] ---
[9/14/2023, 3:52:01 PM] Loading 5 platforms...
[9/14/2023, 3:52:01 PM] [Tapo] Initializing HomebridgeTPLinkTapo platform...
[9/14/2023, 3:52:01 PM] [Meross] Initializing Meross platform...
[9/14/2023, 3:52:01 PM] [Meross] Initialising plugin v9.2.5 | System darwin | Node v18.15.0 | HB v1.6.1 | HAPNodeJS v0.11.1...
[9/14/2023, 3:52:01 PM] [WizSmarthome] Initializing WizSmarthome platform...
[9/14/2023, 3:52:01 PM] [WizSmarthome] [Refresh] Pings are off
[9/14/2023, 3:52:01 PM] [Camera FFmpeg] Initializing Camera-ffmpeg platform...
[9/14/2023, 3:52:01 PM] [Camera FFmpeg] [iWant Cámara Principal] Configuring cached bridged accessory...
[9/14/2023, 3:52:01 PM] [Camera FFmpeg] [Cámara Exterior Derecha] Configuring cached bridged accessory...
[9/14/2023, 3:52:01 PM] [Camera FFmpeg] [Cámara Exterior Izquierda] Configuring cached bridged accessory...
[9/14/2023, 3:52:01 PM] [Camera FFmpeg] [Cámara Zona de Experiencia] Configuring cached bridged accessory...
[9/14/2023, 3:52:01 PM] When searching for the associated plugin of the accessory 'Wiz RGB Bulb a8bb5061e528' it seems like the plugin name changed from 'WizSmarthome' to 'homebridge-wiz-lan'. Plugin association is now being transformed!
[9/14/2023, 3:52:01 PM] [WizSmarthome] Loading accessory from cache: Wiz RGB Bulb a8bb5061e528
[9/14/2023, 3:52:01 PM] When searching for the associated plugin of the accessory 'Wiz RGB Bulb a8bb5062f478' it seems like the plugin name changed from 'WizSmarthome' to 'homebridge-wiz-lan'. Plugin association is now being transformed!
[9/14/2023, 3:52:01 PM] [WizSmarthome] Loading accessory from cache: Wiz RGB Bulb a8bb5062f478
[9/14/2023, 3:52:01 PM] When searching for the associated plugin of the accessory 'Wiz RGB Bulb a8bb506218a0' it seems like the plugin name changed from 'WizSmarthome' to 'homebridge-wiz-lan'. Plugin association is now being transformed!
[9/14/2023, 3:52:01 PM] [WizSmarthome] Loading accessory from cache: Wiz RGB Bulb a8bb506218a0
[9/14/2023, 3:52:01 PM] When searching for the associated plugin of the accessory 'Wiz RGB Bulb a8bb50620c9e' it seems like the plugin name changed from 'WizSmarthome' to 'homebridge-wiz-lan'. Plugin association is now being transformed!
[9/14/2023, 3:52:01 PM] [WizSmarthome] Loading accessory from cache: Wiz RGB Bulb a8bb50620c9e
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Luz Mueble R
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Luz M1
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Sensor M 4 y 5
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: M Go Pro
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Luz M 2 y 3
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Luz M6 y 7
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Sensor M1
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Luz M 4 y 5
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Sensor M2 y 3
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Luz RGB
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Avisos Fachada
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Lux Exterior
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Luz Bolardos
[9/14/2023, 3:52:01 PM] [Tapo] Loading accessory from cache: Avisos Manzanas
[9/14/2023, 3:52:01 PM] [Meross] Plugin initialised. Setting up accessories....
[9/14/2023, 3:52:01 PM] [WizSmarthome] [Socket] Setting up socket on 192.168.88.185:38900
Setup Payload:
X-HM://0023OCMOF3W3E
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

┌────────────┐     
│ 124-60-495 │     
└────────────┘     

[9/14/2023, 3:52:01 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 255.255.255.255:38899
[9/14/2023, 3:52:01 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.102:38899
[9/14/2023, 3:52:01 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.103:38899
[9/14/2023, 3:52:01 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.105:38899
[9/14/2023, 3:52:01 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.107:38899
[9/14/2023, 3:52:01 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.113:38899
[9/14/2023, 3:52:01 PM] [WizSmarthome] [Discovery] Sending discovery UDP broadcast to 192.168.100.121:38899
[9/14/2023, 3:52:01 PM] Homebridge v1.6.1 (HAP v0.11.1) (Homebridge 59C7) is running on port 51747.
[9/14/2023, 3:52:02 PM] [WizSmarthome] Adding new accessory: Wiz RGB Bulb a8bb5062af76
[9/14/2023, 3:52:02 PM] A platform configured a new accessory under the plugin name 'WizSmarthome'. However no loaded plugin could be found for the name!
[9/14/2023, 3:52:02 PM] [WizSmarthome] Updating accessory: Wiz RGB Bulb a8bb50620c9e
[9/14/2023, 3:52:02 PM] [WizSmarthome] Updating accessory: Wiz RGB Bulb a8bb506218a0
[9/14/2023, 3:52:02 PM] [WizSmarthome] Updating accessory: Wiz RGB Bulb a8bb5061e528
[9/14/2023, 3:52:02 PM] [WizSmarthome] Updating accessory: Wiz RGB Bulb a8bb5062f478
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Sensor M1
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Sensor M2 y 3
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Luz M1
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Luz Mueble R
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Luz RGB
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:02 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:52:02 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Sensor M 4 y 5
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Luz M 2 y 3
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:02 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:52:02 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: M Go Pro
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Avisos Fachada
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Luz M6 y 7
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Luz M 4 y 5
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Lux Exterior
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Avisos Manzanas
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:02 PM] [Meross] [Luz Superior] initialising with options {"connection":"hybrid","inUsePowerThreshold":0,"showAs":"switch"}.
[9/14/2023, 3:52:02 PM] [Meross] [Luz Superior] initialised with id [2008039222403151851848e1e92964b6}].
[9/14/2023, 3:52:02 PM] [Meross] [Luz Recepción] initialising with options {"connection":"hybrid","inUsePowerThreshold":0,"showAs":"switch"}.
[9/14/2023, 3:52:02 PM] [Meross] [Luz Recepción] initialised with id [2008036430239051851848e1e9299f74}].
[9/14/2023, 3:52:02 PM] [Meross] ✓ Setup complete. This plugin has been made with ♥ by bwp91, please consider a ☆ on GitHub if you are finding it useful!
[9/14/2023, 3:52:02 PM] [Tapo] Restoring existing accessory from cache: Luz Bolardos
[9/14/2023, 3:52:02 PM] [homebridge-tp-link-tapo] This plugin generated a warning from the characteristic 'Contact Sensor State': Characteristic not in required or optional characteristic section for service Outlet. Adding anyway.. See https://homebridge.io/w/JtMGR for more info.
[9/14/2023, 3:52:02 PM] [Tapo] Command error: getCurrentPower > 1002
[9/14/2023, 3:52:04 PM] [Meross] [Luz Superior] has been reported [online].
[9/14/2023, 3:52:04 PM] [Meross] [Luz Recepción] has been reported [online].
[9/14/2023, 3:52:12 PM] [Tapo] Try for 192.168.88.218 : 19/20
[9/14/2023, 3:52:12 PM] [Tapo] Try for 192.168.88.220 : 19/20
[9/14/2023, 3:52:12 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:12 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:52:12 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:52:12 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:12 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:52:12 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:52:22 PM] [Tapo] Try for 192.168.88.218 : 18/20
[9/14/2023, 3:52:22 PM] [Tapo] Try for 192.168.88.220 : 18/20
[9/14/2023, 3:52:22 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:22 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:52:22 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:52:22 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:22 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:52:22 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:52:32 PM] [Tapo] Try for 192.168.88.218 : 17/20
[9/14/2023, 3:52:32 PM] [Tapo] Try for 192.168.88.220 : 17/20
[9/14/2023, 3:52:32 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:32 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:52:32 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:52:32 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:32 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:52:32 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:52:42 PM] [Tapo] Try for 192.168.88.218 : 16/20
[9/14/2023, 3:52:42 PM] [Tapo] Try for 192.168.88.220 : 16/20
[9/14/2023, 3:52:42 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:42 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:52:42 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:52:43 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:43 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:52:43 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:52:52 PM] [Tapo] Try for 192.168.88.218 : 15/20
[9/14/2023, 3:52:53 PM] [Tapo] Try for 192.168.88.220 : 15/20
[9/14/2023, 3:52:53 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:53 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:52:53 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:52:53 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:52:53 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:52:53 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:53:03 PM] [Tapo] Try for 192.168.88.218 : 14/20
[9/14/2023, 3:53:03 PM] [Tapo] Try for 192.168.88.220 : 14/20
[9/14/2023, 3:53:03 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:03 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:53:03 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:53:03 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:03 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:53:03 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:53:13 PM] [Tapo] Try for 192.168.88.218 : 13/20
[9/14/2023, 3:53:13 PM] [Tapo] Try for 192.168.88.220 : 13/20
[9/14/2023, 3:53:13 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:13 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:53:13 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:53:13 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:13 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:53:13 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:53:23 PM] [Tapo] Try for 192.168.88.218 : 12/20
[9/14/2023, 3:53:23 PM] [Tapo] Try for 192.168.88.220 : 12/20
[9/14/2023, 3:53:23 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:23 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:53:23 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:53:23 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:23 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:53:23 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:53:33 PM] [Tapo] Try for 192.168.88.218 : 11/20
[9/14/2023, 3:53:33 PM] [Tapo] Try for 192.168.88.220 : 11/20
[9/14/2023, 3:53:33 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:33 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:53:33 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:53:33 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:33 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:53:33 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:53:43 PM] [Tapo] Try for 192.168.88.218 : 10/20
[9/14/2023, 3:53:43 PM] [Tapo] Try for 192.168.88.220 : 10/20
[9/14/2023, 3:53:43 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:43 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:53:43 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:53:43 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:43 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:53:43 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:53:53 PM] [Tapo] Try for 192.168.88.218 : 9/20
[9/14/2023, 3:53:53 PM] [Tapo] Try for 192.168.88.220 : 9/20
[9/14/2023, 3:53:54 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:54 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:53:54 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:53:54 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:53:54 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:53:54 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:54:04 PM] [Tapo] Try for 192.168.88.218 : 8/20
[9/14/2023, 3:54:04 PM] [Tapo] Try for 192.168.88.220 : 8/20
[9/14/2023, 3:54:04 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:04 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:54:04 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:54:04 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:04 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:54:04 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:54:14 PM] [Tapo] Try for 192.168.88.218 : 7/20
[9/14/2023, 3:54:14 PM] [Tapo] Try for 192.168.88.220 : 7/20
[9/14/2023, 3:54:14 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:14 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:54:14 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:54:14 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:14 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:54:14 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:54:24 PM] [Tapo] Try for 192.168.88.218 : 6/20
[9/14/2023, 3:54:24 PM] [Tapo] Try for 192.168.88.220 : 6/20
[9/14/2023, 3:54:24 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:24 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:54:24 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:54:24 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:24 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:54:24 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:54:34 PM] [Tapo] Try for 192.168.88.218 : 5/20
[9/14/2023, 3:54:34 PM] [Tapo] Try for 192.168.88.220 : 5/20
[9/14/2023, 3:54:34 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:34 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:54:34 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:54:34 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:34 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:54:34 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:54:44 PM] [Tapo] Try for 192.168.88.218 : 4/20
[9/14/2023, 3:54:44 PM] [Tapo] Try for 192.168.88.220 : 4/20
[9/14/2023, 3:54:44 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:44 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:54:44 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:54:44 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:44 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:54:44 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:54:54 PM] [Tapo] Try for 192.168.88.220 : 3/20
[9/14/2023, 3:54:54 PM] [Tapo] Try for 192.168.88.218 : 3/20
[9/14/2023, 3:54:55 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:55 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:54:55 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:54:55 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:54:55 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:54:55 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:55:05 PM] [Tapo] Try for 192.168.88.220 : 2/20
[9/14/2023, 3:55:05 PM] [Tapo] Try for 192.168.88.218 : 2/20
[9/14/2023, 3:55:05 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:55:05 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:55:05 PM] [Tapo] Retry to connect in 10s : 192.168.88.220
[9/14/2023, 3:55:05 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:55:05 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:55:05 PM] [Tapo] Retry to connect in 10s : 192.168.88.218
[9/14/2023, 3:55:15 PM] [Tapo] Try for 192.168.88.220 : 1/20
[9/14/2023, 3:55:15 PM] [Tapo] Try for 192.168.88.218 : 1/20
[9/14/2023, 3:55:15 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:55:15 PM] [Tapo] Failed to get info about: 192.168.88.220
[9/14/2023, 3:55:15 PM] [Tapo] Retry timeout: 192.168.88.220
[9/14/2023, 3:55:15 PM] [Tapo] Command error: deviceInfo > -1501
[9/14/2023, 3:55:15 PM] [Tapo] Failed to get info about: 192.168.88.218
[9/14/2023, 3:55:15 PM] [Tapo] Retry timeout: 192.168.88.218
[9/14/2023, 4:00:50 PM] [Meross] [Luz Recepción] current state [off].
[9/14/2023, 4:00:52 PM] [Meross] [Luz Recepción] current state [on].
[9/14/2023, 4:00:54 PM] [Meross] [Luz Recepción] current state [off].
[9/14/2023, 4:00:55 PM] [Meross] [Luz Recepción] current state [on].
[9/14/2023, 4:02:27 PM] [Camera FFmpeg] [Cámara Exterior Izquierda] Starting video stream: native x native, native fps, 299 kbps
[9/14/2023, 4:02:37 PM] [Camera FFmpeg] [Cámara Exterior Izquierda] Stopped video stream.
[9/14/2023, 4:02:38 PM] [Camera FFmpeg] [iWant Cámara Principal] Starting video stream: native x native, native fps, 299 kbps
[9/14/2023, 4:02:47 PM] [Camera FFmpeg] [iWant Cámara Principal] Stopped video stream.

Plugin Config

{
"addresses": [
"192.168.88.122",
"192.168.88.193",
"192.168.88.194",
"192.168.88.195",
"192.168.88.196",
"192.168.88.197",
"192.168.88.198",
"192.168.88.199",
"192.168.88.201",
"192.168.88.202",
"192.168.88.209",
"192.168.88.218",
"192.168.88.219",
"192.168.88.220",
"192.168.88.227",
"192.168.88.228"
],
"name": "Tapo",
"email": "########",
"password": "#######",
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

homebridge-tp-link-tapo v4.0.0

Homebridge Version

1.6.1

Node.js Version

v18.15.0

NPM Version

9.5.0

Operating System

MacOS Ventura 13.5.2

Can I get help with this error?

Describe The Bug

The lights worked to begin with, now I get this error. It even causes the Homebridge UI to not be accessible sometimes.

Expected behavior

Not this. To be able to access the one tapo light.

Logs

20/06/2022, 23:00:11] [TPLink Tapo Platform] Error sending command: deviceInfo AxiosError: connect EHOSTUNREACH 192.168.1.42:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
port: 80,
address: '192.168.1.42',
syscall: 'connect',
code: 'EHOSTUNREACH',
errno: -113,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/0.27.2',
'Content-Length': 352
},
method: 'post',
url: 'http://192.168.1.42/app',
data: '{"method":"handshake","params":{"key":""},"requestTimeMils":1655762408063}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
hostname: '192.168.1.42',
port: null,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/0.27.2\r\n' +
'Content-Length: 352\r\n' +
'Host: 192.168.1.42\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.1.42',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://192.168.1.42/app',
[Symbol(kCapture)]: false
}
}
[20/06/2022, 23:00:11] [TPLink Tapo Platform] Failed to get info about: 192.168.1.42 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
[20/06/2022, 23:00:11] [TPLink Tapo Platform] Retry to connect in 10s : 192.168.1.42
[20/06/2022, 23:00:11] [Govee] ✓ Setup complete. Want to see this plugin in your own language? Let me know!
[20/06/2022, 23:00:21] [TPLink Tapo Platform] Try for 192.168.1.42 : 19/20
[20/06/2022, 23:00:24] [TPLink Tapo Platform] Error sending command: deviceInfo AxiosError: connect EHOSTUNREACH 192.168.1.42:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
port: 80,
address: '192.168.1.42',
syscall: 'connect',
code: 'EHOSTUNREACH',
errno: -113,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/0.27.2',
'Content-Length': 352
},
method: 'post',
url: 'http://192.168.1.42/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDFrhWvP1TAg5utz8lCSUrul7IE\n4le7+GgZTKx13WULiT5g78P+/e2wTpwkZcuch83jVhJnDYHHXAo5SqtvdKr+HIoG\nUdGZo9s7V/gawzYEwFt6jG8o/vC6INieZ0DcCGgaRHshPinkzWZoYngc43SAzDNV\nW4llPNvSKxujUs5yzQIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1655762421692}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
hostname: '192.168.1.42',
port: null,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/0.27.2\r\n' +
'Content-Length: 352\r\n' +
'Host: 192.168.1.42\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.1.42',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://192.168.1.42/app',
[Symbol(kCapture)]: false
}
}
[20/06/2022, 23:00:24] [TPLink Tapo Platform] Failed to get info about: 192.168.1

Plugin Config

{
"addresses": [
"192.168.1.42"
],
"name": "TPLink Tapo Platform",
"email": "lXXXXXX.com",
"password": "XXXXXX",
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

v3.2.0

Homebridge Version

v1.4.1

Node.js Version

v16.15.0

NPM Version

Unsure, sorry

Operating System

Raspbian GNU/Linux Bullseye (11)

Error sending command

Describe The Bug

Logs get filled with errors relating to sending command to my on-wall TP-link power points. The points still work through the app but the error logging is verbose.

Expected behavior

Switch operates without errors populating log

Logs

Error sending command: deviceInfo AxiosError: connect EHOSTUNREACH 192.168.0.241:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1278:16) {
port: 80,
address: '192.168.0.241',
syscall: 'connect',
code: 'EHOSTUNREACH',
errno: -113,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
Cookie: 'TP_SESSIONID=111222333',
'User-Agent': 'axios/0.27.2',
'Content-Length': 226
},
method: 'post',
url: 'http://192.168.0.241/app?token=681548FC7A43C8FF2CCACBFFA5E14BFE',
data: '{"method":"securePassthrough","params":{"request":"Ovs92vjhDz7wfojSUZLDC+E33zYMOozM88H/45NUuT0Iszp8iFGOk/Qdh3Ltc4N4BuIbNaS4s5kifRxVLr/eKfwprKeEDtd4BKDFFfpRjAlmN9ibr0nyVAemxZXAF8U910beyuA2+PpLCQPgZZqmhdnmfnTeR2fvLSGfnFdBDDc="}}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/app?token=111222333',
method: 'POST',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
hostname: '192.168.0.241',
port: null,
nativeProtocols: [Object],
pathname: '/app',
search: '?token=111222333'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 226,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 226,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app?token=681548FC7A43C8FF2CCACBFFA5E14BFE HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'Cookie: TP_SESSIONID=D3AFC5C6407E45F911B74AF9589FCAFE\r\n' +
'User-Agent: axios/0.27.2\r\n' +
'Content-Length: 226\r\n' +
'Host: 192.168.0.241\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app?token=681548FC7A43C8FF2CCACBFFA5E14BFE',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.0.241',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kEndCalled)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://192.168.0.241/app?token=681548FC7A43C8FF2CCACBFFA5E14BFE',
[Symbol(kCapture)]: false
}
}

Plugin Config

{
"addresses": [
"192.168.0.241",
"192.168.0.164"
],
"name": "TPLink Tapo Platform",
"email": "[email protected]",
"password": "abc123",
"platform": "HomebridgeTPLinkTapo",
"_bridge": {
"username": "0E:1D:AA:AA:AA:AA",
"port": 41900
}
}

Plugin Version

3.2.1

Homebridge Version

1.5.1

Node.js Version

16.18.0

NPM Version

8.19.2

Operating System

Raspbian GNU/Linux Buster (10)

Logs showing that the plugin is slowing down Homebridge

Describe The Bug

Causing Homebridge to slow down performance and dominates CPU processes.

Expected behavior

Should not

Logs

[17/07/2022, 11:12:51] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' was slow to respond! See https://homebridge.io/w/JtMGR for more info.
[17/07/2022, 11:12:51] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' was slow to respond! See https://homebridge.io/w/JtMGR for more info.
[17/07/2022, 11:12:51] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' was slow to respond! See https://homebridge.io/w/JtMGR for more info.
[17/07/2022, 11:12:51] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' was slow to respond! See https://homebridge.io/w/JtMGR for more info.
[17/07/2022, 11:12:51] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' was slow to respond! See https://homebridge.io/w/JtMGR for more info.

Plugin Config

"platform": "TplinkSmarthome"
    },
    {
        "addresses": [
            "192.168.0.15"
        ],
        "name": "homebridge-tp-link-tapo",
        "email": "[email protected]",
        "password": "password",
        "platform": "HomebridgeTPLinkTapo"
    }
]

}

Plugin Version

v3.2.0 Linux 5.15.32+ arm

Homebridge Version

v1.5.0

Node.js Version

v16.16.0

NPM Version

8.13.2

Operating System

Raspbian GNU/Linux Bullseye (11)

P110 Current/Power Measurement

Describe The Bug

P110 is capable of Current/Power Measurement. Very Nice to have the measurements exposed to HomeKit for using Information in e.g. EVE App. :)

Expected behavior

P110 should expose measurements to HomeKit

Logs

...

Plugin Config

...

Plugin Version

...

Homebridge Version

...

Node.js Version

...

NPM Version

...

Operating System

...

TPLink Tapo sluggish, unresponsive and not working

Describe The Bug

Hi,

I am experiencing a couple of issues which I do not know if they are related or not.

  1. When I start the "Home" app all the Tapo bulbs and LEDs in my home says "Updating..." for about 20-25 seconds..
  2. When "Updating..." is finally done a good number (about 25-75%) of the Tapo devices says "No response". This appears to be more or less random as a device may work one minute and the next time I load the Tapo app it will not work. All the devices work 100% in the official Tapo app so it is not a connectivity or network issue. All Tapo devices have static/reserved IP addresses in the router to make sure the IP addresses never change.
  3. I get very strange logs from the Tapo plugin in Homebridge and it uses quite a lot of CPU power as well.

Expected behavior

It should work at not be 50/50 whether the lights will turn on or not in HomeKit.

Logs

[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Brightness' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Hue' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Saturation' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.
[10/23/2023, 3:09:51 AM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'Color Temperature' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.

Plugin Config

{
"bridge": {
"name": "Homebridge 4348",
"username": "XXX",
"port": 51080,
"pin": "XXX",
"advertiser": "avahi"
},
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8581,
"platform": "config"
},
{
"options": {
"email": "XXX,
"password": "XXX"
},
"name": "Dreo Platform",
"platform": "DreoPlatform",
"_bridge": {
"username": "XXX",
"port": 32227
}
},
{
"addresses": [
"192.168.1.11",
"192.168.1.12",
"192.168.1.15",
"192.168.1.19",
"192.168.1.20",
"192.168.1.22",
"192.168.1.24",
"192.168.1.25",
"192.168.1.26",
"192.168.1.42",
"192.168.1.43",
"192.168.1.44"
],
"name": "Homebridge TPLink Tapo",
"email": "XXX,
"password": "XXX",
"platform": "HomebridgeTPLinkTapo",
"_bridge": {
"username": "XXX",
"port": 59970
}
},
{
"name": "TplinkSmarthome ",
"addCustomCharacteristics": true,
"deviceTypes": [
"plug",
"bulb"
],
"platform": "TplinkSmarthome",
"_bridge": {
"username": "XXX",
"port": 55003
}
},
{
"name": "Levoit Air Purifiers",
"email": "XXX,
"password": "XXX",
"experimentalFeatures": [
"DeviceDisplay"
],
"platform": "LevoitAirPurifiers",
"_bridge": {
"username": "XXX",
"port": 59963
}
}
],
"disabledPlugins": []
}

Plugin Version

homebridge-tp-link-tapo v4.0.0

Homebridge Version

1.6.1

Node.js Version

18.18.2

NPM Version

10.2.1

Operating System

Ubuntu 22.04.3 LTS

Add Tapo T100 Motion Sensor Support

Describe The Bug

I keep getting error messages saying that the device is unrecognised. Please if you could add in the support for the motion sensor, it would be great :)

Expected behavior

Added Motion Sensor

Logs

[23/10/2023, 12:58:22] [TPLink Tapo Platform] Failed to register child accessory "Motion Sensor" of type "Unknown" (SMART.TAPOSENSOR)

Plugin Config

{
"bridge": {
"name": "Homebridge 547C",
"username": "0E:1A:5E:16:54:7C",
"port": 51302,
"pin": "354-64-223",
"advertiser": "bonjour-hap"
},
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8581,
"auth": "form",
"theme": "deep-purple",
"tempUnits": "c",
"lang": "auto",
"platform": "config"
},
{
"name": "TplinkSmarthome",
"addCustomCharacteristics": true,
"deviceTypes": [
"plug",
"bulb"
],
"platform": "TplinkSmarthome"
},
{
"cameras": [
{
"name": "Camera",
"ipAddress": "192.168.1.136",
"password": "",
"streamUser": "",
"streamPassword": ""
}
],
"platform": "tapo-camera"
},
{
"addresses": [
"192.168.1.100",
"192.168.1.102",
"192.168.1.117"
],
"name": "TPLink Tapo Platform",
"email": "",
"password": "",
"platform": "HomebridgeTPLinkTapo"
},
{
"devices": [
{
"name": "Mi Air Purifier 2H",
"ip": "192.168.1.101",
"token": "",
"deviceId": "",
"model": "zhimi.airpurifier.mc2",
"pollingInterval": 10,
"deepDebugLog": false,
"micloud": {
"username": "",
"password": "",
"country": "sg"
},
"buzzerControl": true,
"ledControl": true,
"childLockControl": true,
"modeControl": true
},
{
"name": "Mi Wi-Fi Range Extender Pro",
"ip": "192.168.1.111",
"token": "",
"deviceId": "",
"model": "xiaomi.repeater.v3",
"pollingInterval": 10,
"deepDebugLog": false,
"micloud": {
"username": "",
"password": "",
"country": "sg"
},
"buzzerControl": true,
"ledControl": true,
"childLockControl": true,
"modeControl": true
}
],
"platform": "miot"
},
{
"name": "TuyaWebPlatform",
"options": {
"username": "",
"password": "",
"countryCode": "61",
"platform": "smart_life"
},
"defaults": [
{
"device_type": "form"
}
],
"scenes": false,
"platform": "TuyaWebPlatform"
}
],
"disabledPlugins": [
"homebridge-camera-ui"
]
}

Plugin Version

Latest

Homebridge Version

Latest

Node.js Version

Latest

NPM Version

Latest

Operating System

Latest

Tapo T310 Support

Describe The Bug

Is it possible to add support for the Tapo T310 temperature & humidity sensor?

Expected behavior

Display info from the sensor.

Logs

N/A

Plugin Config

N/A

Plugin Version

N/A

Homebridge Version

N/A

Node.js Version

N/A

NPM Version

N/A

Operating System

N/A

request for Tapo T100 motion sensor support

Describe The Bug

currently not supported

Expected behavior

Use motion detection to activate switches

Logs

N/A

Plugin Config

N/A

Plugin Version

N/a

Homebridge Version

N/A

Node.js Version

N/A

NPM Version

N/A

Operating System

N/A

P100 has a brightness slider in Home app

Describe The Bug

The socket does not have a "dimmer" function, so the brightness here is a bit misleading.

Expected behavior

Just an on/off switch instead of a slider.

Logs

N/A

Plugin Config

{
"addresses": [
"192.168.178.208"
],
"name": "TPLink Tapo",
"email": "email",
"password": "password",
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

3.0.2

Homebridge Version

1.4.1

Node.js Version

16.15.0

NPM Version

8.5.5

Operating System

Raspbian

Completely broken after update

Describe The Bug

After I updated L510 and L530 to firmware version to 1.3.0, all links were broken on Homebridge.
Tapo devices are no longer reachable on HomeKit anymore.

Expected behavior

N/A

Logs

[9/12/2023, 11:07:00 PM] [IoT] Failed to get info about: 10.144.1.46
[9/12/2023, 11:07:00 PM] [IoT] Retry to connect in 10s : 10.144.1.46
[9/12/2023, 11:07:00 PM] [IoT] Error sending command: deviceInfo TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
at new NodeError (node:internal/errors:405:5)
at Function.from (node:buffer:333:9)
at LegacyAPI.decodeHandshakeKey (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/LegacyAPI.ts:161:31)
at LegacyAPI.handshake (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/LegacyAPI.ts:153:30)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at LegacyAPI.sendSecureRequest (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/LegacyAPI.ts:75:7)
at LegacyAPI.login (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/LegacyAPI.ts:19:22)
at TPLink.sendCommandWithNoLock (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/TPLink.ts:195:9) {
code: 'ERR_INVALID_ARG_TYPE'
}

Plugin Config

N/A

Plugin Version

v3.4.0

Homebridge Version

v1.6.1

Node.js Version

v18.17.1

NPM Version

N/A

Operating System

Debian

Add support for the H200 hub

Describe The Bug

Currently doesn’t detect the hub, but does detect the H100.

Expected behavior

N/A

Logs

N/A

Plugin Config

N/A

Plugin Version

N/A

Homebridge Version

N/A

Node.js Version

N/A

NPM Version

N/A

Operating System

N/A

Tapo Plugin Restarting Homebridge

Describe The Bug

Randomly the Tapo plugin has started to reboot my home bridge so that it's unusable, the two lines in the log before reboot are below. It's strange as I haven't added the IP address for either of these devices to my config.

Expected behavior

Does not reboot.

Logs

[10/22/2023, 4:53:27 PM] [Tapo] Adding new child accessory: Temp & Humidity
[10/22/2023, 4:53:27 PM] [Tapo] Failed to register child accessory "Temp & Humidity" of type "Unknown" (SMART.TAPOSENSOR)
[10/22/2023, 4:53:27 PM] [Tapo] Restoring existing child accessory from cache: Garage Door Sensor
[10/22/2023, 4:53:27 PM] [Tapo] Restoring existing child accessory from cache: Back Door Sensor
[10/22/2023, 4:53:27 PM] [Tapo] Restoring existing child accessory from cache: Front Door Sensor
[10/22/2023, 4:53:27 PM] [Tapo] Restoring existing child accessory from cache: Smart Button
[10/22/2023, 4:53:28 PM] TypeError: Cannot read properties of undefined (reading 'timestamp')
at ButtonAccessory.setup (/usr/local/lib/node_modules/homebridge-tp-link-tapo/src/accessories/Button/index.ts:119:44)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
[10/22/2023, 4:53:28 PM] Got SIGTERM, shutting down Homebridge...

Plugin Config

[10/22/2023, 4:53:27 PM] [Tapo] Adding new child accessory: Temp & Humidity
[10/22/2023, 4:53:27 PM] [Tapo] Failed to register child accessory "Temp & Humidity" of type "Unknown" (SMART.TAPOSENSOR)
[10/22/2023, 4:53:27 PM] [Tapo] Restoring existing child accessory from cache: Garage Door Sensor
[10/22/2023, 4:53:27 PM] [Tapo] Restoring existing child accessory from cache: Back Door Sensor
[10/22/2023, 4:53:27 PM] [Tapo] Restoring existing child accessory from cache: Front Door Sensor
[10/22/2023, 4:53:27 PM] [Tapo] Restoring existing child accessory from cache: Smart Button
[10/22/2023, 4:53:28 PM] TypeError: Cannot read properties of undefined (reading 'timestamp')
at ButtonAccessory.setup (/usr/local/lib/node_modules/homebridge-tp-link-tapo/src/accessories/Button/index.ts:119:44)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
[10/22/2023, 4:53:28 PM] Got SIGTERM, shutting down Homebridge...

Plugin Version

homebridge-tp-link-tapo v4.0.0

Homebridge Version

v1.6.1

Node.js Version

v18.16.0

NPM Version

Unknown

Operating System

Mac Sonoma 14

Plugin not working

Describe The Bug

No login to TP Link

Expected behavior

Error message in the log file, credentials confirmed and working on the web

Logs

[TPLink Tapo Platform] Try for 10.0.0.141 : 15/20
[6/7/2023, 7:34:19 PM] [TPLink Tapo Platform] Session expired
[6/7/2023, 7:34:19 PM] [TPLink Tapo Platform] Trying to login again.
[6/7/2023, 7:34:19 PM] [TPLink Tapo Platform] Retry to connect in 10s : 10.0.0.141
[6/7/2023, 7:34:29 PM] [TPLink Tapo Platform] Try for 10.0.0.141 : 14/20
[6/7/2023, 7:34:29 PM] [TPLink Tapo Platform] Session expired
[6/7/2023, 7:34:29 PM] [TPLink Tapo Platform] Trying to login again.
[6/7/2023, 7:34:29 PM] [TPLink Tapo Platform] Retry to connect in 10s : 10.0.0.141

[TPLink Tapo Platform] Try for 10.0.0.141 : 6/20
[6/7/2023, 7:35:51 PM] [TPLink Tapo Platform] Session expired
[6/7/2023, 7:35:51 PM] [TPLink Tapo Platform] Trying to login again.
[6/7/2023, 7:35:51 PM] [TPLink Tapo Platform] Retry to connect in 10s : 10.0.0.141
[6/7/2023, 7:36:01 PM] [TPLink Tapo Platform] Try for 10.0.0.141 : 5/20
[6/7/2023, 7:36:01 PM] [TPLink Tapo Platform] Session expired
[6/7/2023, 7:36:01 PM] [TPLink Tapo Platform] Trying to login again.
[6/7/2023, 7:36:01 PM] [TPLink Tapo Platform] Retry to connect in 10s : 10.0.0.141
[6/7/2023, 7:36:11 PM] [TPLink Tapo Platform] Try for 10.0.0.141 : 4/20
[6/7/2023, 7:36:11 PM] [TPLink Tapo Platform] Session expired
[6/7/2023, 7:36:11 PM] [TPLink Tapo Platform] Trying to login again.
[6/7/2023, 7:36:12 PM] [TPLink Tapo Platform] Retry to connect in 10s : 10.0.0.141
[6/7/2023, 7:36:22 PM] [TPLink Tapo Platform] Try for 10.0.0.141 : 3/20
[6/7/2023, 7:36:22 PM] [TPLink Tapo Platform] Session expired
[6/7/2023, 7:36:22 PM] [TPLink Tapo Platform] Trying to login again.
[6/7/2023, 7:36:22 PM] [TPLink Tapo Platform] Retry to connect in 10s : 10.0.0.141
[6/7/2023, 7:36:32 PM] [TPLink Tapo Platform] Try for 10.0.0.141 : 2/20
[6/7/2023, 7:36:32 PM] [TPLink Tapo Platform] Session expired
[6/7/2023, 7:36:32 PM] [TPLink Tapo Platform] Trying to login again.
[6/7/2023, 7:36:32 PM] [TPLink Tapo Platform] Retry to connect in 10s : 10.0.0.141

[TPLink Tapo Platform] Try for 10.0.0.141 : 1/20
[6/7/2023, 7:36:42 PM] [TPLink Tapo Platform] Session expired
[6/7/2023, 7:36:42 PM] [TPLink Tapo Platform] Trying to login again.
[6/7/2023, 7:36:42 PM] [TPLink Tapo Platform] Retry timeout: 10.0.0.141

Plugin Config

{
"addresses": [
"10.0.0.141"
],
"name": "TPLink Tapo Platform",
"email": "[email protected]",
"password": "tplinkaccountpassword",
"platform": "HomebridgeTPLinkTapo",
"_bridge": {
"username": "0E:62:AE:87:BA:47",
"port": 48103
}
}

Plugin Version

3.2.2

Homebridge Version

1.6.1

Node.js Version

v18.14.0

NPM Version

Unknown

Operating System

FreeBSD (13.1)

Device Request: (SMART.TAPOSWITCH)

Describe The Bug

S505D Dimmer Switch (single pole) fails to load

Expected behavior

S505D Dimmer Switch is exposed.

Logs

[3/26/2023, 8:46:55 AM] [Tapo] Adding new accessory: Smart Switch
[3/26/2023, 8:46:55 AM] [Tapo] Failed to register accessory "Smart Switch" of type "Unknown" (SMART.TAPOSWITCH)

Plugin Config

{
"addresses": [
"192.168.1.33"
],
"name": "Tapo",
"email": "",
"password": "",
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

3.2.2

Homebridge Version

1.6.0

Node.js Version

18.12.1

NPM Version

x

Operating System

Ubuntu Focal Fossa (20.04.5 LTS)

Can you support the TRV device type?

Describe The Bug

Hi,

I’ve been using your plugin recently and it’s worked flawlessly. I’ve ordered some of the new KE100 Thermostatic Radiator Valves (https://www.tp-link.com/uk/home-networking/smart-thermostat/ke100/) and I was wondering if you could implement a new device type to support these please?

Thanks

Expected behavior

KE100 is discovered as a supported device type

Logs

N/A

Plugin Config

N/A

Plugin Version

N/A

Homebridge Version

N/A

Node.js Version

N/A

NPM Version

N/A

Operating System

N/A

Add Support for home hub (H100) and connected devices

Describe The Bug

This plugin is a life saver and really help me link everything in my home together! The one thing that’s missing though is the ability to add Home Hubs like the H100 and devices that can only connect to it i.e. the T110 (door sensor). This will really help integrate and advance automations with these linked products! Thanks guys

Expected behavior

The hub will provide access to additional Tapo devices and allow automations such as lights durning on when the door sensor opens

Logs

Feature request - no logs

Plugin Config

"name": "TP-Link Tapo",
"email": "[email protected]",
"password": "Password",
"_bridge": {
"username": "00:00:00:00:00:00",
"port": 51005
},
"platform": "HomebridgeTPLinkTapo"

Plugin Version

3.2.2

Homebridge Version

1.6.0

Node.js Version

16.16.0

NPM Version

8.11.0

Operating System

MacOS

L530 lights no longer work on plugin

Describe The Bug

From last week (22 August 2023) the L530 devices stopped working entirely through the plugin. My plugin is on the latest version (v3.2.2) and the lights are on the latest firmware (1.1.0 Build 230721 Rel.224802). Can’t switch on / off the lights, change colour or dim the lights

Expected behavior

When a request to perform an action is sent through Homebridge, the plugin should be communicating this information through to the Tapo servers to perform the action.

Logs

https://www.dropbox.com/scl/fi/isdot3s7uw617wvn5947b/homebridge.log.txt.xml?rlkey=hyulbwnfi6qldhft7d5cytsaz&dl=0

Plugin Config

"addresses": [
"192.168.1.151",
"192.168.1.152",
"192.168.1.153",
"192.168.1.154",
"192.168.1.155",
"192.168.1.156",
"192.168.1.157",
"192.168.1.158",
"192.168.1.159"
],
"name": "TP-Link Tapo",
"email": "",
"password": "",
"_bridge": {
"username": "",
"port": 51005
},
"platform": "HomebridgeTPLinkTapo"
},

Plugin Version

3.2.2

Homebridge Version

1.6.1

Node.js Version

16.20.2

NPM Version

8.19.4

Operating System

Macos

TP Link Kasa Smart Light Switch HS200P3

Describe The Bug

No Bug. Wanted to know if the TP Link Kasa Smart Light Switch HS200P3 could be added to Homebridge,

Thank You

Expected behavior

Logs

Plugin Config

Plugin Version

Homebridge Version

1.5.0

Node.js Version

NPM Version

Operating System

Apple OS High Sierra

Bug with P100 1.2.1 Firware

Describe The Bug

Local Authentification is not working with Firmware 1.2.1 on P100

Expected behavior

Working Auth

Logs

Error sending command: deviceInfo TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
at new NodeError (node:internal/errors:372:5)
at Function.from (node:buffer:323:9)
at LegacyAPI.decodeHandshakeKey (/homebridge/node_modules/homebridge-tp-link-tapo/src/api/LegacyAPI.ts:161:31)
at LegacyAPI.handshake (/homebridge/node_modules/homebridge-tp-link-tapo/src/api/LegacyAPI.ts:153:30)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at LegacyAPI.sendSecureRequest (/homebridge/node_modules/homebridge-tp-link-tapo/src/api/LegacyAPI.ts:75:7)
at LegacyAPI.login (/homebridge/node_modules/homebridge-tp-link-tapo/src/api/LegacyAPI.ts:19:22)
at TPLink.sendCommandWithNoLock (/homebridge/node_modules/homebridge-tp-link-tapo/src/api/TPLink.ts:195:9) {
code: 'ERR_INVALID_ARG_TYPE'
}

Plugin Config

{
"bridge": {
"name": "Homebridge TAPO2",
"username": "02:32:54:88:99:22",
"port": 59686,
"pin": "034-25-154"
},
"accessories": [],
"platforms": [
{
"name": "TPLink Tapo Platform",
"email": "++@++",
"password": "+++",
"platform": "HomebridgeTPLinkTapo",
"addresses": ["10.123.0.76","10.123.0.71","10.123.0.78","10.123.0.79"]
}
]
}

Plugin Version

latest

Homebridge Version

latest

Node.js Version

latest

NPM Version

latest

Operating System

docker

P110 Contact Sensor when in use

Describe The Bug

Is it possible to add a contact sensor to devices that can report energy usage (specifically the P110) that shows when the device is in use. A setting could be enabled that if the current usage is greater than x watts open the contact sensor and when it is less than x watts close the contact sensor.

The x watts could be user configurable. This will enable to see what is currently using power.

Expected behavior

When the P110 is in use the contact sensor is open, when it is not in use the contact sensor is closed.

Logs

n/a

Plugin Config

n/a

Plugin Version

n/a

Homebridge Version

n/a

Node.js Version

n/a

NPM Version

n/a

Operating System

n/a

Devices have not responding in home app

Describe The Bug

The two P100 plugs I have show "No response" in the Apple Home app but in Homebridge Accessories tab, the plugs show and work as expected.

Expected behavior

Apple Home should show the devices working normally and allow me to turn them on and off.

Logs

[14/6/2023, 11:38:35] [Homebridge UI] Homebridge restart request received
[14/6/2023, 11:38:35] [Homebridge UI] UI / Bridge settings have not changed; only restarting Homebridge process
[14/6/2023, 11:38:35] [Homebridge UI] Sending SIGTERM to Homebridge
[14/6/2023, 11:38:35] [HB Supervisor] Homebridge Process Ended. Code: null, Signal: SIGTERM
[14/6/2023, 11:38:40] [HB Supervisor] Restarting Homebridge...
[14/6/2023, 11:38:40] [HB Supervisor] Starting Homebridge with extra flags: -I
[14/6/2023, 11:38:40] [HB Supervisor] Started Homebridge v1.6.1 with PID: 8592
[14/6/2023, 11:38:41] Loaded config.json with 0 accessories and 2 platforms.
[14/6/2023, 11:38:41] ---
[14/6/2023, 11:38:41] Loaded plugin: [email protected]
[14/6/2023, 11:38:41] Registering platform 'homebridge-config-ui-x.config'
[14/6/2023, 11:38:41] ---
[14/6/2023, 11:38:41] Loaded plugin: [email protected]
[14/6/2023, 11:38:41] Registering platform 'homebridge-tp-link-tapo.HomebridgeTPLinkTapo'
[14/6/2023, 11:38:41] ---
[14/6/2023, 11:38:41] Loading 2 platforms...
[14/6/2023, 11:38:41] [TPLink Tapo Platform] Initializing HomebridgeTPLinkTapo platform...
[14/6/2023, 11:38:41] [TPLink Tapo Platform] Initializing child bridge 0E:87:83:C8:95:F9

[14/6/2023, 11:38:41] Homebridge v1.6.1 (HAP v0.11.1) (Homebridge B882) is running on port 51738.
[14/6/2023, 11:38:41] [TPLink Tapo Platform] Launched child bridge with PID 2332
[14/6/2023, 11:38:41] Registering platform 'homebridge-tp-link-tapo.HomebridgeTPLinkTapo'
[14/6/2023, 11:38:41] [TPLink Tapo Platform] Loaded homebridge-tp-link-tapo v3.2.2 child bridge successfully
[14/6/2023, 11:38:41] Loaded 2 cached accessories from cachedAccessories.0E8783C895F9.
[14/6/2023, 11:38:41] [TPLink Tapo Platform] Loading accessory from cache: TBC
[14/6/2023, 11:38:41] [TPLink Tapo Platform] Loading accessory from cache: Air Purifier
[14/6/2023, 11:38:41] Homebridge v1.6.1 (HAP v0.11.1) (TPLink Tapo Platform) is running on port 35449.
[14/6/2023, 11:38:41] [TPLink Tapo Platform] Restoring existing accessory from cache: Air Purifier
[14/6/2023, 11:38:41] [TPLink Tapo Platform] Restoring existing accessory from cache: TBC

Plugin Config

        {
            "addresses": [
                "192.168.1.19",
                "192.168.1.21"
            ],
            "name": "TPLink Tapo Platform",
            "email": "[email protected]",
            "password": "password",
            "_bridge": {
                "username": "0E:87:83:C8:95:F9",
                "port": 35449
            },
            "platform": "HomebridgeTPLinkTapo"
        }

Plugin Version

3.2.2

Homebridge Version

1.6.1

Node.js Version

18.16.0

NPM Version

9.5.1

Operating System

Windows 11 Pro

Session expired

Describe The Bug

Some hours after the first setup all 5 Tapo devices get a timeout (expired session). They got permanent ips. The only way to fix this, is to re-setup the devices in the Tapo app. Restarting the (child) bridge or reinstalling the plugin doesn’t help.

Expected behavior

No expired sessions or starting new session

Logs

[16/07/2023, 08:58:111 [Tapo] Session expired
[16/07/2023,08:58:11] [Tapo] Trying to login again.
[16/07/2023,08:58:11] [Tapo] Session expired
[16/07/2023,08:58:11] [Tapo Trying to login again.
[16/07/2023,08:58:11] [Tapo] Command error: deviceInfo > -1501
[16/07/2023,08:58:11] [Tapo] Failed to get info about: xxx.xxx.x.xxx
[16/07/2023,08:58:11] [Tapo] Retry to connect in 10s: xxx.xxx.x.xxx
[16/07/2023,08:58:11] [Tapo] Command error: deviceInfo > -1501
[16/07/2023,08:58:11] [Tapo] Failed to get info about: xxx.xxx.x.xxx
[16/07/2023,08:58:11] [Tapo] Retry to connect in 10s: xxx.xxx.x.xxx
[16/07/2023,08:58:11] [Tapo] Command error: deviceInfo > 9999
[16/07/2023,08:58:11] [Tapo] Failed to get info about: xxx.xxx.x.xxx
[16/07/2023,08:58:11] [Tapo] Retry to connect in 10s : xxx.xxx.x.xxx

Plugin Config

{
"_bridge" : {
"port" : xxxxx,
"username" : "xx:xx:xx:xx:xx:xx"
},
"addresses" : [
"xxx.xxx.x.xxx",
"xxx.xxx.x.xxx",
"xxx.xxx.x.xxx",
"xxx.xxx.x.xxx",
"xxx.xxx.x.xxx"
],
"email" : "[email protected]“,
"name" : "Tapo",
"password" : "xxxxxxxxxxxxxx",
"platform" : "HomebridgeTPLinkTapo"
}

Plugin Version

3.2.2

Homebridge Version

1.6.1

Node.js Version

N/A

NPM Version

9.5.1

Operating System

Raspberry Pi 4

Homekit Adaptive Lighting not working

Describe The Bug

When using the homekit adaptive lighting setting, homebridge throws the error: "[TPLink Tapo] Command error: colorTemp > -1008". I'm using the Tapo L900-5 light strip.

Expected behavior

Colour temperature of strip should change throughout the day according to ambient light temperature.

Logs

[25/07/2022, 15:32:22] [TPLink Tapo] Command error: colorTemp > -1008

Plugin Config

{
"addresses": [
"192.168.x.xx"
],
"name": "TPLink Tapo",
"email": "[email protected]",
"password": "example_password",
"platform": "HomebridgeTPLinkTapo",
"_bridge": {
"username": "bridge_username",
"port": bridge_port
}
}

Plugin Version

v3.2.0

Homebridge Version

v1.5.0

Node.js Version

v16.16.0

NPM Version

v8.11.0

Operating System

Debian GNU/Linux Buster (10)

P100 Smart Plug no longer working

Describe The Bug

I've been using home bridge with my smart home devices on my Pi3 for a while now and it has been working beautifully
came home today and my smart home Tapo p100 plugs are no longer connecting for some reason

the ip's of the devices is still the same I checked and have tried restarting and checking everything nothing seems to work
when I deleted the devices and added them again I got the error message:
"Failed to register accessory "Desk" of type "Unknown""

Before deleting and re-adding the devices I got this message over and over:
Retry to connect in 10s : 192.168.5.213
[5/29/2022, 7:28:27 PM] [Tapo] Try for 192.168.5.213 : 5/20
[5/29/2022, 7:28:27 PM] [Tapo] Session expired
[5/29/2022, 7:28:27 PM] [Tapo] Trying to login again.
[5/29/2022, 7:28:27 PM] [Tapo] Command error: deviceInfo > 9999
[5/29/2022, 7:28:27 PM] [Tapo] Failed to get info about: 192.168.5.213

Expected behavior

Should connect like normal

Logs

Screenshot 2022-05-29 at 9 22 20 pm

Screenshot 2022-05-29 at 9 22 44 pm

Plugin Config

{
"addresses": [
"192.168.5.213",
"192.168.5.178",
"192.168.5.179"
],
"name": "Tapo",
"email": "",
"password": "
",
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

3.1.0

Homebridge Version

1.4.1

Node.js Version

16.5.0

NPM Version

8.5.5

Operating System

Debian

Device Request: Tapo P300

Describe The Bug

Adding the IP address of the device leads to an error msg: "Failed to get info about: 192.168.1.182 | Accessories must be created with a non-empty displayName."

Tapo P300 is in network with IP address ...182

Expected behavior

That it works like the P115

Logs

[5/19/2023, 2:45:24 AM] [TPLink Tapo Platform] Retry to connect in 10s : 192.168.1.182
[5/19/2023, 2:45:34 AM] [TPLink Tapo Platform] Try for 192.168.1.182 : 1/20
[5/19/2023, 2:45:35 AM] [TPLink Tapo Platform] Adding new accessory:
[5/19/2023, 2:45:35 AM] [TPLink Tapo Platform] Failed to get info about: 192.168.1.182 | Accessories must be created with a non-empty displayName.
[5/19/2023, 2:45:35 AM] [TPLink Tapo Platform] Retry timeout: 192.168.1.182

Plugin Config

   {
        "name": "TPLink Tapo Platform",
        "email": "xxx",
        "password": "xxx",
        "platform": "HomebridgeTPLinkTapo",
        "addresses": [
            "192.168.1.181",
            "192.168.1.182"
        ]
    }

Plugin Version

3.2.2

Homebridge Version

1.6.1

Node.js Version

Synology 18.12.0

NPM Version

8.19.2

Operating System

DSM 7

Error connecting a HS110 plug

Describe The Bug

The HS110 is not recognized by the plugin

Expected behavior

The HS110 is exposed in Home App

Logs

  allBuffers: true,
  allNoop: true,
  pendingcb: 0,
  constructed: true,
  prefinished: false,
  errorEmitted: false,
  emitClose: true,
  autoDestroy: true,
  errored: null,
  closed: false,
  closeEmitted: false,
  [Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
  response: [Function: handleResponse],
  error: [Function: handleRequestError],
  socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
  maxRedirects: 21,
  maxBodyLength: Infinity,
  protocol: 'http:',
  path: '/app',
  method: 'POST',
  headers: [Object: null prototype],
  agents: [Object],
  auth: undefined,
  beforeRedirect: [Function: dispatchBeforeRedirect],
  beforeRedirects: [Object],
  hostname: '192.168.0.207',
  port: '',
  agent: undefined,
  nativeProtocols: [Object],
  pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
  _events: [Object: null prototype],
  _eventsCount: 7,
  _maxListeners: undefined,
  outputData: [],
  outputSize: 0,
  writable: true,
  destroyed: false,
  _last: true,
  chunkedEncoding: false,
  shouldKeepAlive: false,
  maxRequestsOnConnectionReached: false,
  _defaultKeepAlive: true,
  useChunkedEncodingByDefault: true,
  sendDate: false,
  _removedConnection: false,
  _removedContLen: false,
  _removedTE: false,
  _contentLength: null,
  _hasBody: true,
  _trailer: '',
  finished: false,
  _headerSent: true,
  _closed: false,
  socket: [Socket],
  _header: 'POST /app HTTP/1.1\r\n' +
    'Accept: application/json, text/plain, */*\r\n' +
    'Content-Type: application/json\r\n' +
    'User-Agent: axios/1.2.2\r\n' +
    'Content-Length: 352\r\n' +
    'Accept-Encoding: gzip, compress, deflate, br\r\n' +
    'Host: 192.168.0.207\r\n' +
    'Connection: close\r\n' +
    '\r\n',
  _keepAliveTimeout: 0,
  _onPendingData: [Function: nop],
  agent: [Agent],
  socketPath: undefined,
  method: 'POST',
  maxHeaderSize: undefined,
  insecureHTTPParser: undefined,
  path: '/app',
  _ended: false,
  res: null,
  aborted: false,
  timeoutCb: null,
  upgradeOrConnect: false,
  parser: null,
  maxHeadersCount: null,
  reusedSocket: false,
  host: '192.168.0.207',
  protocol: 'http:',
  _redirectable: [Circular *1],
  [Symbol(kCapture)]: false,
  [Symbol(kNeedDrain)]: false,
  [Symbol(corked)]: 0,
  [Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://192.168.0.207/app',
[Symbol(kCapture)]: false

},
cause: Error: connect ETIMEDOUT 192.168.0.207:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
errno: -110,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.0.207',
port: 80
}
}
[3/31/2023, 1:58:57 PM] [Casa TP] Failed to get info about: 192.168.0.207 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
[3/31/2023, 1:58:57 PM] [Casa TP] Retry to connect in 10s : 192.168.0.207
[3/31/2023, 1:59:07 PM] [Casa TP] Try for 192.168.0.207 : 12/20
[3/31/2023, 2:01:15 PM] [Casa TP] Error sending command: deviceInfo AxiosError: connect ETIMEDOUT 192.168.0.207:80
at Function.AxiosError.from (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:533:25)
at RedirectableRequest.emit (node:events:527:28)
at ClientRequest.eventHandlers. (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:527:28)
at Socket.socketErrorListener (node:_http_client:454:9)
at Socket.emit (node:events:527:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
port: 80,
address: '192.168.0.207',
syscall: 'connect',
code: 'ETIMEDOUT',
errno: -110,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [ 'xhr', 'http' ],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: null },
validateStatus: [Function: validateStatus],
headers: AxiosHeaders {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/1.2.2',
'Content-Length': '352',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
method: 'post',
url: 'http://192.168.0.207/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDextaKM6BrgkC3163GUouFZfk3\nyOJu75KiHsfnPasaJBKO80j+BvMIVhmzH5NDdfk0N+1RIHeDl19YOCyezCzH41f2\nL1b2DOBw45ojWOufbXCb1iR+5WX6E/MD4ekNyyPclpWkXwSttm/rrsapwLski/uU\nhOj4dTjJ9BQPElptRwIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1680263947889}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '192.168.0.207',
port: '',
agent: undefined,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/1.2.2\r\n' +
'Content-Length: 352\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: 192.168.0.207\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.0.207',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://192.168.0.207/app',
[Symbol(kCapture)]: false
},
cause: Error: connect ETIMEDOUT 192.168.0.207:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
errno: -110,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.0.207',
port: 80
}
}
[3/31/2023, 2:01:15 PM] [Casa TP] Failed to get info about: 192.168.0.207 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
[3/31/2023, 2:01:15 PM] [Casa TP] Retry to connect in 10s : 192.168.0.207
[3/31/2023, 2:01:25 PM] [Casa TP] Try for 192.168.0.207 : 11/20
[3/31/2023, 2:03:32 PM] [Casa TP] Error sending command: deviceInfo AxiosError: connect ETIMEDOUT 192.168.0.207:80
at Function.AxiosError.from (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:533:25)
at RedirectableRequest.emit (node:events:527:28)
at ClientRequest.eventHandlers. (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:527:28)
at Socket.socketErrorListener (node:_http_client:454:9)
at Socket.emit (node:events:527:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
port: 80,
address: '192.168.0.207',
syscall: 'connect',
code: 'ETIMEDOUT',
errno: -110,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [ 'xhr', 'http' ],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: null },
validateStatus: [Function: validateStatus],
headers: AxiosHeaders {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/1.2.2',
'Content-Length': '352',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
method: 'post',
url: 'http://192.168.0.207/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDqpSgJIoZp2Bq15pxLnJ5JCe8A\nmovMq34O4sw+nx8louzeU03i9BnQJ83S4G32mdqIHdbJufDFMj7q07wUC975WVXY\ny0+hMztlpWjztiRn3O5N8AengPmHx0StjD9fuiLEQRVlG4G2ZqrR0RAiEGmp12/C\nzWkSntypxqITeY45dwIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1680264085083}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '192.168.0.207',
port: '',
agent: undefined,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/1.2.2\r\n' +
'Content-Length: 352\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: 192.168.0.207\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.0.207',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://192.168.0.207/app',
[Symbol(kCapture)]: false
},
cause: Error: connect ETIMEDOUT 192.168.0.207:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
errno: -110,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.0.207',
port: 80
}
}
[3/31/2023, 2:03:32 PM] [Casa TP] Failed to get info about: 192.168.0.207 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
[3/31/2023, 2:03:32 PM] [Casa TP] Retry to connect in 10s : 192.168.0.207
[3/31/2023, 2:03:42 PM] [Casa TP] Try for 192.168.0.207 : 10/20
[3/31/2023, 2:05:49 PM] [Casa TP] Error sending command: deviceInfo AxiosError: connect ETIMEDOUT 192.168.0.207:80
at Function.AxiosError.from (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:533:25)
at RedirectableRequest.emit (node:events:527:28)
at ClientRequest.eventHandlers. (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:527:28)
at Socket.socketErrorListener (node:_http_client:454:9)
at Socket.emit (node:events:527:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
port: 80,
address: '192.168.0.207',
syscall: 'connect',
code: 'ETIMEDOUT',
errno: -110,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [ 'xhr', 'http' ],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: null },
validateStatus: [Function: validateStatus],
headers: AxiosHeaders {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/1.2.2',
'Content-Length': '352',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
method: 'post',
url: 'http://192.168.0.207/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDsBtaDd511C78f1SKYjHumw7vm\nt9An9rFhX3NGMXfN5DyGZLW0b/Yiyh2kozzoZad52EnMzl2bRTVDQ5VnQMW3Di1J\nggCRcWiiPusJabFCs0yGrVnivuwkrSspKGl4oTcYsFRYBuGTAAkSO4Rdoz2wcbqI\nIc+S1hh5hOHVKNMuTwIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1680264222308}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '192.168.0.207',
port: '',
agent: undefined,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/1.2.2\r\n' +
'Content-Length: 352\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: 192.168.0.207\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.0.207',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://192.168.0.207/app',
[Symbol(kCapture)]: false
},
cause: Error: connect ETIMEDOUT 192.168.0.207:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
errno: -110,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.0.207',
port: 80
}
}
[3/31/2023, 2:05:49 PM] [Casa TP] Failed to get info about: 192.168.0.207 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
[3/31/2023, 2:05:49 PM] [Casa TP] Retry to connect in 10s : 192.168.0.207
[3/31/2023, 2:05:59 PM] [Casa TP] Try for 192.168.0.207 : 9/20
[3/31/2023, 2:08:06 PM] [Casa TP] Error sending command: deviceInfo AxiosError: connect ETIMEDOUT 192.168.0.207:80
at Function.AxiosError.from (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:533:25)
at RedirectableRequest.emit (node:events:527:28)
at ClientRequest.eventHandlers. (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:527:28)
at Socket.socketErrorListener (node:_http_client:454:9)
at Socket.emit (node:events:527:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
port: 80,
address: '192.168.0.207',
syscall: 'connect',
code: 'ETIMEDOUT',
errno: -110,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [ 'xhr', 'http' ],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: null },
validateStatus: [Function: validateStatus],
headers: AxiosHeaders {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/1.2.2',
'Content-Length': '352',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
method: 'post',
url: 'http://192.168.0.207/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC6Oq6vHqsYo3J8EUVR5poMAgVq\n5PP9rH7PooOTg9F7/VVbyqF8kz4rG2v0Wp6X0P20mNR7N8oi1ZDi0HBoMhbzITZz\nreSHr5AKk7P5XQfgYlPDxzzn2nup4ktVMJ21nlPpzAbImuMJEQ9zAc/dbUT19BpK\nshmqtWHQxZx+m9n63QIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1680264359536}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '192.168.0.207',
port: '',
agent: undefined,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/1.2.2\r\n' +
'Content-Length: 352\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: 192.168.0.207\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.0.207',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://192.168.0.207/app',
[Symbol(kCapture)]: false
},
cause: Error: connect ETIMEDOUT 192.168.0.207:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
errno: -110,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.0.207',
port: 80
}
}
[3/31/2023, 2:08:06 PM] [Casa TP] Failed to get info about: 192.168.0.207 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
[3/31/2023, 2:08:06 PM] [Casa TP] Retry to connect in 10s : 192.168.0.207
[3/31/2023, 2:08:16 PM] [Casa TP] Try for 192.168.0.207 : 8/20
[3/31/2023, 2:10:23 PM] [Casa TP] Error sending command: deviceInfo AxiosError: connect ETIMEDOUT 192.168.0.207:80
at Function.AxiosError.from (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:533:25)
at RedirectableRequest.emit (node:events:527:28)
at ClientRequest.eventHandlers. (/volume1/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:527:28)
at Socket.socketErrorListener (node:_http_client:454:9)
at Socket.emit (node:events:527:28)
at emitErrorNT (node:internal/streams/destroy:157:8)
at emitErrorCloseNT (node:internal/streams/destroy:122:3)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
port: 80,
address: '192.168.0.207',
syscall: 'connect',
code: 'ETIMEDOUT',
errno: -110,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [ 'xhr', 'http' ],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: null },
validateStatus: [Function: validateStatus],
headers: AxiosHeaders {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/1.2.2',
'Content-Length': '352',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
method: 'post',
url: 'http://192.168.0.207/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC25Pa4UXn1zWYMJWQneJWYV9Ll\nv00yJyzkS4fRhuHvc6ElfUuhGGbld7SfwnhZ+rRMNU+Lo/0Kh3kA2BbFtM47AvEt\nDJiXnXTb5KT2/1wW+IwV3Mqx4uQxmK8hu1tVBq/BjqLizK9zkZAg743z+irXVjao\n89PvFgQN7R8g82tRFQIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1680264496744}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '192.168.0.207',
port: '',
agent: undefined,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: null,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/1.2.2\r\n' +
'Content-Length: 352\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: 192.168.0.207\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.0.207',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://192.168.0.207/app',
[Symbol(kCapture)]: false
},
cause: Error: connect ETIMEDOUT 192.168.0.207:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1187:16) {
errno: -110,
code: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.0.207',
port: 80
}
}
[3/31/2023, 2:10:23 PM] [Casa TP] Failed to get info about: 192.168.0.207 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
[3/31/2023, 2:10:23 PM] [Casa TP] Retry to connect in 10s : 192.168.0.207
[3/31/2023, 2:10:33 PM] [Casa TP] Try for 192.168.0.207 : 7/20

Plugin Config

{
"bridge": {
"name": "Homebridge 57A8",
"username": "0E:41:AC:04:57:A8",
"port": 51902,
"pin": "614-40-337",
"advertiser": "bonjour-hap"
},
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8581,
"platform": "config"
},
{
"name": "Nest",
"access_token": "",
"platform": "Nest",
"_bridge": {
"username": "0E:FC:55:B0:A9:87",
"port": 55848
}
},
{
"addresses": [
"192.168.0.207"
],
"name": "Casa TP",
"email": "",
"password": "",
"platform": "HomebridgeTPLinkTapo",
"_bridge": {
"username": "0E:C8:E8:C4:07:6B",
"port": 36251
}
}
]
}

Plugin Version

3.2.2

Homebridge Version

1.6.0

Node.js Version

16.16.0

NPM Version

8.19.2

Operating System

Synology DSM 7.1.1-42962 Update 4

Tapo T110 Support

Describe The Bug

Is it possible to add support for the TTapo T110 contact sensor?

Expected behavior

Logs

Plugin Config

Plugin Version

Homebridge Version

Node.js Version

NPM Version

Operating System

[TPLink Tapo Platform] Command error: deviceInfo > 9999

Describe The Bug

It won't connect to the lights.

  • I've ensured the IP is correct and doesn't change
  • It's set up as a child bridge
  • If I enter http://192.168.1.162 in my browser, it returns 200-OK

Expected behavior

Lights to work

Logs

[02/10/2022, 15:59:51] [TPLink Tapo Platform] Try for 192.168.1.162 : 19/20
[02/10/2022, 15:59:52] [TPLink Tapo Platform] Session expired
[02/10/2022, 15:59:52] [TPLink Tapo Platform] Trying to login again.
[02/10/2022, 15:59:52] [TPLink Tapo Platform] Command error: deviceInfo > 9999
[02/10/2022, 15:59:52] [TPLink Tapo Platform] Failed to get info about: 192.168.1.162
[02/10/2022, 15:59:52] [TPLink Tapo Platform] Retry to connect in 10s : 192.168.1.162

Plugin Config

{
"bridge": {
"name": "Homebridge 3B13",
"username": "0E:95:4A:55:BB:22",
"port": 51869,
"pin": "947-65-125",
"advertiser": "ciao",
"bind": [
"wlan0"
]
},
"accessories": [
{
"name": "Dummy Switch",
"stateful": true,
"reverse": false,
"time": 1000,
"resettable": false,
"accessory": "DummySwitch",
"_bridge": {
"username": "0E:AA:14:59:54:B6",
"port": 41027
}
}
],
"platforms": [
{
"name": "Config",
"port": 8581,
"platform": "config"
},
{
"name": "Govee",
"username": "luxe",
"password": "Tx",
"apiKey": "02a0e174-aa9c-407d-a1b8-730e4f560f21",
"platform": "Govee",
"_bridge": {
"username": "0E:14:4A:3E:AD:17",
"port": 54597
}
},
{
"name": "WizSmarthome",
"enableScenes": false,
"platform": "WizSmarthome",
"_bridge": {
"username": "0x:D9",
"port": x30
}
},
{
"name": "TplinkSmarthome",
"addCustomCharacteristics": true,
"deviceTypes": [
"plug",
"bulb"
],
"platform": "TplinkSmarthome",
"_bridge": {
"username": "x:93",
"port": 40x
}
},
{
"addresses": [
"192.168.1.162"
],
"name": "TPLink Tapo Platform",
"email": "lukexom",
"password": "xxx",
"platform": "HomebridgeTPLinkTapo",
"_bridge": {
"username": "0E:6C:C8:C3:38:2C",
"port": 34290
}
}
],
"disabledPlugins": []
}

Plugin Version

homebridge-tp-link-tapo v3.2.1

Homebridge Version

v1.5.0

Node.js Version

v16.15.0

NPM Version

Not sure what this is

Operating System

Mac OS (plug-in is installed on RPi)

Unable to create automation from Tapo P110 Contact Sensor

Describe The Bug

There is no option in HomeKit to create an automation based on the state of the contact sensor. When the accessory is selected for automation, only the power state on / off is available for selection.

I think this might be fixed if the contact sensor is created as a separate accessory instead of a characteristic of the same accessory (that already has a power state)

Expected behavior

Able to use the contact sensor state for HomeKit automations

Logs

Plugin Config

    {
        "addresses": [
            "1.2.3.4"
        ],
        "name": "TPLink Tapo Platform",
        "email": "[email protected]",
        "password": "<REDACTED>",
        "platform": "HomebridgeTPLinkTapo",
        "_bridge": {
            "username": "11:22:33:44:55:66",
            "port": 12345
        }
    }

Plugin Version

v4.0.0

Homebridge Version

v1.6.1

Node.js Version

v18.17.0

NPM Version

v9.6.7

Operating System

Raspbian GNU/Linux 11

Read Handler was slow to respond & event emitter leak

Describe The Bug

I get a warning about this plugin slowing down Homebridge (which is not the issue!), it's now added in "The read handler for the characteristic 'XXX' was slow to respond!"

Additionally, I now get this alternating between "end listeners added" and "disconnect listeners added": MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 end listeners added to [Socket]. Use emitter.setMaxListeners() to increase limit

Expected behavior

Unsure!

Logs

Deleted for privacy

Plugin Config

{
"_bridge" : {
"port" : 45050,
"username" : "0E:5D:C0:83:66:26"
},
"addresses" : [
"192.168.0.XXX",
"192.168.0.XXX",
"192.168.0.XXX",
"192.168.0.XXX",
"192.168.0.XXX",
"192.168.0.XXX",
"192.168.0.XXX"
],
"email" : "XXXXX",
"name" : "Tapo Devices",
"password" : "XXXXX",
"platform" : "HomebridgeTPLinkTapo"
}

Plugin Version

3.2.2

Homebridge Version

1.6.1

Node.js Version

16.16.0

NPM Version

3.2.2

Operating System

macOS Ventura

Light bulbs getting removed when power loss

Describe The Bug

Last week I had a power loss for hours. Because of this, all my Tapo lightbulbs were removed from Homebridge and also from HomeKit. This is bad since I configured a lot of stuff. Instead, it should be marked as unreachable and not removed...

Expected behavior

Logs

Plugin Config

Plugin Version

Homebridge Version

Node.js Version

NPM Version

Operating System

Device Request

Describe The Bug

Looking to see if you can add the new Tapo - RV10 Lite (Robot Vacuum).

Expected behavior

n/a

Logs

na

Plugin Config

na

Plugin Version

3.2.2

Homebridge Version

4.50.2

Node.js Version

16.18.0

NPM Version

1.6.0

Operating System

Docker

RV10-lite robot vacuum creates error in Plugin on startup

Describe The Bug

I just got a TAPO RV10-lite vacuum and after adding the plugin and configuring the IP address the following error is thrown in the homebridge log:

 Failed to get info about: xxx.xxx.xxx.xxx | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined

Expected behavior

The plugin to connect to the device and retrieve the information

Logs

[3/30/2023, 11:09:07 AM] Loaded plugin: [email protected]
[3/30/2023, 11:09:07 AM] Registering platform 'homebridge-tp-link-tapo.HomebridgeTPLinkTapo'
[3/30/2023, 11:09:07 AM] ---
...
[3/30/2023, 11:09:07 AM] [Tapo] Initializing HomebridgeTPLinkTapo platform...
[3/30/2023, 11:09:07 AM] [Tapo] Initializing child bridge AA;AA:AA;AA
...
[3/30/2023, 11:09:08 AM] [Tapo] Error sending command: deviceInfo AxiosError: connect ECONNREFUSED xxx.xxx.xxx.xxx:80
    at Function.AxiosError.from (/usr/local/lib/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
    at RedirectableRequest.handleRequestError (/usr/local/lib/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:577:25)
    at RedirectableRequest.emit (node:events:513:28)
    at ClientRequest.eventHandlers.<computed> (/usr/local/lib/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
    at ClientRequest.emit (node:events:513:28)
    at Socket.socketErrorListener (node:_http_client:502:9)
    at Socket.emit (node:events:513:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at processTicksAndRejections (node:internal/process/task_queues:82:21) {
  port: 80,
  address: 'xxx.xxx.xxx.xxx',
  syscall: 'connect',
  code: 'ECONNREFUSED',
  errno: -61,
  config: {
    transitional: {
      silentJSONParsing: true,
      forcedJSONParsing: true,
      clarifyTimeoutError: false
    },
    adapter: [ 'xhr', 'http' ],
    transformRequest: [ [Function: transformRequest] ],
    transformResponse: [ [Function: transformResponse] ],
    timeout: 0,
    xsrfCookieName: 'XSRF-TOKEN',
    xsrfHeaderName: 'X-XSRF-TOKEN',
    maxContentLength: -1,
    maxBodyLength: -1,
    env: { FormData: [Function], Blob: [class Blob] },
    validateStatus: [Function: validateStatus],
    headers: AxiosHeaders {
      Accept: 'application/json, text/plain, */*',
      'Content-Type': 'application/json',
      'User-Agent': 'axios/1.3.4',
      'Content-Length': '352',
      'Accept-Encoding': 'gzip, compress, deflate, br'
    },
    method: 'post',
    url: 'http://xxx.xxx.xxx.xxx/app',
    data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\\nMIGfM.....\\n-----END PUBLIC KEY-----\\n"},"requestTimeMils":1680199748319}'
  },
  request: <ref *1> Writable {
    _writableState: WritableState {
      objectMode: false,
      highWaterMark: 16384,
      finalCalled: false,
      needDrain: false,
      ending: false,
      ended: false,
      finished: false,
      destroyed: false,
      decodeStrings: true,
      defaultEncoding: 'utf8',
      length: 0,
      writing: false,
      corked: 0,
      sync: true,
      bufferProcessing: false,
      onwrite: [Function: bound onwrite],
      writecb: null,
      writelen: 0,
      afterWriteTickInfo: null,
      buffered: [],
      bufferedIndex: 0,
      allBuffers: true,
      allNoop: true,
      pendingcb: 0,
      constructed: true,
      prefinished: false,
      errorEmitted: false,
      emitClose: true,
      autoDestroy: true,
      errored: null,
      closed: false,
      closeEmitted: false,
      [Symbol(kOnFinished)]: []
    },
    _events: [Object: null prototype] {
      response: [Function: handleResponse],
      error: [Function: handleRequestError],
      socket: [Function: handleRequestSocket]
    },
    _eventsCount: 3,
    _maxListeners: undefined,
    _options: {
      maxRedirects: 21,
      maxBodyLength: Infinity,
      protocol: 'http:',
      path: '/app',
      method: 'POST',
      headers: [Object: null prototype],
      agents: [Object],
      auth: undefined,
      beforeRedirect: [Function: dispatchBeforeRedirect],
      beforeRedirects: [Object],
      hostname: 'xxx.xxx.xxx.xxx',
      port: '',
      agent: undefined,
      nativeProtocols: [Object],
      pathname: '/app'
    },
    _ended: false,
    _ending: true,
    _redirectCount: 0,
    _redirects: [],
    _requestBodyLength: 352,
    _requestBodyBuffers: [ [Object] ],
    _onNativeResponse: [Function (anonymous)],
    _currentRequest: ClientRequest {
      _events: [Object: null prototype],
      _eventsCount: 7,
      _maxListeners: undefined,
      outputData: [],
      outputSize: 0,
      writable: true,
      destroyed: false,
      _last: true,
      chunkedEncoding: false,
      shouldKeepAlive: false,
      maxRequestsOnConnectionReached: false,
      _defaultKeepAlive: true,
      useChunkedEncodingByDefault: true,
      sendDate: false,
      _removedConnection: false,
      _removedContLen: false,
      _removedTE: false,
      strictContentLength: false,
      _contentLength: '352',
      _hasBody: true,
      _trailer: '',
      finished: false,
      _headerSent: true,
      _closed: false,
      socket: [Socket],
      _header: 'POST /app HTTP/1.1\r\n' +
        'Accept: application/json, text/plain, */*\r\n' +
        'Content-Type: application/json\r\n' +
        'User-Agent: axios/1.3.4\r\n' +
        'Content-Length: 352\r\n' +
        'Accept-Encoding: gzip, compress, deflate, br\r\n' +
        'Host: 192.168.0.3\r\n' +
        'Connection: close\r\n' +
        '\r\n',
      _keepAliveTimeout: 0,
      _onPendingData: [Function: nop],
      agent: [Agent],
      socketPath: undefined,
      method: 'POST',
      maxHeaderSize: undefined,
      insecureHTTPParser: undefined,
      joinDuplicateHeaders: undefined,
      path: '/app',
      _ended: false,
      res: null,
      aborted: false,
      timeoutCb: null,
      upgradeOrConnect: false,
      parser: null,
      maxHeadersCount: null,
      reusedSocket: false,
      host: 'xxx.xxx.xxx.xxx',
      protocol: 'http:',
      _redirectable: [Circular *1],
      [Symbol(kCapture)]: false,
      [Symbol(kBytesWritten)]: 0,
      [Symbol(kEndCalled)]: false,
      [Symbol(kNeedDrain)]: false,
      [Symbol(corked)]: 0,
      [Symbol(kOutHeaders)]: [Object: null prototype],
      [Symbol(errored)]: null,
      [Symbol(kUniqueHeaders)]: null
    },
    _currentUrl: 'http://xxx.xxx.xxx.xxx/app',
    [Symbol(kCapture)]: false
  },
  cause: Error: connect ECONNREFUSED xxx.xxx.xxx.xxx:80
      at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
    errno: -61,
    code: 'ECONNREFUSED',
    syscall: 'connect',
    address: 'xxx.xxx.xxx.xxx',
    port: 80
  }
}
[3/30/2023, 11:09:08 AM] [Tapo] Failed to get info about: xxx.xxx.xxx.xxx | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined
[3/30/2023, 11:09:08 AM] [Tapo] Retry to connect in 10s : xxx.xxx.xxx.xxx

Plugin Config

 {
            "addresses": [
                "xxx.xxx.xxx.xxx"
            ],
            "name": "Tapo",
            "email": "[email protected]",
            "password": "****************",
            "platform": "HomebridgeTPLinkTapo",
            "_bridge": {
                "username": "AA;AA;AA;AA",
                "port": 33747
            }
        }

Plugin Version

homebridge-tp-link-tapo v3.2.2

Homebridge Version

Homebridge v1.6.0

Node.js Version

Node v18.15.0

NPM Version

9.5.0

Operating System

MacOS Ventura

New Device - Doorbell D230

Describe The Bug

Is there a chance of being able to add functionality to view the Tapo D230 doorbell to the plugin? At the moment it just seems to cause errors when the IP address is added to the list.

Expected behavior

Doorbell Camera feed to show in Home app.

Logs

[10/4/2023, 2:51:04 PM] [Tapo] Failed to get info about: [IP Address]

Plugin Config

N/A

Plugin Version

homebridge-tp-link-tapo v4.0.0

Homebridge Version

v1.6.1

Node.js Version

v18.14.2

NPM Version

Unknown

Operating System

v18.14.2

This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback!

Describe The Bug

When I turn on my lights sometimes it doesn't work and I think its because of this warning in the logs

[4/14/2023, 7:59:58 PM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.

Expected behavior

Lights should turn on correctly

Logs

[4/14/2023, 7:59:58 PM] [homebridge-tp-link-tapo] This plugin slows down Homebridge. The read handler for the characteristic 'On' didn't respond at all!. Please check that you properly call the callback! See https://homebridge.io/w/JtMGR for more info.

Plugin Config

{
"addresses": [
"192.168.4.25",
"192.168.4.26",
"192.168.6.28",
"192.168.6.27",
"192.168.6.26",
"192.168.6.25",
"192.168.6.43",
"192.168.6.42",
"192.168.6.39",
"192.168.6.38"
],
"name": "Tapo",
"email": "",
"password": "",
"_bridge": {
"username": "0E:59:4B:25:5A:84",
"port": 43114
},
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

3.2.2

Homebridge Version

1.6.0

Node.js Version

16.16.0

NPM Version

no idea

Operating System

Synology OS

Tapo C200 camera error

Describe The Bug

[06/12/2022, 22:47:29] [zaraquer] Error sending command: deviceInfo AxiosError: connect ECONNREFUSED 192.168.1.115:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16) {
port: 80,
address: '192.168.1.115',
syscall: 'connect',
code: 'ECONNREFUSED',
errno: -111,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/0.27.2',
'Content-Length': 352
},
method: 'post',
url: 'http://192.168.1.115/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAthaj0ZrPhEwD9pSxCHX8yr+J\nXrQvnw1OJyRAyA7x54EblEpGgYB5bWTfFNToHtfALZm07YJUapZCxl1JgrzYNIjZ\n5DniNMp6K9jsED+bBvQiKljl5zJtfCjMj+eHK9G/agY0GoIUaCuCn869ELT96jl7\naA8s1eIutdavkmzm2wIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1670363249612}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
hostname: '192.168.1.115',
port: null,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 352,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/0.27.2\r\n' +
'Content-Length: 352\r\n' +
'Host: 192.168.1.115\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.1.115',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kEndCalled)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://192.168.1.115/app',
[Symbol(kCapture)]: false
}
}
[06/12/2022, 22:47:29] [zaraquer] Failed to get info about: 192.168.1.115 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined

Expected behavior

Hi! I started the plugin, and added my tapo devices, but I have an issue with my c200 camera.
Can you please give me some hint where and what am I missing?
Thanks!

Logs

[06/12/2022, 22:47:29] [user] Error sending command: deviceInfo AxiosError: connect ECONNREFUSED 192.168.1.115:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16) {
port: 80,
address: '192.168.1.115',
syscall: 'connect',
code: 'ECONNREFUSED',
errno: -111,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [Function: httpAdapter],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function] },
validateStatus: [Function: validateStatus],
headers: {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/0.27.2',
'Content-Length': 352
},
method: 'post',
url: 'http://192.168.1.115/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY----------END PUBLIC KEY-----\n"},"requestTimeMils":1670363249612}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
hostname: '192.168.1.115',
port: null,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: 352,
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/0.27.2\r\n' +
'Content-Length: 352\r\n' +
'Host: 192.168.1.115\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.1.115',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kEndCalled)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://192.168.1.115/app',
[Symbol(kCapture)]: false
}
}
[06/12/2022, 22:47:29] [user] Failed to get info about: 192.168.1.115 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined

Plugin Config

{
"addresses": [
"192.168.1.115",
"192.168.1.146",
"192.168.1.105",
"192.168.1.130",
"192.168.1.119",
"192.168.1.112",
"192.168.1.127"
],
"name": "myuser",
"email": "mymailaddress",
"password": "mypassword",
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

3.2.1

Homebridge Version

1.6.0

Node.js Version

18.12.1

NPM Version

8.19.2

Operating System

Raspbian GNU/Linux Bullseye (11)

second handshake bug on L630 L610s

Describe The Bug

error code 1003
2nd handshake failing on all my TP link tapo lights

Expected behavior

It didn't used to do this. The functionality was fixed after the firmware update a month ago now we're back to inoperable

Logs

Try for 192.168.1.114 : 1/20
[01/10/2023, 20:02:32] [TAPO] Try for 192.168.1.115 : 1/20
[01/10/2023, 20:02:32] [TAPO] Checking protocol
[01/10/2023, 20:02:32] [TAPO] [Send Normal Request] {"error_code":1003}
[01/10/2023, 20:02:32] [TAPO] Using KLAP protocol for 192.168.1.115
[01/10/2023, 20:02:32] [TAPO] [KLAP] Legacy setup that does nothing, ignore this
[01/10/2023, 20:02:32] [TAPO] [KLAP] Legacy login that does nothing, ignore this
[01/10/2023, 20:02:32] [TAPO] Checking protocol
[01/10/2023, 20:02:32] [TAPO] [KLAP] First handshake decoded successfully:
Remote Seed: 207d9289733e918ab017128b19f6938a
Server Hash: dbc08363c1725c3849dcc0babec2f6d64fbaad1550cd6f40dd17f25f4809b30a
Cookie: TP_SESSIONID=824092974E4F9F8A4129128CA7AE948A
[01/10/2023, 20:02:32] [TAPO] [KLAP] [WARN] Empty auth hash matches server hash
[01/10/2023, 20:02:32] [TAPO] [Send Normal Request] {"error_code":1003}
[01/10/2023, 20:02:32] [TAPO] Using KLAP protocol for 192.168.1.114
[01/10/2023, 20:02:32] [TAPO] [KLAP] Legacy setup that does nothing, ignore this
[01/10/2023, 20:02:32] [TAPO] [KLAP] Legacy login that does nothing, ignore this
[01/10/2023, 20:02:32] [TAPO] Try for 192.168.1.129 : 1/20
[01/10/2023, 20:02:32] [TAPO] [KLAP] Second handshake failed: Request failed with status code 403
[01/10/2023, 20:02:32] [TAPO] [KLAP] Sending request: {"method":"get_device_info","params":null}
[01/10/2023, 20:02:32] [TAPO] Error sending command: deviceInfo TypeError: Cannot read properties of undefined (reading 'cipher')
at KlapAPI.sendSecureRequest (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/KlapAPI.ts:59:39)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at TPLink.sendCommandWithNoLock (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/TPLink.ts:243:24)
[01/10/2023, 20:02:32] [TAPO] Failed to get info about: 192.168.1.115
[01/10/2023, 20:02:32] [TAPO] Retry timeout: 192.168.1.115
[01/10/2023, 20:02:32] [TAPO] [KLAP] First handshake decoded successfully:
Remote Seed: f031900703ec92045e959105a7bb1004
Server Hash: 6feddb2859152e7e142b87452d105b577d4e452082bf8a376c2b10dec08c2a43
Cookie: TP_SESSIONID=16E8940ADA9F9F06ADF913034B421605
[01/10/2023, 20:02:32] [TAPO] [KLAP] [WARN] Empty auth hash matches server hash
[01/10/2023, 20:02:32] [TAPO] Try for 192.168.1.109 : 1/20
[01/10/2023, 20:02:32] [TAPO] [KLAP] Second handshake failed: Request failed with status code 403
[01/10/2023, 20:02:32] [TAPO] Error sending command: deviceInfo TypeError: Cannot read properties of undefined (reading 'cipher')
at KlapAPI.sendSecureRequest (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/KlapAPI.ts:59:39)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at TPLink.sendCommandWithNoLock (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/TPLink.ts:243:24)
[01/10/2023, 20:02:32] [TAPO] Failed to get info about: 192.168.1.114
[01/10/2023, 20:02:32] [TAPO] [KLAP] Sending request: {"method":"get_device_info","params":null}
[01/10/2023, 20:02:32] [TAPO] Retry timeout: 192.168.1.114
[01/10/2023, 20:02:32] [zigbee2mqtt] Handled device update for mmWave: {"detection_delay":0.4,"fading_time":2,"illuminance_lux":3,"linkquality":174,"maximum_range":3.45,"minimum_range":0.6,"presence":false,"radar_sensitivity":7,"target_distance":0}
[01/10/2023, 20:02:33] [TAPO] Checking protocol
[01/10/2023, 20:02:33] [TAPO] [Send Normal Request] {"error_code":1003}
[01/10/2023, 20:02:33] [TAPO] Using KLAP protocol for 192.168.1.129
[01/10/2023, 20:02:33] [TAPO] [KLAP] Legacy setup that does nothing, ignore this
[01/10/2023, 20:02:33] [TAPO] [KLAP] Legacy login that does nothing, ignore this
[01/10/2023, 20:02:33] [TAPO] [KLAP] First handshake decoded successfully:
Remote Seed: dd66aa18d4daa819e8dea918ecc02818
Server Hash: e8aa664a2ee1c90634d874eeb097f7ce20142a61ced3af4d38c71e7434d29975
Cookie: TP_SESSIONID=627723184505281DB716AD18A4EF281A
[01/10/2023, 20:02:33] [TAPO] [KLAP] [WARN] Empty auth hash matches server hash
[01/10/2023, 20:02:33] [TAPO] Checking protocol
[01/10/2023, 20:02:33] [TAPO] [Send Normal Request] {"error_code":1003}
[01/10/2023, 20:02:33] [TAPO] Using KLAP protocol for 192.168.1.109
[01/10/2023, 20:02:33] [TAPO] [KLAP] Legacy setup that does nothing, ignore this
[01/10/2023, 20:02:33] [TAPO] [KLAP] Legacy login that does nothing, ignore this
[01/10/2023, 20:02:33] [TAPO] [KLAP] Second handshake failed: Request failed with status code 403
[01/10/2023, 20:02:33] [TAPO] [KLAP] Sending request: {"method":"get_device_info","params":null}
[01/10/2023, 20:02:33] [TAPO] Error sending command: deviceInfo TypeError: Cannot read properties of undefined (reading 'cipher')
at KlapAPI.sendSecureRequest (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/KlapAPI.ts:59:39)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at TPLink.sendCommandWithNoLock (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/src/api/TPLink.ts:243:24)
[01/10/2023, 20:02:33] [TAPO] Failed to get info about: 192.168.1.129
[01/10/2023, 20:02:33] [TAPO] Retry timeout: 192.168.1.129
[01/10/2023, 20:02:33] [TAPO] Try for 192.168.1.112 : 1/20

Plugin Config

{
"bridge": {
"name": "Homebridge AF7D",
"username": "0E:C1:A3:5A:7A:7C",
"port": 51608,
"pin": "953-93-432",
"advertiser": "ciao",
"bind": [
"wlan0"
]
},
"accessories": [],
"platforms": [
{
"name": "Config",
"port": 8581,
"auth": "form",
"theme": "dark-mode",
"tempUnits": "c",
"lang": "en",
"platform": "config"
},
{
"name": "TplinkSmarthome",
"addCustomCharacteristics": false,
"switchModels": [
"HS100"
],
"deviceTypes": [
"plug"
],
"devices": [
{
"host": "192.168.8.100"
}
],
"platform": "TplinkSmarthome"
},
{
"name": "Tuya",
"options": {
"projectType": "2",
"endpoint": "https://openapi.tuyaeu.com",
"accessId": "saasdsa",
"accessKey": "dasdsadsadsadsa",
"countryCode": 61,
"username": "nonhjbjhbhjk",
"password": "bjhbjhbjhkbnlknkjl!",
"appSchema": "tuyaSmart",
"deviceOverrides": [
{
"id": "bf4dea7ebb3fb80d17woab",
"category": "cwwsq",
"unbridged": false,
"schema": [
{
"code": "feed",
"newCode": "switch",
"type": "Boolean"
}
]
}
],
"debug": true
},
"_bridge": {
"username": "0E:A8:13:C4:F7:30",
"port": 59485
},
"platform": "TuyaPlatform"
},
{
"name": "TuyaWebPlatform",
"options": {
"username": "iwdakusnjkdcnas",
"password": "adcnkdjasncdkjsalmdxlkasm;dx,as;l,x;lsa",
"countryCode": "61",
"platform": "tuya"
},
"defaults": [
{
"id": "bf2f7a0487acdb21f3s5em",
"device_type": "switch"
}
],
"scenes": false,
"_bridge": {
"username": "0E:DE:BE:AA:D9:CD",
"port": 32559
},
"platform": "TuyaWebPlatform"
},
{
"name": "WizSmarthome",
"enableScenes": false,
"lastStatus": false,
"refreshInterval": 0,
"devices": [
{
"host": "192.168.1.111",
"name": "BULB A.B22",
"mac": "D8A0113508D6"
}
],
"_bridge": {
"username": "0E:4A:EE:11:EB:ED",
"port": 48007
},
"platform": "WizSmarthome"
},
{
"addresses": [
"192.168.1.129",
"192.168.1.109",
"192.168.1.112",
"192.168.1.115",
"192.168.1.114"
],
"name": "TAPO",
"email": "login",
"password": "password",
"_bridge": {
"username": "0E:C2:C0:54:CC:6A",
"port": 37996
},
"platform": "HomebridgeTPLinkTapo"
},
{
"platform": "BroadlinkRM",
"name": "Broadlink RM",
"hideScanfrequencyButton": false,
"hideLearnButton": false,
"hideWelcomeMessage": false,
"logLevel": "trace",
"isUnitTest": true,
"hosts": [
{
"address": "192.168.1.103",
"mac": "ec:0b:ae:ee:0e:07",
"isRFSupported": true,
"isRM4": true
}
],
"_bridge": {
"username": "0E:DE:65:CD:A8:3B",
"port": 31188
},
"accessories": [
{
"name": "Bonaire",
"type": "heater-cooler",
"tempStepSize": 1,
"minTemperature": 16,
"maxTemperature": 30,
"temperatureUnits": "C",
"heatingThresholdTemperature": 18,
"coolingThresholdTemperature": 16,
"temperatureUpdateFrequency": 150,
"mqttURL": "mqtt://192.168.1.107",
"mqttTopic": [
{
"identifier": "temperature",
"topic": "sim/AqaraCube/temperature"
},
{
"identifier": "humidity",
"topic": "sim/AqaraCube/humidity"
},
{
"identifier": "battery",
"topic": "sim/AqaraCube/battery"
}
],
"data": {
"cool": {
"on": "2600e800606360930f370f151036111410141036113610150f15101410370f151014101410371014101410141015111310131312101412130f15101311140f1510150f14121211140f1510361312111310150f14111311140f371113113711130f1411140f1511140f14121211140f1510151112111310150f1510141037111311141112111310150f1511131014111310150f1510141212101410150f1411141014101410150f141213121211131212101411140f150f151014101410150f150f141114101411140f151112111410141014103710140f381036103710141014103712341312113511000d050000000000000000000000000000",
"off": "2600e8006062619110380f1410371014101410370f37111311140f15103611140f1510150f14101411140f1510150f14101411140f1510141014101410150f150f141114101410150f150f141114101410150f150f1411140f380f14113610150f15101311140f1510150f14111311140f1510150f14101410150f15103611140f1510141014101410150f150f141114101410150f150f141114101410150f15101311140f1510150f14111311140f1510150f14101411140f1510150f1410141015101410141014101410150f15101311140f380f14113610380f14101410150f3710141137103610000d050000000000000000000000000000",
"temperatureCodes": {
"16": "2600e8006062619111370f15103611140f150f37103710150f14101410150f151013111410370f1510141014101410150f1411141014101410150f1411140f1510141014101411140f150f3711140f150f1510141014111310380f14103710141014101410150f150f141114101410150f150f14111410141014101410370f1510150f1411140f150f151014101411140f150f1510141014101410150f1411141014101410150f141114101410141014101411140f150f151014101411140f150f1510141014101410150f1411141014101410150f141136103611140f380f14113610150f15103610000d050000000000000000000000000000",
"17": "2600e80061626191113610150f3710141015103610370f1510150f141014103710141014113610150f14111410140f151015101311140f150f1510141014111310150f1510141014101410371014101410150f150f14111410370f1510370f150f1510141014101410150f1510141014101410150f1510131114101410371014111310150f150f1411141014101410150f141114101410150f151013111310150f1510141014101410150f1510141014101410150f150f1411140f1510150f150f1411140f1510141014101411140f150f151014111311131037101410371036123511140f14111411000d050000000000000000000000000000",
"18": "2600e800606460920f3710141037101410141037103611140f151014103710140f1510150f370f1510150f15101412120f1510150f141113131211131114111212121312111311141112103710141212121212131113111312341312113512121312111312131112131113121113111312121311131211131212121213341212131113111312121212121311131113121212121213111311121213121211141113111212131212111411131112121312121113121311121213111311131212121212131113111312121212121311131113121212121213111334123413111411113512121312111311000d050000000000000000000000000000",
"19": "2600e8006063609211361112123510150f1411361037101410141114113510370f1511140f37111311140f1410141114111311140f14101410150f151113121210141015111310141014123511121114101411140f15101311370f150f37111310150f1510141212121210151113101412120f1510151112101411140f380f141114111311131014101411140f150f151014101412131113111213121014111310150f1413121014111312130f141114111311131212101412130f1511131014121211131213111311131212101410150f14111410141113123510370f15113511361212101411140f000d050000000000000000000000000000",
"20": "2600e80060636191103611140f380f14111410370f37101410150f37101411140f15101410370f150f151014101411140f150f1510141014101410150f1411141014101410150f14111410370f14111410140f1510150f14113610150f37101410150f150f141114101410150f150f1411140f1510150f14101411140f380f1411140f150f151014101411140f150f1510141014101410150f1510141014101410150f14111410140f1510150f1411140f150f151014101411140f150f1510141014111310150f151014101410150f150f14111410141014103710370f371014113610160e1411140f000d050000000000000000000000000000"
}
},
"heat": {
"on": "2600e80061626191103710141136101410141037103611140f380f141136103611370f150f3711140f150f151014101411140f150f151014101410150f1510131114101410150f15101311370f1510131114101410150f150f1411140f380f1411140f1510150f14101411140f1510150f14101410150f15103611140f1510150f14101410150f1510141014111310150f1510141014101410150f1411141014101410150f141114101410141014101411140f1510141014101411140f1510141014101410150f1510131114101410150f15103610150f371014103710141014111310380f14113610000d050000000000000000000000000000",
"off": "2600e800616162901037101412351113101410370f38111211361037121212121213111311121114111311140f14101413120f1510151112101413121113101410141014121311131113121210141213111311131212111310371014123511131014101412130f1511131212121210150f15111213120f1512341312121211140f150f141114121211140f1511121312111311140f141212111411131114111210141312111311121114121211141113111213121212101511131112131211131114111210141312111311141112121213121135101412360f36131211131015113512121136103610000d050000000000000000000000000000",
"temperatureCodes": {
"16": "2600e80061616290113610150f37101410150f3710370f1510141014121210150f37121210371014101410150f15101311141014101511130f1411140f1511140f14101411140f15101410370f150f151212101411140f151113101412350f151014101410141015111310141014101410150f14121312120f37111410140f151015111211140f150f1510141014111411130f151014121211140f150f151014101410150f150f141114101410150f150f1411140f1510141014101411140f1510150f14101410150f1510141014101410150f15101410370f37101410150f37101411140f15103611000d050000000000000000000000000000",
"17": "2600e800606360920f380f14113610150f14113610361114101410150f150f371037101410370f1510150f14101410150f1510131114101410150f15101311140f1510150f14101411140f37101411140f1510150f14101411140f15103611140f1510141014101410150f150f141114101410150f150f1411370f150f141114101410150f150f1411140f1510141014101411140f150f151014101410150f150f141114101410150f150f141114101410150f14101411140f1510141014101411140f1510141014101410150f1510131114101410150f15103610150f37101410150f150f14111410000d050000000000000000000000000000",
"18": "2600e800606360920f380f14113610150f14113610361114101410150f3710141037101410370f1510141014111310150f15101410140f1510150f14111410140f1510150f1411140f151036111410140f1510150f1411140f150f15103710140f1510150f1411140f1510141014101411140f150f15101410370f151014101411140f150f151014101410150f150f141114101410150f150f1411140f1510150f14101411140f1510150f14101410150f1510141014101410150f15101311140f1510150f14111410140f1510150f14111310150f15103611370f150f371037101410141014103710000d050000000000000000000000000000",
"19": "2600e800606360920f37111312360f150f1411370f371014101410150f371037103611140f380f1411140f150f151014101411140f150f1510141014101410150f1411141014101410150f370f1510150f14111410140f1510150f14113610150f14170e10140f1510150f1411140f150f151014101411140f380f1411140f150f1510141014111310150f1510141014101410150f1411141014101410150f1411140f1510141014101411140f1510141014101410150f150f141114101410150f150f1411140f1510150f14101411140f1510150f1410370f37113610150f14111410140f15103611000d050000000000000000000000000000",
"20": "2600e800616260920f38101313350f150f1411370f37101411140f371014101412360f14103710150f14101411140f1510150f14101410150f1510141014101410150f15101311140f1510361114101410150f150f1411140f1510150f3710140f1510150f1411140f150f151014101411140f150f1510141036101510141014101410150f15101410140f1510150f14111410140f1510150f14101410150f1510141014101410150f15101410140f1510150f14111410140f1510150f14111310150f1510141014101410150f15101410140f1510150f3710370f3711140f380f14111310150f3710000d050000000000000000000000000000",
"21": "2600e80060636191103710140f380f14111410370f37111310150f37111310380f370f15103611141014101410150f1411140f1510141014101411140f1510150f14101410150f15101311370f150f151014101410150f150f14111410370f151014101410150f150f14111410140f1510150f1411140f150f37111310150f1510141014101410150f1510141014101410150f15101311140f1510150f14101411140f1510150f14101410150f1510141014101410150f15101311140f1510150f14111311140f1510150f14101410150f1510141014103710361136103611140f1510150f14113610000d050000000000000000000000000000",
"22": "2600e800606363900f3710141036111410141136103610150f151036113610150f37101410371014101410151113111312120f1510150f141114101411131015111211140f15111312121037111312130f1412121015111310141212123510151112101413120f1510151112101412130f1510131312101410371212101410150f151112111410141015111311121114101410150f14101411140f1510150f14121211140f1510141014121210150f1511121114101410150f1511121114121210150f150f1411140f1510151112101411140f1510150f3711360f3712350f37121210150f15103412000d050000000000000000000000000000",
"23": "2600e80060626191113610150f37101410150f3710370f15101410370f3810361037101410370f151014101411140f150f151014101411140f150f1510141014101410150f14111410140f38101410140f1510150f150f1411140f1510361114101410141014101411140f1510141014101411140f150f15103610150f1510141014111310150f1510141014101410150f1510141014101410150f14111410140f1510150f1411140f150f151014101411140f150f1510141014111310150f15101410140f1510150f14111410140f1510150f14111310380f14101411140f1510150f141014103710000d050000000000000000000000000000",
"24": "2600e80060636191103611140f380f14111410370f371014103710141014101410371014103710141014101410150f150f141114101410150f150f1411141014101410150f1411140f150f37111410140f1510150f1411140f150f15103611140f1510150f1411140f150f1510141014111310150f15101410370f1510141014101410150f1510141014101410150f15101410140f1510150f14111311140f1510150f14101411140f1510150f14101410150f1510131114101410150f150f1411140f1510150f14101411140f1510141014101411140f380f1411140f150f37111311140f15103611000d050000000000000000000000000000",
"25": "2600e8006162619110371014103710150f1410371036111410361015101410370f37101410380f14101411140f1510150f14101410150f1510141014101410150f1510141014111310150f37101410150f1510141014101410150f15103610150f151014101410141015111310131114101410150f15101311370f150f141114101410150f150f1411140f1510150f14101411140f1510150f14101410150f1510150f14101410150f1510141014101410150f15101311140f1510150f14111311140f1510150f14101411140f1510150f14111310150f37101411140f380f1411140f1510150f3710000d050000000000000000000000000000",
"26": "2600e800626162900f3710141038111210141037103712120f37111410370f14113610150f371014101410150f1411140f1510150f14101411140f1510141014101410150f15101311140f380f141114101410150f14111311140f15103611140f1510150f14111310150f1510141014111310150f15101410370f151014101410150f150f141114101410150f150f1411140f1510150f14111310150f1510141014111310150f1510141014101410150f141114101410150f14101413120f1510150f14101410150f1510141014101410150f14111410140f15101511350f38101311140f1510150f000d050000000000000000000000000000",
"27": "2600e800606261911035121410370f15101410370f37111310380f1410371036113610150f37101410150f1510141014111310150f1510141014101410150f141114101411140f150f141136121311121114101410150f150f1413120f380f141312101410150f15101311140f1510150f14111311140f15103611140f1510150f1411131114111310150f14111312130f151014101411131015111310141212101410150f1412131212111312130f1411140f15101410141212111411130f1510141212111411130f141312101410151113111213120f1510150f371014111411130f1413120f1511000d050000000000000000000000000000",
"28": "2600e800606261911235101410371112111410370f37111411360f370f15101511350f15103611140f1510150f14101413120f1510150f141014121311131014101412121015111211141037111211141212111312130f1411140f150f3712130f150f151212121211140f150f1511131014111310150f1411361015111212131212111310150f141213111311131014121210150f150f141114101411140f15111211140f1511140f14121213120f151113101412121015111310141212111310150f1411140f1511131014101412130f15111311131014111411351212103711131212121210150f000d050000000000000000000000000000",
"29": "2600e8006261609212350f1511351114111310361137111311351037101412350f371212133410150f141213101411131213111211140f151014121212121114111310150f14121213121135121211140f1510141212111311140f15103611140f1510141014121213120f1510141014101410150f15101412331313101511121212101511131113121210141213111310141014111312130f15101410141113101511121114101411131114111211141212111310151112111411131113101410141114111311131212101412131113111211141014111411131036133412121212121311130f1512000d050000000000000000000000000000",
"30": "2600e80060626192103610150f37101410150f371037101410370f380f370f151036111412350f141114101410150f150f141312111310150f14101410150f1510141014101410150f15113510150f1511131014121212130f14121310370f15111211140f1510151112101412130f1510141014101412130f37101410150f15101410140f1510150f1412131014111310141014121311130f1510141014101410150f141114101410141014121211140f151014101410141213111311121312101410150f1511121312111310151112111313120f1512121014113611351334101412121114111310000d050000000000000000000000000000"
}
}
}
},
{
"name": "AndroidTV",
"type": "tv",
"pingIPAddress": "192.168.1.124",
"pingIPAddressStateOnly": true,
"pingFrequency": 5,
"pingGrace": 10,
"data": {
"on": "26004e008e92101411371037123710140f14111310150f1411371137103712130f1510140f1411130f151037113810141013111311140f3810381014101410380f390f381039100005cb8f910f3811000d050000000000000000",
"off": "26004e008d9210150f38113710390f1311140f1411140f1411371038103811131014101311140f1410150f380f391013121210150f1410381038101410131237103711371137110005c68e92103810000d050000000000000000",
"remote": {
"select": "26004e008e91111410380f38113810140f14111311131014103810380f38121210150f150f14101410381038101311140f141137111310390f1411130f391037113810131138100005cd8e930f3811000d050000000000000000",
"arrowUp": "260056008e9210141037113711381013111310141014101311380f390f3810150f151013101411130f38111311140f1410150f38111310371113113810371137113711131138100005c78e91113810000c2b8e92113711000d05",
"arrowDown": "260056008e9111140f390f3810390f14111310141014101311380f390f3810141014101311140f390f381113101410141013123710131113111310390f380f39103810141037110005ca8f930f3810000c378f90103911000d05",
"arrowLeft": "260056008e9110150f381137103811130f1510141013111311380f38103810141014101310150f150f14113710150f14101410380f151037113711140f380f39103810141038100005c68e920f3811000c2e8e920f3910000d05",
"arrowRight": "260056008e92101411371136123710140f141113111310141038103810371114101410140f15103711131137101311140f151037111310150f381113103810371237101410380f0005cc8e930f3811000c298e920f3811000d05",
"back": "260056008e9210141038103711381013101411131014101410380f390f3811140f1510140f1411130f15103711141013103910371212103810380f15103810381014101311380f0005c78f92103712000c158e920f3811000d05",
"exit": "26004e008e9210141037113711381013101410141014101311380f38113710150f1411130f151037111311380f1312371037111410380f1510371113103811131014103711140f0005c78f91103811000d050000000000000000"
},
"volume": {
"up": "260050008e910001161510141014101310150f3810381038101312130f151013101411130f391014103810141013111310381137111310390f13113810371138100005c48f91103712000c1d8e920f3811000d05000000000000",
"down": "260056008e920f151037103811371113101410141013111310390f38103810150f1311140f151037111311380f131237101410141013111310391013113710150f3810381038100005c78f91103811000c1c8e920f3811000d05"
}
}
}
]
},
{
"devices": [
{
"type": "RGBTWLight",
"name": "TuyaGLD381HA",
"id": "xx",
"key": "xx",
"manufacturer": "GLD",
"model": "GLD381HA",
"dpPower": 20,
"dpBrightness": 22,
"dpColorTemperature": 23,
"dpMode": 21,
"dpColor": 24
}
],
"_bridge": {
"username": "0E:9C:EE:D0:D2:E9",
"port": 32782
},
"platform": "TuyaLan"
},
{
"mqtt": {
"base_topic": "zigbee2mqtt",
"server": "mqtt://localhost:1883",
"reject_unauthorized": false,
"keepalive": 60,
"version": 5,
"disable_qos": false
},
"defaults": {
"exclude": false
},
"exclude_grouped_devices": false,
"platform": "zigbee2mqtt"
}
],
"disabledPlugins": [
"@dotwee/homebridge-z2m",
"homebridge-broadlink-heater-cooler",
"@milo526/homebridge-tuya-web",
"homebridge-tuya"
]
}

Plugin Version

v4.0.0

Homebridge Version

1.6.1

Node.js Version

v18.17.0

NPM Version

9.6.7

Operating System

Raspian

Issue with TPLink Tapo LED Bulb

Describe The Bug

ailed to get info about: 192.168.68.125 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined

Expected behavior

NA

Logs

NA

Plugin Config

NA

Plugin Version

NA

Homebridge Version

NA

Node.js Version

NA

NPM Version

NA

Operating System

NA

Support for Kasa KL130

Describe The Bug

The bulb is added in the Tapo app and works fine, but homebridge can't add it.

Expected behavior

Add the bulb as other devices like Tapo L530

Logs

[19/10/2023, 19:56:48] [TPLink Plugs] Error sending command: deviceInfo AxiosError: connect ECONNREFUSED 192.168.0.24:80
at Function.AxiosError.from (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:593:25)
at RedirectableRequest.emit (node:events:513:28)
at ClientRequest.eventHandlers. (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:513:28)
at Socket.socketErrorListener (node:_http_client:502:9)
at Socket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
port: 80,
address: '192.168.0.24',
syscall: 'connect',
code: 'ECONNREFUSED',
errno: -111,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: 'http',
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: [class Blob] },
validateStatus: [Function: validateStatus],
headers: Object [AxiosHeaders] {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/1.5.0',
'Content-Length': '352',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
httpAgent: Agent {
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
defaultPort: 80,
protocol: 'http:',
options: [Object: null prototype],
requests: [Object: null prototype] {},
sockets: [Object: null prototype],
freeSockets: [Object: null prototype] {},
keepAliveMsecs: 1000,
keepAlive: false,
maxSockets: Infinity,
maxFreeSockets: 256,
scheduling: 'lifo',
maxTotalSockets: Infinity,
totalSocketCount: 1,
[Symbol(kCapture)]: false
},
method: 'post',
url: 'http://192.168.0.24/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDDcIO09X+xu4l2epEJu+MkQJtx\nDlENX1yxs9whCrtJSJmcUCXQ0sRN0PwWPXP8pAY5VgPa43mnQdkULkUJi+jm1rFd\nl60beapDqnKMGYrGmQm0RUjhozVxojjrFuSSNNsxSWcmVrjtnX6WEzEvJ1CCO4S0\nTrxe+4naCmRu4hKj0wIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1697741808348}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
family: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '192.168.0.24',
port: '',
agent: [Agent],
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: '352',
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/1.5.0\r\n' +
'Content-Length: 352\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: 192.168.0.24\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
joinDuplicateHeaders: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.0.24',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(errored)]: null,
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://192.168.0.24/app',
[Symbol(kCapture)]: false
},
cause: Error: connect ECONNREFUSED 192.168.0.24:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1494:16) {
errno: -111,
code: 'ECONNREFUSED',
syscall: 'connect',
address: '192.168.0.24',
port: 80
}
}

Plugin Config

"platforms": [
    {
        "name": "Config",
        "port": 8581,
        "platform": "config"
    },
    {
        "addresses": [
            "192.168.0.77",
            "192.168.0.31",
            "192.168.0.24"
        ],
        "name": "TPLink Plugs",
        "email": "**",
        "password": "**",
        "_bridge": {
            "username": "0E:56:D2:DC:39:FE",
            "port": 34154
        },
        "platform": "HomebridgeTPLinkTapo"
    }
]

Plugin Version

homebridge-tp-link-tapo v4.0.0

Homebridge Version

v1.6.1

Node.js Version

v18.16.0

NPM Version

n/a

Operating System

Raspbian GNU/Linux Bullseye (11)

KL430 support

Hi,
Does this plugin support the Kasa KL430 smart Light Strip?

The 'Tplink Smarthome' plugin for HOOBS doesn't support the light strip and work on that plugin seems to be at a crawl. Any chance this plugin will support it?

Cheers!

Unable to login to plug URL

Describe The Bug

Unable to login to plug URL

Command error: deviceInfo > 9999
[8/12/2022, 1:55:44 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44

Expected behavior

Login successful and able to see smart plug

Logs

[8/12/2022, 1:55:26 PM] Registering platform 'homebridge-tp-link-tapo.HomebridgeTPLinkTapo'
[12/08/2022, 1:55:26 pm] [TPLinkTapo] Loaded homebridge-tp-link-tapo v3.2.1 child bridge successfully
[8/12/2022, 1:55:26 PM] Loaded 0 cached accessories from cachedAccessories.0EE3B2C28E53.
[8/12/2022, 1:55:27 PM] Homebridge v1.5.0 (HAP v0.10.2) (TPLinkTapo) is running on port 53265.
[8/12/2022, 1:55:29 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:55:29 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:55:30 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:55:30 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:55:30 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:55:40 PM] [TPLinkTapo] Try for 192.168.1.44 : 19/20
[8/12/2022, 1:55:42 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:55:42 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:55:44 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:55:44 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:55:44 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:55:54 PM] [TPLinkTapo] Try for 192.168.1.44 : 18/20
[8/12/2022, 1:55:55 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:55:55 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:55:57 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:55:57 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:55:57 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:56:07 PM] [TPLinkTapo] Try for 192.168.1.44 : 17/20
[8/12/2022, 1:56:08 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:56:08 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:56:10 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:56:10 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:56:10 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:56:20 PM] [TPLinkTapo] Try for 192.168.1.44 : 16/20
[8/12/2022, 1:56:23 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:56:23 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:56:25 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:56:25 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:56:25 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:56:35 PM] [TPLinkTapo] Try for 192.168.1.44 : 15/20
[8/12/2022, 1:56:36 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:56:36 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:56:37 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:56:37 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:56:37 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:56:47 PM] [TPLinkTapo] Try for 192.168.1.44 : 14/20
[8/12/2022, 1:56:50 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:56:50 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:56:52 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:56:52 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:56:52 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:57:02 PM] [TPLinkTapo] Try for 192.168.1.44 : 13/20
[8/12/2022, 1:57:03 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:57:03 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:57:04 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:57:04 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:57:04 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:57:14 PM] [TPLinkTapo] Try for 192.168.1.44 : 12/20
[8/12/2022, 1:57:16 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:57:16 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:57:17 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:57:17 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:57:17 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:57:27 PM] [TPLinkTapo] Try for 192.168.1.44 : 11/20
[8/12/2022, 1:57:29 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:57:29 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:57:30 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:57:30 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:57:30 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:57:40 PM] [TPLinkTapo] Try for 192.168.1.44 : 10/20
[8/12/2022, 1:57:42 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:57:42 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:57:44 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:57:44 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:57:44 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:57:54 PM] [TPLinkTapo] Try for 192.168.1.44 : 9/20
[8/12/2022, 1:57:55 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:57:55 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:57:56 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:57:56 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:57:56 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:58:06 PM] [TPLinkTapo] Try for 192.168.1.44 : 8/20
[8/12/2022, 1:58:11 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:58:11 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:58:12 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:58:12 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:58:12 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:58:22 PM] [TPLinkTapo] Try for 192.168.1.44 : 7/20
[8/12/2022, 1:58:24 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:58:24 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:58:25 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:58:25 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:58:25 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:58:35 PM] [TPLinkTapo] Try for 192.168.1.44 : 6/20
[8/12/2022, 1:58:36 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:58:36 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:58:38 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:58:38 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:58:38 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:58:48 PM] [TPLinkTapo] Try for 192.168.1.44 : 5/20
[8/12/2022, 1:58:49 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:58:49 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:58:50 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:58:50 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:58:50 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:59:00 PM] [TPLinkTapo] Try for 192.168.1.44 : 4/20
[8/12/2022, 1:59:03 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:59:03 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:59:04 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:59:04 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:59:04 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:59:14 PM] [TPLinkTapo] Try for 192.168.1.44 : 3/20
[8/12/2022, 1:59:17 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:59:17 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:59:18 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:59:18 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:59:18 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:59:28 PM] [TPLinkTapo] Try for 192.168.1.44 : 2/20
[8/12/2022, 1:59:30 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:59:30 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:59:31 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:59:31 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:59:31 PM] [TPLinkTapo] Retry to connect in 10s : 192.168.1.44
[8/12/2022, 1:59:41 PM] [TPLinkTapo] Try for 192.168.1.44 : 1/20
[8/12/2022, 1:59:43 PM] [TPLinkTapo] Session expired
[8/12/2022, 1:59:43 PM] [TPLinkTapo] Trying to login again.
[8/12/2022, 1:59:45 PM] [TPLinkTapo] Command error: deviceInfo > 9999
[8/12/2022, 1:59:45 PM] [TPLinkTapo] Failed to get info about: 192.168.1.44
[8/12/2022, 1:59:45 PM] [TPLinkTapo] Retry timeout: 192.168.1.44

Plugin Config

{
"addresses": [
"192.168.1.44"
],
"name": "TPLinkTapo",
"email": "@.com",
"password": "*",
"platform": "HomebridgeTPLinkTapo",
"_bridge": {
"username": "0E:E3:B2:C2:8E:53",
"port": 53265
}
}

Plugin Version

homebridge-tp-link-tapo v3.2.1

Homebridge Version

homebridge-config-ui-x v4.50.1

Node.js Version

Node.js v16.16.0

NPM Version

[email protected]

Operating System

Linux raspberrypi 5.10.17+ (via Homebridge on Mac)

Cannot connect to plug after latest Homebridge update

Describe The Bug

I have just updated Homebridge on PI to v1.6.0 and node.js to v18.13.0

The previously working connection to TP-Link 110 plug now returns:

Failed to get info about: 192.168.1.155 | The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received undefined

Expected behavior

Connecting as before with no errors

Logs

Error sending command: deviceInfo AxiosError: connect EHOSTUNREACH 192.168.1.155:80
at Function.AxiosError.from (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/core/AxiosError.js:89:14)
at RedirectableRequest.handleRequestError (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/axios/lib/adapters/http.js:533:25)
at RedirectableRequest.emit (node:events:513:28)
at ClientRequest.eventHandlers. (/var/lib/homebridge/node_modules/homebridge-tp-link-tapo/node_modules/follow-redirects/index.js:14:24)
at ClientRequest.emit (node:events:513:28)
at Socket.socketErrorListener (node:_http_client:496:9)
at Socket.emit (node:events:513:28)
at emitErrorNT (node:internal/streams/destroy:151:8)
at emitErrorCloseNT (node:internal/streams/destroy:116:3)
at processTicksAndRejections (node:internal/process/task_queues:82:21) {
port: 80,
address: '192.168.1.155',
syscall: 'connect',
code: 'EHOSTUNREACH',
errno: -113,
config: {
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
adapter: [ 'xhr', 'http' ],
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
env: { FormData: [Function], Blob: [class Blob] },
validateStatus: [Function: validateStatus],
headers: AxiosHeaders {
Accept: 'application/json, text/plain, /',
'Content-Type': 'application/json',
'User-Agent': 'axios/1.2.2',
'Content-Length': '352',
'Accept-Encoding': 'gzip, compress, deflate, br'
},
method: 'post',
url: 'http://192.168.1.155/app',
data: '{"method":"handshake","params":{"key":"-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQD8XhXr4scHW9S2Y9TOF2gZlq73\nipHPI4s5gwyv8rfZerWUIfbGvzL+BnOcjyFpvIkH5zS6h7+d4LtDiRDOuhwElrV3\nJOyuixyk/Eiah6BRK32ZU0GE8rZpk+QwN6BSNCgR5pYpoQ5qBLmSk2T/bF/3jGM5\nEIsHZTDz2yer+O1wFwIDAQAB\n-----END PUBLIC KEY-----\n"},"requestTimeMils":1674215209914}'
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError],
socket: [Function: handleRequestSocket]
},
_eventsCount: 3,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: Infinity,
protocol: 'http:',
path: '/app',
method: 'POST',
headers: [Object: null prototype],
agents: [Object],
auth: undefined,
beforeRedirect: [Function: dispatchBeforeRedirect],
beforeRedirects: [Object],
hostname: '192.168.1.155',
port: '',
agent: undefined,
nativeProtocols: [Object],
pathname: '/app'
},
_ended: false,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 352,
_requestBodyBuffers: [ [Object] ],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: false,
maxRequestsOnConnectionReached: false,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: true,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
strictContentLength: false,
_contentLength: '352',
_hasBody: true,
_trailer: '',
finished: false,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'POST /app HTTP/1.1\r\n' +
'Accept: application/json, text/plain, /\r\n' +
'Content-Type: application/json\r\n' +
'User-Agent: axios/1.2.2\r\n' +
'Content-Length: 352\r\n' +
'Accept-Encoding: gzip, compress, deflate, br\r\n' +
'Host: 192.168.1.155\r\n' +
'Connection: close\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Function: nop],
agent: [Agent],
socketPath: undefined,
method: 'POST',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/app',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: '192.168.1.155',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kBytesWritten)]: 0,
[Symbol(kEndCalled)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype],
[Symbol(errored)]: null,
[Symbol(kUniqueHeaders)]: null
},
_currentUrl: 'http://192.168.1.155/app',
[Symbol(kCapture)]: false
},
cause: Error: connect EHOSTUNREACH 192.168.1.155:80
at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1487:16) {
errno: -113,
code: 'EHOSTUNREACH',
syscall: 'connect',
address: '192.168.1.155',
port: 80
}
}

Plugin Config

{
"addresses": [
"192.168.1.155"
],
"name": "Study Plug",
"email": "XXXXXXXX",
"password": "XXXXXXXX",
"platform": "HomebridgeTPLinkTapo"
}

Plugin Version

3.2.2

Homebridge Version

1.6.0

Node.js Version

18.13.0

NPM Version

7.5.2

Operating System

Raspbian GNU/Linux 11 (bullseye)

No Support for Tapo Cameras

Describe The Bug

I just purchased a Tapo C420 camera and an H200 hub. I've entered my TP-Link account name and password in the plugin and the plugin generates the following log errors

Expected behavior

The plugin will work with my camera.

Logs

homebridge.log.txt

Plugin Config

{
"addresses": [
"192.168.1.32"
],
"name": "xxx",
"email": "[email protected]",
"password": "xxx",
"platform": "HomebridgeTPLinkTapo"

Plugin Version

homebridge-tp-link-tapo v3.2.2

Homebridge Version

te v1.6.1

Node.js Version

v18.17.1

NPM Version

v18.17.1

Operating System

Debian GNU/Linux 11 (bullseye)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.