about a year ago, I started integrating my home asterisk with my home automation, namely Home Assistant. I first wired up a proof of concept with NodeRED but now I moved this to NodeJS.
At the moment, ami2mqtt sends DeviceStateList and ExtensionStateList actions to * and then listens to ExtensionStatusChange and DeviceStatusChange events and publishes them to MQTT under pbx/exten/# and pbx/devstate/#.
It’s designed to run as a container. The whole thing works fine on my *18 at home.
Source code is at GitHub - sgofferj/ami2mqtt: An Asterisk Manager event to MQTT bridge
Feedback is welcome!