Not as such, and I should also add a few caveats about my specific project.
1. I started this project before Indigo added a built-in websocket server, so my plugin is running an "independent" websocket server that (essentially) mimics the built-in one. I've been too lazy to refactor my plugin and JavaScript code to take advantage of the built-in server. My plugin handles all the interaction--serving up Indigo object details, interpreting app requests, etc. which are now effectively unnecessary.
2. My app is specifically written for my Indigo install and wouldn't be something that someone could just install and run on their system. For example, the menus are referring to specific rooms in our house. The app doesn't have the capability to customize the interface through the app and would require someone to redo the entire codebase for their application. I didn't write it with the intention of making it universal.
3. My app has a couple big bugs in it at the moment. I stopped working on it to help out with some other things and haven't got around to working out these kinks. I was in the process of refining the UI when I stopped (see the image). As you can see, things are a bit broken at the moment (it looks like I need to change a battery in my outdoor luminance device though).
It would be nearly impossible to write a How-To article I'm afraid. I use a combination of libraries including VueJS, Vuex, Bootstrap, ChartJS, v-calendar, and others and these aren't even the only ones you can use (Indigo Touch for the web uses Svelte and TypeScript, and I know someone else working with Kivy which is pure Python). I knew absolutely nothing about any of these libraries--including having no JavaScript knowledge--when I got started and I still consider myself a beginner. Someone with a good handle on JavaScript would be able to pick this stuff up pretty easily.
If you're serious, I would suggest boning up on tutorials to write a small SPA to attach to Indigo's websocket server
and start small.
- Screenshot 2023-06-26 at 9.27.32 AM-2.png (114.9 KiB) Viewed 1710 times