Hi there, I turn out to be the aforementioned partner in crime
Use case: our idea would be a kind of semi-self-configuring system.
Think of: each ESP Easy unit will be pre-configured:
- hardware with one or more relais shield
- software with:
- one controller (Generic HTTP), for all esp units set to the same end point of our server
- one device/task per relais (Switch input - Switch), send info on boot activated
- our server then learns, which ESP devices are present in the network (this might change over time)
- feedback of the relais state works flawlessly with the "Switch input - Switch"
What is missing would be the other way around; automatically get the info to actually change the relais (we are currently doing this per http-request to control?cmd=GPIO....).
My thoughts (please turn me to the right direction, if I'm mistaken here):
- GPIO communication, I consider this "low-level", so more direct interaction with the hardware
- the tasks/devices, I consider them somewhat more "abstract" representations of the hardware
- like I can receive the current "state" of a device via the Controller publishing system (note: this controllers do not publish the low level GPIO state, they directly publish the "value" state), I would luckily also "stear"/control not only on the low-level, but on the more abstract level
Think of:
- device/task => garden_light; type is switch input; valuename => relais; value => 0 / 1; with relais attached to GPIO No 5
- I will receive controller publications with "garden_light / relais / 1"
- However: I can only change with "control?cmd=GPIO,5,1"
- I would be glad to be able to change the relais with something like "control?cmd=taks&name=garden_light&valname=relais&val=1" <- must not be that exact syntax
- My understanding would be, to use the high level "device", which by itself encapsulates the "hardware" info, like GPIO assignment
Many words, I hope we are not bothering you too much.
What do you think? Am I mistaken in the concept of ESP Easy system here?