Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Siren on Tapo C320WS not working #678

Closed
umbertoragone opened this issue Sep 26, 2024 · 3 comments
Closed

Siren on Tapo C320WS not working #678

umbertoragone opened this issue Sep 26, 2024 · 3 comments
Labels
Duplicate This issue or pull request already exists

Comments

@umbertoragone
Copy link

umbertoragone commented Sep 26, 2024

Description

The siren toggle switch in Home Assistant does not work anymore, it throws the following error: "siren/turn_on argument type 'bool' is not iterable". Also, both the "Manual Alarm Start" and "Manual Alarm Stop" buttons don't work anymore. They worked in a previous version (I can't say which one, but last year or so I rembember it working fine).

I also recently tried to remove and reconfigure the camera in Home Assistant, but the issue persists.

Camera hardware: 2.0

Reproduction Steps

1: Go to Settings
2: Click in Devices & services
3: Click on Tapo: Cameras Control
4: Click on the device
5: Click on the Siren toggle button under Controls

Expected behavior

The siren should have been triggered on the camera

If applicable, add error logs.

Click to expand 2024-09-26 19:11:53.666 DEBUG (MainThread) [custom_components.tapo_control] async_camera_image - camera 2024-09-26 19:11:53.667 DEBUG (MainThread) [custom_components.tapo_control] async_camera_image - camera 2024-09-26 19:11:55.008 DEBUG (SyncWorker_31) [custom_components.tapo_control] [pytapo] New request: 2024-09-26 19:11:55.008 DEBUG (SyncWorker_31) [custom_components.tapo_control] [pytapo] {'data': {'method': 'securePassthrough', 'params': {'request': 'QmVJDC2uEiiwVk0N8tOsWj/PEC0K74EjY+S3RJWL6cW2xbCLrDs2EwdFi3OTNbkD+q7eptEIQXl94kjLhq1MQFuDmxSSITE8HuXW0rqMi54='}}, 'headers': {'Host': 'REDACTED', 'Referer': 'REDACTED', 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Tapo CameraClient Android', 'Connection': 'close', 'requestByApp': 'true', 'Content-Type': 'application/json; charset=UTF-8', 'Seq': '267', 'Tapo_tag': 'REDACTED'}, 'verify': False} 2024-09-26 19:11:55.097 DEBUG (SyncWorker_31) [custom_components.tapo_control] [pytapo] 200 2024-09-26 19:11:55.097 DEBUG (SyncWorker_31) [custom_components.tapo_control] [pytapo] {'error_code': -40106} 2024-09-26 19:11:55.098 DEBUG (MainThread) [custom_components.tapo_control] Error: Parameter to get/do does not exist, Response: {"error_code": -40106} 2024-09-26 19:11:55.101 DEBUG (SyncWorker_10) [custom_components.tapo_control] [pytapo] New request: 2024-09-26 19:11:55.101 DEBUG (SyncWorker_10) [custom_components.tapo_control] [pytapo] {'data': {'method': 'securePassthrough', 'params': {'request': '3u8sfwi4nsnDWkD9rFN4jJYWZ4F05032HKmtpQHpsIKNofJ6+mNgko3Py6iJfapWCmmYsnL/VyLtYnll5z6n7hWhevemPaivbSpTwFfHbvTxYvkxkBkobcddyTifPctX6nZ+wm8lKImocUUf5kAhDeJgT9A7XozU10HhIkbsjdQMfppsHoH4gZsvZh8XxQ7B'}}, 'headers': {'Host': 'REDACTED', 'Referer': 'REDACTED', 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Tapo CameraClient Android', 'Connection': 'close', 'requestByApp': 'true', 'Content-Type': 'application/json; charset=UTF-8', 'Seq': '268', 'Tapo_tag': 'REDACTED'}, 'verify': False} 2024-09-26 19:11:55.185 DEBUG (SyncWorker_10) [custom_components.tapo_control] [pytapo] 200 2024-09-26 19:11:55.185 DEBUG (SyncWorker_10) [custom_components.tapo_control] [pytapo] {'seq': 268, 'result': {'response': '8nEWLnsy311ghHKXq+CJ3D3Ouyrxg3qMNSQoxtXLBgBUOQJdMgfMDFmHjaF12BmA4BUK905Zj5Qvbm7qtxYCYLpgVw6qRC3HCHooU83AURKYj1swSQ7SsQhPHldJw8EU1JcAzrzO+UdEPFMJTUGAvw=='}, 'error_code': 0} 2024-09-26 19:11:55.187 DEBUG (MainThread) [custom_components.tapo_control] Error: Function not supported, Response: {"method": "setSirenStatus", "result": {}, "error_code": -40210} 2024-09-26 19:11:55.187 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140298850728784] Unexpected exception Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service response = await hass.services.async_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call result = await task ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/siren/__init__.py", line 121, in async_handle_turn_on_service await siren.async_turn_on( File "/config/custom_components/tapo_control/siren.py", line 115, in async_turn_on if result_has_error(result) and result_has_error(result2): ^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tapo_control/siren.py", line 186, in result_has_error if "error_code" not in result or result["error_code"] == 0: ^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: argument of type 'bool' is not iterable 2024-09-26 19:11:58.549 DEBUG (SyncWorker_54) [custom_components.tapo_control] [pytapo] New request: 2024-09-26 19:11:58.549 DEBUG (SyncWorker_54) [custom_components.tapo_control] [pytapo] {'data': {'method': 'securePassthrough', 'params': {'request': 'QmVJDC2uEiiwVk0N8tOsWj/PEC0K74EjY+S3RJWL6cW2xbCLrDs2EwdFi3OTNbkD+q7eptEIQXl94kjLhq1MQKa0bnlb7ZCxKUGOMyrrj2E='}}, 'headers': {'Host': 'REDACTED', 'Referer': 'REDACTED', 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Tapo CameraClient Android', 'Connection': 'close', 'requestByApp': 'true', 'Content-Type': 'application/json; charset=UTF-8', 'Seq': '269', 'Tapo_tag': 'REDACTED'}, 'verify': False} 2024-09-26 19:11:58.621 DEBUG (SyncWorker_54) [custom_components.tapo_control] [pytapo] 200 2024-09-26 19:11:58.621 DEBUG (SyncWorker_54) [custom_components.tapo_control] [pytapo] {'error_code': -40106} 2024-09-26 19:11:58.622 DEBUG (MainThread) [custom_components.tapo_control] Error: Parameter to get/do does not exist, Response: {"error_code": -40106} 2024-09-26 19:11:58.626 DEBUG (SyncWorker_63) [custom_components.tapo_control] [pytapo] New request: 2024-09-26 19:11:58.626 DEBUG (SyncWorker_63) [custom_components.tapo_control] [pytapo] {'data': {'method': 'securePassthrough', 'params': {'request': '3u8sfwi4nsnDWkD9rFN4jJYWZ4F05032HKmtpQHpsIKNofJ6+mNgko3Py6iJfapWCmmYsnL/VyLtYnll5z6n7hWhevemPaivbSpTwFfHbvTxYvkxkBkobcddyTifPctX6nZ+wm8lKImocUUf5kAhDYx6P2xifjwxhOGkt03qHcdm6OoSqZ8ivdzS8er2W9n/'}}, 'headers': {'Host': 'REDACTED', 'Referer': 'REDACTED', 'Accept': 'application/json', 'Accept-Encoding': 'gzip, deflate', 'User-Agent': 'Tapo CameraClient Android', 'Connection': 'close', 'requestByApp': 'true', 'Content-Type': 'application/json; charset=UTF-8', 'Seq': '270', 'Tapo_tag': 'REDACTED'}, 'verify': False} 2024-09-26 19:11:58.710 DEBUG (SyncWorker_63) [custom_components.tapo_control] [pytapo] 200 2024-09-26 19:11:58.710 DEBUG (SyncWorker_63) [custom_components.tapo_control] [pytapo] {'seq': 270, 'result': {'response': '8nEWLnsy311ghHKXq+CJ3D3Ouyrxg3qMNSQoxtXLBgBUOQJdMgfMDFmHjaF12BmA4BUK905Zj5Qvbm7qtxYCYLpgVw6qRC3HCHooU83AURKYj1swSQ7SsQhPHldJw8EU1JcAzrzO+UdEPFMJTUGAvw=='}, 'error_code': 0} 2024-09-26 19:11:58.712 DEBUG (MainThread) [custom_components.tapo_control] Error: Function not supported, Response: {"method": "setSirenStatus", "result": {}, "error_code": -40210} 2024-09-26 19:11:58.712 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140298850728784] Unexpected exception Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 245, in handle_call_service response = await hass.services.async_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2761, in async_call response_data = await coro ^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/core.py", line 2804, in _execute_service return await target(service_call) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 996, in entity_service_call single_response = await _handle_entity_call( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 1068, in _handle_entity_call result = await task ^^^^^^^^^^ File "/config/custom_components/tapo_control/siren.py", line 157, in async_turn_off if result_has_error(result) and result_has_error(result2): ^^^^^^^^^^^^^^^^^^^^^^^^ File "/config/custom_components/tapo_control/siren.py", line 186, in result_has_error if "error_code" not in result or result["error_code"] == 0: ^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: argument of type 'bool' is not iterable

Device Firmware

1.1.15 Build 240605 Rel.49436n

Integration Version

5.6.1

Using stream component

No

Does camera work via official integrations?

Yes

Camera has all attributes filled out in developer tools

Yes

HASS Environment

x86 Mini PC

Search for similar issues

Yes

Additional information

No response

@froniusMW
Copy link

froniusMW commented Oct 8, 2024

Never tried the siren on mine before, but gets same error here now

@umbertoragone
Copy link
Author

@froniusMW same with the "Manual Alarm Start" and "Manual Alarm Stop" buttons?

@JurajNyiri
Copy link
Owner

Duplicate of #641

@JurajNyiri JurajNyiri marked this as a duplicate of #641 Oct 8, 2024
@JurajNyiri JurajNyiri added the Duplicate This issue or pull request already exists label Oct 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Duplicate This issue or pull request already exists
Projects
None yet
Development

No branches or pull requests

3 participants