Today I created my first Roon extension with NodeJS. Also my first NodeJS experience BTW .
The extension pushes all zone information from the RoonApiTransport subscription to the MQTT broker. That way you can use all the status information in Domotica systems like OpenHAB.
As you can see, you can set the Hostname or IP address of the MQTT broker in the extension setting page. Also the status of the MQTT broker connection is displayed.
I think it all works, but you could encounter issues as this is version 0.1. I would like to know what you think.
I’d imagine future releases will have some kind of mechanism for sharing / storing / activating extensions from within Roon – but for now a systemd service and dumping the output straight to /dev/null works fine.
You can use it with anything supporting receiving/interpreting MQTT messages.Personally I use it with OpenHAB, but I can imagine lots of other domotica systems able to connect to a MQTT broker to receive (and send) messages.
For example, my OpenHAB system now knows if and what is playing in the different zones I configured. I can setup automation rules to do things in certain conditions. For example, let OpenHAB turn off my power amps (with a smart swtich) when the zone in my living room is stopped.
Yesterday I tried to connect my domoticz home automation system (I used OpenHAB before) to Roon with the extension. For this to work I needed to use Node-RED to connect it to the right topics available. While debugging I noticed the extension was publishing all topics for a zone when this zone was updated. While playing, the zone gets updated all the time with the new position in the track, so that means a lot of unneeded messages on the MQTT broker.
I changed the code so it only sends the changed topics to the MQTT broker. So, when only the position changes, only the MQTT topic for the position gets an update. This works much better in event-driven systems.
Thanks for creating this extension! I am new to Roon, new to MQTT, new to NodeRed, and new to Home Assistant, but will be giving this a shot and putting those puzzle pieces together!!
Hello!
I recently installed this extension, but I have problem.
My Roon core see broker, and they are connected, but I need to know what should I do to see messages on broker server, wich Roon send?
I want to see it on terminal, i try mosquitto_sub -v -h 192.168.1.232 -p 1883 -t ‘#’ command , but nothing happened.
The extension sends all the information to the topic roon/<Zone Name>/
All the properties of Zone Class defined in the Roon API are pushed. So for example for a zone named LivingRoom, the topic where the state is published will be
roon/LivingRoom/state
Only changes are published, so when nothing happens, no messages are published.
Do you perhaps have multiple brokers running. Subscribing to another one the extension is publishing to?
Anyone else having problem since the Roon 1.7 update? I can only see status messages (stopped, playing, loading) and no more messages saying what is played
Very strange behaviour here. On my NAS I have the problems as decribed. Reinstalled MQTT and still the same problem. Installed MQTT extension on a spare Linux NUC and that worked fine. Same MQTT version, other OS. I have a workaround in place and will try to install on another Synology NAS with other specs.
Great Extension, however with a setup similar to Ron_Witkamp, I am also having the same end result with 1.7. My setup is Nucleus+ for core with MQTT Broker in Docker on Synology NAS. Status messages are also stopped, playing and loading but its not possible display what is playing. It would be fantastic to have this issue fixed moving forwards. Thanks for your help