tasmota/decode-config

Managing multiple devices

pgorod opened this issue · 0 comments

Hi. This is a semi-philosophical speculative rambling to see what others are doing / what others think.

I have just started using decode-config to configure 130 Shelly Plug S devices that are part of a solution to reduce energy spending in the heating of building. The plugs are glued to electrical heaters and limit their schedules.

Any way, speaking in generic terms and thinking of every decode-config user out there, how can we use decode-config in a practical way for a number of devices, not just one?

The Unix way: each tool does only its own thing

So, this is a nice school of thought. We leave decode-config to do its job of communicating with a single device, and then use other tools like bash script to discover and iterate devices and call decode-config over and over.

Advantages:

  • no bloating of the software with too many options

  • easier to maintain

Disadvantages:

  • requires further scripting knowledge, which is not the best thing to require in the IoT space which is meant for a wider audience.

  • multiple users will solve the same problems over and over again, in many different projects. What a waste of time and effort.

The user-friendly way, enhancing functionality

Some options can be added to decode-config, or a separate tool config-manager is devised, allowing:

  • defining groups of devices (not to be confused with Tasmota command groups of the current --group option), similar to "Rooms" in some IoT apps. It's simple, just a name given to a list of devices, which can be specified in JSON format, or in a config file, for example.

  • incorporate some iteration feature so that decode-config can go over such device groups and apply commands to each one in sequence (or even in parallel, why not?)

  • we'll probably want some discovery features also. Asking the software to scan the network and generate a list of devices that can be used in the features suggested above.

Thoughts?

I'd love to hear what @curzon01 and others think of this. And also possibly other ideas you have, how have you been solving this sort of problems which are probably common to many of us?

I guess I'm just trying to stay with the simplicity of the command-line and avoiding home automation servers...

Thanks!