The issue motivating this decision, and any context that influences or constrains the decision. Your motivation cannot include that the frontend is not representing the data correctly, as that is a frontend issue.
Multiple integrations can detect the same device, but one integration might know more information. This happened recently with the Mikrotik integration, a network scanner (https://github.com/home-assistant/core/issues/38809). The values it finds are not as specific as the values that the Sonos integration provides, but the way our device registry works, the last one to push data to the device registry wins.
Proposal
We should allow providing default_name, default_model and default_manufacturer. These values will be set as name, model and manufacturer only if there is no existing value set.
Consequences
We will no longer lose more precise data in favor of generic data.
Context
The issue motivating this decision, and any context that influences or constrains the decision. Your motivation cannot include that the frontend is not representing the data correctly, as that is a frontend issue.
Multiple integrations can detect the same device, but one integration might know more information. This happened recently with the Mikrotik integration, a network scanner (https://github.com/home-assistant/core/issues/38809). The values it finds are not as specific as the values that the Sonos integration provides, but the way our device registry works, the last one to push data to the device registry wins.
Proposal
We should allow providing
default_name
,default_model
anddefault_manufacturer
. These values will be set asname
,model
andmanufacturer
only if there is no existing value set.Consequences
We will no longer lose more precise data in favor of generic data.