I have written an application that currently gets its uplinks from the MQTT stream. Data is converted and sent to another application that finally stores the data for presentation on a map. This other application requires an id, which I’ve stored in a device attribute. Once per hour, all device attributes are refreshed through the event API Working with Events | The Things Stack for LoRaWAN
I recently noticed that any device attribute edit events also appear on the event stream. So instead of refreshing every hour, I could just listen on the event stream and perform the refresh only when something changes. This makes the effectuation of device attributes basically instant, and reduces unneeded device attribute fetching. I noticed that the event stream also contains the application uplink events (which I’m currently getting over MQTT).
I’m wondering now if perhaps I could switch over completely from MQTT to using the event stream, for both device attribute edit events and uplinks. Of course I would have to watch the SSE stream and restart it when it experiences a hiccup, but this is actually not that different from MQTT which also can get disconnected (e.g. during a TTS maintenance update)
Would this be a good idea? Am I overlooking something?
Anyone else already doing things this way?