Custom RPi-based device?

Looking to make a custom device by adding HA integrations to a previous project (a mopidy-based “white noise” generator), specifically the Siren and Media Player entities.

While I’m fully expecting to write code to do this, the architecture documents seem to suggest more code than I was expecting. If I’m reading this correctly, I have to develop an HA plugin running on the server, device code running on the device, and decide on a protocol for the two to talk over the network?

Is there a simpler way for this kind of use case? I was hoping to expose the services of the device nicely to make future automation development easier.

Can’t you just use the MPD protocol? There’s an integration for it:

This platform works with Music Player Daemon and mopidy with Mopidy-MPD

That covers Media Player, but not Siren.