I really like this proposal.
What it would give us:
- Multiple variables of the same type (like two temperatures)
- The possibility for human description of a variable (core temp, air temp, engine temp)
- The possibility to describe the values even if they don't exist (Say if temperature didn't exist we could describe it as a LEVEL with the unit °C
- The possibility to describe the range of values (I.E. This temp may be between 0-25°C)
This doesn't need to be handled by the gateway, it could be moved to the controller which usually are a high-performance device. And if it isn't (doesn't have room to store the configuration) it may ask the node for it every time it receives a value from the node. In this configuration the gateway would just be a translator between nrf24 and USB, or nrf24 and Ethernet or whatever.