JurajNyiri / HomeAssistant-Tapo-Control

Control for Tapo cameras as a Home Assistant component
Apache License 2.0
957 stars 80 forks source link

Floodlight control not working on C320WS #460

Closed keithajmani closed 7 months ago

keithajmani commented 7 months ago

Description

Tapo C320WS, hardware version 1.0, firmware 1.3.9 Build 231024 Release.59054n(5553).

When I try to manually turn on the floodlight, it fails with the error below in the logs and on screen (briefly). This occurs both via the Developer Tools / States page (setting to State: on) or on the Settings / Devices & Services / Device page.

UI error: "Failed to call service light/turn_on. Error: -60301, Response: {"method": "setLdc", "result": , "error_code": -60301}"

NOTE: The "Floodlight (Timed)" command does work. It is only the manual toggle which fails.

Reproduction Steps

  1. Go to Settings / Devices & Services / Devices
  2. Search for Tapo Camera device, select
  3. Click "Floodlight" under "Controls"

Expected behavior

Floodlight would turn on, and remain on, until switched off.

If applicable, add error logs.

home-assistant.log snippet:

2023-11-16 14:08:43.777 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140425265435072] Error: -60301, Response: {"method": "setLdc", "result": {}, "error_code": -60301} Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 230, in handle_call_service await hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 2035, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2072, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 235, in handle_service return await service.entity_service_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 876, in entity_service_call response_data = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 948, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/light/__init__.py", line 580, in async_handle_light_on_service await light.async_turn_on(**filter_turn_on_params(light, params)) File "/config/custom_components/tapo_control/light.py", line 136, in async_turn_on result = await self._hass.async_add_executor_job( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/pytapo/__init__.py", line 1384, in setForceWhitelampState return self.__setImageSwitch("force_wtl_state", "on" if enable else "off") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/pytapo/__init__.py", line 1315, in __setImageSwitch return self.executeFunction("setLdc", {"image": {"switch": {switch: value}}}) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/site-packages/pytapo/__init__.py", line 350, in executeFunction raise Exception( Exception: Error: -60301, Response: {"method": "setLdc", "result": {}, "error_code": -60301}

Device Firmware

1.3.9 Build 231024 Release.59054n(5553)

Integration Version

5.4.6

Using stream component

Yes

Does camera work via official integrations?

Yes

Camera has all attributes filled out in developer tools

Yes

HASS Environment

VM on Proxmox

Search for similar issues

Yes

Additional information

See also the closed issue #368 , closed due to insufficient details.

keithajmani commented 7 months ago

I also tried deleted and recreating the camera, as noted here, but it still does not work.

JurajNyiri commented 7 months ago

This is expected, this camera reports that it supports it so it gets added but then does not support turn on/off. There is not much we can do about it except targeting a specific hw/model name to exclude.

keithajmani commented 7 months ago

Thanks for clarifying -- much appreciated.