Are you able now to make your alarm sound go off from within HA?
In other words, do you have an entity in HA that controls the siren?
If so, and your smoke detectors are able to communicate their state to HA, you create an automation which triggers when there is smoke/fire/… and have an action to control the siren.
However, when I try to ring the alarm I get this error in the tydom2mqtt logs: 2025-03-18 12:10:51,937 - mqtt.MqttClient - INFO - set_alarm_state message received (topic=alarm_control_panel/tydom/1738314795_1738314795/set_alarm_state, message=TRIGGER) --- Logging error --- Traceback (most recent call last): File "/usr/local/lib/python3.11/logging/__init__.py", line 1110, in emit msg = self.format(record) ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/logging/__init__.py", line 953, in format return fmt.format(record) ^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/logging/__init__.py", line 687, in format record.message = record.getMessage() ^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.11/logging/__init__.py", line 377, in getMessage msg = msg % self.args ~~~~^~~~~~~~~~~
Yes, I use Tydom2MQTT.
With the development tool, I have an action that triggers the alarm. When I execute this action nothing works and I get the following error in the Tydom2MQTT logs:
2025-03-18 12:29:08,588 - mqtt.MqttClient - INFO - set_alarm_state message received (topic=alarm_control_panel/tydom/1738314795_1738314795/set_alarm_state, message=TRIGGER)
--- Logging error ---
Traceback (most recent call last):
File "/usr/local/lib/python3.11/logging/__init__.py", line 1110, in emit
msg = self.format(record)
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/logging/__init__.py", line 953, in format
return fmt.format(record)
^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/logging/__init__.py", line 687, in format
record.message = record.getMessage()
^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/logging/__init__.py", line 377, in getMessage
msg = msg % self.args
~~~~^~~~~~~~~~~
TypeError: not enough arguments for format string
Call stack:
File "/app/main.py", line 140, in <module>
main()
File "/app/main.py", line 136, in main
loop.run_forever()
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 607, in run_forever
self._run_once()
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1922, in _run_once
handle._run()
File "/usr/local/lib/python3.11/asyncio/events.py", line 80, in _run
self._context.run(self._callback, *self._args)
File "/app/mqtt/MqttClient.py", line 189, in on_message
await Alarm.put_alarm_state(tydom_client=self.tydom, device_id=device_id, alarm_id=endpoint_id,
File "/app/sensors/Alarm.py", line 119, in put_alarm_state
await tydom_client.put_alarm_cdata(device_id=device_id, alarm_id=alarm_id, value=value, zone_id=zone_id)
File "/app/tydom/TydomClient.py", line 355, in put_alarm_cdata
logger.debug(
Message: 'Sending message to tydom (%s %s)PUT cdata'
Arguments: ('{"value":"None","pwd":"XXXXXX"}',)