homebridge-tapo-camera icon indicating copy to clipboard operation
homebridge-tapo-camera copied to clipboard

Toggle accessories are not working after updating from v2.3.4 to v2.4.1

Open Kiran-B opened this issue 6 months ago • 11 comments

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: UnresponsiveControls

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

Kiran-B avatar Aug 05 '24 10:08 Kiran-B