thinger-io / thinger-server

Thinger.io Server Repository
MIT License
3 stars 0 forks source link

Implement “Sleeping” state for devices in “Device List” screen #24

Open georgevbsantiago opened 1 year ago

georgevbsantiago commented 1 year ago

Implement “Sleeping” state for devices in “Device List” screen (May need to adapt Thinger-ARDUINO & IOMTP & PSON librarys to get this functionality)

Justification: It is very common for us to create routines for devices to go into Sleep mode to save battery power or save on data traffic.

The problem is that if we put the device to sleep, the Thinger Server points out that the device is disconnected.

But the device may be disconnected for various reasons that prevent it from working properly. In sleep mode, the device is working correctly, and will wake up again at a defined future time (10, 20, 30 minutes…), to reestablish its connection with the Thinger Server to send or receive data… sleep then… It would be interesting if the sleep mode could be set by the device (via a function from the Arduino-Library library) or by the Thinger Server, in the same way that today we can set Sampling Interval vs Stream by Device to write to the Bucket.

I imagined something like the highlighting of the name and the time left for the device to wake up: image image

If this functionality is available, I can use it on my device that uses GSM(M2M) internet connection to save data. Recently, I saw that maintaining the device’s connection with the Thinger Server, using the GSM(M2M) internet, consumes a lot of data with download. And my GSM(M2M) plan only has 20 MBs per month. In addition, instead of appearing disconnected, it would be informed that the device is sleeping and the time until it wakes up again, which is very relevant information to know that everything is working fine.

georgevbsantiago commented 1 year ago

I think that issue #4 (Ability to send multiple historical data (arrays) with different “ts” in the same uplink) should be implemented before, to make it possible to send historical data (array) from the device to the Server.