Hello @skywatch, thank you for kind response. It was nice!
What helped me a lot was hierarchical approach. The idea make nodes simple and do only simple tasks. The gateway works in the same style and this is the reason why it is so easy and powerful.
You mentioned error handling. I met this question already with node rx - nodes do not listen continuously because of rx power is high (I am expecting battery powered nodes). So SmartSuspend seems as easy solution for the problem but this seems it can fail. For this reason I would prefer to keep the node's state variable (relay/fan state for example) on the controller side and let the node ask for it. Nodes can send read requests and also knows if they got the value. I could be nice to connect the state value with timestamp to recognize fresh state/reading for example.
Unfortunately absolute humidity decisions are more complex than one node. You need simply more sensors and locations to decide if it worths to change air in a room. It requires 1. outside humidity and temperature, also 2. room temperature and humidity and finally 3. relay/fan node. Make the calculation on the controller makes perfectly sense. Communication problem can be solved on relay by timeout - simply stop.
Regarding calculations on the controller. Is it possible to keep result in a variable
- updated on every update from node (input data)
- which could be source of values for a chart (as common node variables)?
I do see option to run a script on value comparisons which seems promising. Unfortunately I do not option to run it always when new value comes from a node. But this could be possible to hack with for example comparison against impossible value.
I am not java script guy so I do not know what to do with the chart variable Here I need help.
Thank you for reading my problems, I hope this could help others because more data processing and driving nodes is the next step for all. Not only data collecting and viewing them manually on nice interface.