You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
The text was updated successfully, but these errors were encountered:
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 iterableDevice 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
The text was updated successfully, but these errors were encountered: