Support DeviceInfo.model_id in MQTT integration (#123152)

Add support for model_id
This commit is contained in:
Maciej Bieniek 2024-08-04 23:02:41 +02:00 committed by GitHub
parent 30f4d1b958
commit a9d8e47979
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 14 additions and 0 deletions

View file

@ -267,6 +267,7 @@ DEVICE_ABBREVIATIONS = {
"name": "name",
"mf": "manufacturer",
"mdl": "model",
"mdl_id": "model_id",
"hw": "hw_version",
"sw": "sw_version",
"sa": "suggested_area",

View file

@ -16,6 +16,7 @@ from homeassistant.const import (
ATTR_HW_VERSION,
ATTR_MANUFACTURER,
ATTR_MODEL,
ATTR_MODEL_ID,
ATTR_NAME,
ATTR_SERIAL_NUMBER,
ATTR_SUGGESTED_AREA,
@ -25,6 +26,7 @@ from homeassistant.const import (
CONF_ENTITY_CATEGORY,
CONF_ICON,
CONF_MODEL,
CONF_MODEL_ID,
CONF_NAME,
CONF_UNIQUE_ID,
CONF_VALUE_TEMPLATE,
@ -992,6 +994,9 @@ def device_info_from_specifications(
if CONF_MODEL in specifications:
info[ATTR_MODEL] = specifications[CONF_MODEL]
if CONF_MODEL_ID in specifications:
info[ATTR_MODEL_ID] = specifications[CONF_MODEL_ID]
if CONF_NAME in specifications:
info[ATTR_NAME] = specifications[CONF_NAME]

View file

@ -9,6 +9,7 @@ from homeassistant.const import (
CONF_ENTITY_CATEGORY,
CONF_ICON,
CONF_MODEL,
CONF_MODEL_ID,
CONF_NAME,
CONF_UNIQUE_ID,
CONF_VALUE_TEMPLATE,
@ -112,6 +113,7 @@ MQTT_ENTITY_DEVICE_INFO_SCHEMA = vol.All(
),
vol.Optional(CONF_MANUFACTURER): cv.string,
vol.Optional(CONF_MODEL): cv.string,
vol.Optional(CONF_MODEL_ID): cv.string,
vol.Optional(CONF_NAME): cv.string,
vol.Optional(CONF_HW_VERSION): cv.string,
vol.Optional(CONF_SERIAL_NUMBER): cv.string,

View file

@ -222,6 +222,7 @@ CONF_METHOD: Final = "method"
CONF_MINIMUM: Final = "minimum"
CONF_MODE: Final = "mode"
CONF_MODEL: Final = "model"
CONF_MODEL_ID: Final = "model_id"
CONF_MONITORED_CONDITIONS: Final = "monitored_conditions"
CONF_MONITORED_VARIABLES: Final = "monitored_variables"
CONF_NAME: Final = "name"
@ -565,6 +566,7 @@ ATTR_CONNECTIONS: Final = "connections"
ATTR_DEFAULT_NAME: Final = "default_name"
ATTR_MANUFACTURER: Final = "manufacturer"
ATTR_MODEL: Final = "model"
ATTR_MODEL_ID: Final = "model_id"
ATTR_SERIAL_NUMBER: Final = "serial_number"
ATTR_SUGGESTED_AREA: Final = "suggested_area"
ATTR_SW_VERSION: Final = "sw_version"

View file

@ -42,6 +42,7 @@ DEFAULT_CONFIG_DEVICE_INFO_ID = {
"manufacturer": "Whatever",
"name": "Beer",
"model": "Glass",
"model_id": "XYZ001",
"hw_version": "rev1",
"serial_number": "1234deadbeef",
"sw_version": "0.1-beta",
@ -54,6 +55,7 @@ DEFAULT_CONFIG_DEVICE_INFO_MAC = {
"manufacturer": "Whatever",
"name": "Beer",
"model": "Glass",
"model_id": "XYZ001",
"hw_version": "rev1",
"serial_number": "1234deadbeef",
"sw_version": "0.1-beta",
@ -999,6 +1001,7 @@ async def help_test_entity_device_info_with_identifier(
assert device.manufacturer == "Whatever"
assert device.name == "Beer"
assert device.model == "Glass"
assert device.model_id == "XYZ001"
assert device.hw_version == "rev1"
assert device.sw_version == "0.1-beta"
assert device.suggested_area == "default_area"
@ -1035,6 +1038,7 @@ async def help_test_entity_device_info_with_connection(
assert device.manufacturer == "Whatever"
assert device.name == "Beer"
assert device.model == "Glass"
assert device.model_id == "XYZ001"
assert device.hw_version == "rev1"
assert device.sw_version == "0.1-beta"
assert device.suggested_area == "default_area"