How to identify device friendly name via UPnP/API call?
I'm working on a couple of different tools that integrate with the Nanoleaf API(s). One of the things I've noticed is that even though I've set names for all of my devices in the Nanoleaf mobile app, I can only find the factory default name (model name + last 2 bytes of MAC - e.g. “Shapes 4473”).
Both the REST API responses and SSDP NOTIFY messages (in header “nl-devicename”) show this name
From the Nanoleaf documentation, I see the following note for nl-devicename on the SSDP NOTIFY:
Could be updated by an iOS user using WAC.
This brings up a few questions:
- What is WAC? Publicly available documentation suggests it's an Apple pairing technology, but it's unclear how those names are actually set in practice/how the updated name is communicated over the air.
- Is there a different mechanism to read the user-configured friendly name of the device?
- If the answer above is “no”, can we get something like one of the following?
- nl-devicename / analogous mDNS properties updated to match user-configured device display name in the Nanoleaf app
- TCP80 /device_info REST endpoint extended with device display name
- LocalAPI method for reading the display name (preferably without requiring authentication)
-
Official comment
The “user-friendly name” isn’t actually stored on or accessible from the device itself. Support for renaming was added to meet HomeKit certification requirements, but providing a way for users to change it depends on Apple’s interface, which is not currently available.
As a result, the device name defaults to the unique identifier printed on the controller. This is intentional, as the device name is used to set the service instance name on mDNS. Allowing it to be freely changed could lead to naming conflicts between devices, which may cause connectivity or discovery issues.
By keeping the controller’s predefined unique name, it ensures reliable mDNS operation. This may also explain why Apple has not enabled a user-facing option for renaming, despite requiring OEMs to support the capability.
-
WAC, being a black box of Apple's proprietary protocol, is still too cumbersome. Does Nanoleaf really not consider adding a displayName field directly to the local REST API? treeshateyou partydrinkcalculator
0 -
Identifying a device friendly name through UPnP or API calls can sometimes vary depending on the device manufacturer and how the service exposes metadata. In many cases, checking the device description XML or specific UPnP properties can help retrieve the correct friendly name. Developers often test these networking features alongside tools and apps running the latest version for better compatibility and performance.
0
Please sign in to leave a comment.
Comments
3 comments