After investigating this further, I see the following error in the logs upon trying to manually trigger the siren using the entity switch:
2023-07-07 17:56:00.651 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event call_service[L]: domain=siren, service=turn_on, service_data=entity_id=siren.heiman_interior>
2023-07-07 17:56:00.653 DEBUG (MainThread) [zigpy.util] Tries remaining: 3
2023-07-07 17:56:00.660 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [139854377083728] 'Warning' object has no attribute 'serialize'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 205, in handle_call_service
await hass.services.async_call(
File "/usr/src/homeassistant/homeassistant/core.py", line 1957, in async_call
response_data = await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/core.py", line 1997, in _execute_service
return await cast(
^^^^^^^^^^^
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 845, in entity_service_call
response_data = task.result() # pop exception if have
^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1192, in async_request_call
return await coro
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 889, in _handle_entity_call
result = await task
^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/siren/__init__.py", line 117, in async_handle_turn_on_service
await siren.async_turn_on(
File "/usr/src/homeassistant/homeassistant/components/zha/siren.py", line 145, in async_turn_on
await self._cluster_handler.issue_start_warning(
File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/security.py", line 330, in issue_start_warning
await self.start_warning(
File "/usr/local/lib/python3.11/site-packages/zigpy/util.py", line 132, in retry
return await func()
^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/zigpy/zcl/__init__.py", line 355, in request
hdr, request = self._create_request(
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/zigpy/zcl/__init__.py", line 318, in _create_request
request.serialize() # Throw an error before generating a new TSN
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/zigpy/types/struct.py", line 250, in serialize
chunks.append(value.serialize())
^^^^^^^^^^^^^^^
AttributeError: 'Warning' object has no attribute 'serialize'
I just created an issue here, but it would be great if anyone else gives further feedback or supports the Github issue if having the same problem.