homebridge-tapo-camera
homebridge-tapo-camera copied to clipboard
Toggle accessories are not working after updating from v2.3.4 to v2.4.1
Describe Your Problem:
I am using this plugin to expose two of the Tapo C320WS
cameras to Apple Home. The integration was working fine until I decided to update the plugin from v2.3.4 to v2.4.1.
Post update the Cameras continue to list in Apple Home and the video feed is also streamed. But all the camera accessories(like the eyes, alarm) are non-responsive.
Important Note:
When I attempted to perform an update to v2.4.1, it suggested that I update Node to v20.16.0. My home bridge was running on Node v18 LTS.
So I updated homebridge
to the latest version using hb-config
GUI.
The log read: Unpacking homebridge (1.3.4) over (1.1.6) ...
But the Node version remained at v20.15.0
. So I update Node using hb-config
GUI. The log read: Updating Node.js from v20.15.0 to v20.16.0...
.
Once I updated Node to v20.16.0
, I performed the plugin update from the Homebridge web UI.
I see two distinct errors in the Homebridge logs.
Logs:
[05/08/2024, 15:42:44] [CAMERA_NAME] Error when retrieving data Error: Invalid device confirm
at TAPOCamera.refreshStok (/var/lib/homebridge/node_modules/homebridge-tapo-camera/src/tapoCamera.ts:213:15)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at TAPOCamera.getAuthenticatedAPIURL (/var/lib/homebridge/node_modules/homebridge-tapo-camera/src/tapoCamera.ts:349:19)
at /var/lib/homebridge/node_modules/homebridge-tapo-camera/src/tapoCamera.ts:429:23
at TAPOCamera.getStatus (/var/lib/homebridge/node_modules/homebridge-tapo-camera/src/tapoCamera.ts:612:26)
at CameraAccessory.getStatusAndNotify (/var/lib/homebridge/node_modules/homebridge-tapo-camera/src/cameraAccessory.ts:205:28)
and
[05/08/2024, 15:43:29] [homebridge-tapo-camera] This plugin threw an error from the characteristic 'On': Unhandled error thrown inside read handler for characteristic: Invalid device confirm. See https://homebridge.io/w/JtMGR for more info.
Plugin Config:
{
"cameras": [
{
"name": "Name1",
"ipAddress": "192.168.x.y",
"username": "redacted_email",
"password": "redacted_password",
"streamUser": "redacted_username",
"streamPassword": "redacted_password",
"debug": true
},
{
"name": "Name2",
"ipAddress": "192.168.x.z",
"username": "redacted_email",
"password": "redacted_password",
"streamUser": "redacted_username",
"streamPassword": "redacted_password",
"debug": true
}
],
"_bridge": {
"username": "redacted_string_that_looks_like_MAC_address",
"port": 33593
},
"platform": "tapo-camera"
}
Screenshots:
Environment:
- Plugin Version: v2.4.1
- Homebridge Version: v1.8.4
- Node.js Version: v20.16.0
- NPM Version: 10.8.1
- Operating System: Raspbian