Can you share an example of the array output you are using?
Some questions:
- Are you completely recreating the full list each time? Rather than amending the list.
- You have 4 blue boxes - are those buttons? If so, what do they do?
- Your source data that you cache from the db seems to be in many individual variables - why not use a single array of objects instead which would be much easier to handle I would think?
- When you click on the checkbox, does it immediately send something back to Node-RED? Or do you have to press a button to update Node-RED? (and which would you prefer).
With uibuilder, we can take your input array and create a list from it. We can then manipulate the list very easily. There is an example in uibuilder's section of the Node-RED example library after you have loaded the package. It is part of the zero-code example.
It would be simple to add a handler to each entry that tracked clicks on the list entry itself that sends an update immediately back to node-red and changes the list icon. Probably a lot easier to use on mobile that using a checkbox.

