Regarding device id's, names and labels

So I came across an interpretation issue in my netatmo smartapp; it seems that the general way of referring to a device id is via the network id (dni). I had to change the network id to hex in order to get hubcommands to camera’s working and retrieve an image. I was referring to the smartapp child devices with dni’s, while I was changing those at the time of taking a snapshot. The netatmo api uses the mac address as identifier, which seems logical. But I cant play around with normal/hex versions of that. It seems there are 3 options to refer to a device: name, label and dni. It’s a bit strange that a device has a name and a label, and both can be changed through the IDE… The app changes the labels so I probably can assume the device name will hardly change. I’m now assigning the mac address to name, name to label and hex ip to dni. I’m curious why SmartThings doesn’t follow an ID - Name - Network address scheme, or should I just interpret name as ID?