Is it possible to send the “End device name” along with the uplink message? We currently use the AWS integration and cant see any of the values in the red boxes in the payload received by AWS IOT Core.
I have seen other threads talking about ‘attributes’ which are a bit unclear but seems attributes cannot be propagated easily to the uplink message without executing another network call to some other TTN resource. Is this also the case with the end device name?
To where? The end device has no knowledge of its name only its Dev Eui & Dev Addr….the name is a construct of/on the TTN Console assigned by the user during registration and for the convenience of the user…… the node wouldn’t know if you called it ‘fishfingers&custard’ and as such would not send its ‘name’ in an uplink……
Ok, sounds like it is not possible. I just wanted to send the name to AWS IOT where we can interpret the name and use it accordingly.
Based on this not being possible the best solution seems it would be to have the device hardware send a human readable name as part of the payload or have a mapping function in AWS IOT to assign a name. Would you agree?
Absolutely not - see Forum search for discussion of sending plain text/ASCII as payload - see also ‘working with Bytes’ that would be a huge waste of battery and more importantly valuable common resources - namely spectrum capacity
That is the way forward - dont use AWS directly myself to be able to comment but its the message integration that you need not the device uplinking… no doubt others will chime in with ideal mechanism and bridging/mapping functions… be it through webhook, MQTT, NodeRed or whatever… IIRC you get the application id, the dev eui and the device id - which may or may not be derived from dev-eui (again IIRC) unless you over wrote with an alternate name…
Yes, as the device name is just another attribute.
And most of the discussions revolve around the device name because it’s user enterable in the console - which is where the definition of user goes slightly wrong - it’s not meant to be end user - so your hope against hope that it didn’t apply was somewhat aspirational.
The threads do have people trying to kill the stack by doing a lookup back to TTS each & every time they get an uplink. This usually ends badly for all parties - it puts a load on the shared servers, the rate limiting breaks the design and then finally the account is terminated.
The best option is that your app holds the DevEUI & any other data you want for the device and does a local lookup and you don’t use the App Server as a data store at all as it’s not designed for that. If you need the names in the console, then push them back when you update locally.
The second best option is that you periodically sync the names back from TTS to your app. But it’s not a great option at all and there isn’t a notification on update from the stack so you just have to do all of them at infrequent intervals.
If you are on AWS and you are coming up with a proper commercial install, you are likely going to be on Rish’s holiday present list - a three or four dozen community devices is what TTN really maxes out at, after that it’s the commercial options.