WLED custom animations, new device, api calls or some other type of integration

Ok, not sure where to put this. Quick background, I’m migrating from a custom home automation system to Home Assistant and it is going well. I need to decide how to handle a device with special features.

I have my own walkway lanterns with smart LEDs in them driven by WLED. However, I have my own animation manager to do things specific to my layout. The code is in node and I can expose it any way I want. I’m running in Docker, so I can set up most intermediate components.

Goal: From Home Assist, I want to be able to (assume the raw functionality exists with any comm method):

  • Set lantern state, on/off (note this is different than WLED on/off)
  • Set animation
  • Push animation (usually used for temporary ones that go back to normal animation on completion)
  • Maybe some other misc optimized things like flat color, ect.
  • It would be nice to see current animation as it changes…but, not that important
  • I would like to be able to do changes from UI (needs pull down menu for animation list) or rules

I will eventually have other special ‘devices’ that have these capabilities (holiday lights, patio decorations, ect.)

What is the best approach for integrating into HA? Create a custom integration/device? Some type of service? What methods do I have for selecting an animation from a list and sending it?