mirror of
https://github.com/home-assistant/core
synced 2024-08-02 23:40:32 +02:00
Add hw_version
to MQTT device info (#77210)
* Add hw_version * Add abbreviation for hw_version * Update tests * Update discovery tests
This commit is contained in:
parent
dfed3ba75e
commit
ad6beac535
@ -263,6 +263,7 @@ DEVICE_ABBREVIATIONS = {
|
||||
"name": "name",
|
||||
"mf": "manufacturer",
|
||||
"mdl": "model",
|
||||
"hw": "hw_version",
|
||||
"sw": "sw_version",
|
||||
"sa": "suggested_area",
|
||||
}
|
||||
|
@ -13,6 +13,7 @@ import voluptuous as vol
|
||||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.const import (
|
||||
ATTR_CONFIGURATION_URL,
|
||||
ATTR_HW_VERSION,
|
||||
ATTR_MANUFACTURER,
|
||||
ATTR_MODEL,
|
||||
ATTR_NAME,
|
||||
@ -107,6 +108,7 @@ CONF_JSON_ATTRS_TEMPLATE = "json_attributes_template"
|
||||
CONF_IDENTIFIERS = "identifiers"
|
||||
CONF_CONNECTIONS = "connections"
|
||||
CONF_MANUFACTURER = "manufacturer"
|
||||
CONF_HW_VERSION = "hw_version"
|
||||
CONF_SW_VERSION = "sw_version"
|
||||
CONF_VIA_DEVICE = "via_device"
|
||||
CONF_DEPRECATED_VIA_HUB = "via_hub"
|
||||
@ -199,6 +201,7 @@ MQTT_ENTITY_DEVICE_INFO_SCHEMA = vol.All(
|
||||
vol.Optional(CONF_MANUFACTURER): cv.string,
|
||||
vol.Optional(CONF_MODEL): cv.string,
|
||||
vol.Optional(CONF_NAME): cv.string,
|
||||
vol.Optional(CONF_HW_VERSION): cv.string,
|
||||
vol.Optional(CONF_SW_VERSION): cv.string,
|
||||
vol.Optional(CONF_VIA_DEVICE): cv.string,
|
||||
vol.Optional(CONF_SUGGESTED_AREA): cv.string,
|
||||
@ -880,6 +883,9 @@ def device_info_from_config(config) -> DeviceInfo | None:
|
||||
if CONF_NAME in config:
|
||||
info[ATTR_NAME] = config[CONF_NAME]
|
||||
|
||||
if CONF_HW_VERSION in config:
|
||||
info[ATTR_HW_VERSION] = config[CONF_HW_VERSION]
|
||||
|
||||
if CONF_SW_VERSION in config:
|
||||
info[ATTR_SW_VERSION] = config[CONF_SW_VERSION]
|
||||
|
||||
|
@ -29,6 +29,7 @@ DEFAULT_CONFIG_DEVICE_INFO_ID = {
|
||||
"manufacturer": "Whatever",
|
||||
"name": "Beer",
|
||||
"model": "Glass",
|
||||
"hw_version": "rev1",
|
||||
"sw_version": "0.1-beta",
|
||||
"suggested_area": "default_area",
|
||||
"configuration_url": "http://example.com",
|
||||
@ -39,6 +40,7 @@ DEFAULT_CONFIG_DEVICE_INFO_MAC = {
|
||||
"manufacturer": "Whatever",
|
||||
"name": "Beer",
|
||||
"model": "Glass",
|
||||
"hw_version": "rev1",
|
||||
"sw_version": "0.1-beta",
|
||||
"suggested_area": "default_area",
|
||||
"configuration_url": "http://example.com",
|
||||
@ -958,6 +960,7 @@ async def help_test_entity_device_info_with_identifier(
|
||||
assert device.manufacturer == "Whatever"
|
||||
assert device.name == "Beer"
|
||||
assert device.model == "Glass"
|
||||
assert device.hw_version == "rev1"
|
||||
assert device.sw_version == "0.1-beta"
|
||||
assert device.suggested_area == "default_area"
|
||||
assert device.configuration_url == "http://example.com"
|
||||
@ -990,6 +993,7 @@ async def help_test_entity_device_info_with_connection(
|
||||
assert device.manufacturer == "Whatever"
|
||||
assert device.name == "Beer"
|
||||
assert device.model == "Glass"
|
||||
assert device.hw_version == "rev1"
|
||||
assert device.sw_version == "0.1-beta"
|
||||
assert device.suggested_area == "default_area"
|
||||
assert device.configuration_url == "http://example.com"
|
||||
|
@ -947,6 +947,7 @@ async def test_entity_device_info_with_connection(hass, mqtt_mock_entry_no_yaml_
|
||||
"manufacturer": "Whatever",
|
||||
"name": "Beer",
|
||||
"model": "Glass",
|
||||
"hw_version": "rev1",
|
||||
"sw_version": "0.1-beta",
|
||||
},
|
||||
}
|
||||
@ -962,6 +963,7 @@ async def test_entity_device_info_with_connection(hass, mqtt_mock_entry_no_yaml_
|
||||
assert device.manufacturer == "Whatever"
|
||||
assert device.name == "Beer"
|
||||
assert device.model == "Glass"
|
||||
assert device.hw_version == "rev1"
|
||||
assert device.sw_version == "0.1-beta"
|
||||
|
||||
|
||||
@ -981,6 +983,7 @@ async def test_entity_device_info_with_identifier(hass, mqtt_mock_entry_no_yaml_
|
||||
"manufacturer": "Whatever",
|
||||
"name": "Beer",
|
||||
"model": "Glass",
|
||||
"hw_version": "rev1",
|
||||
"sw_version": "0.1-beta",
|
||||
},
|
||||
}
|
||||
@ -994,6 +997,7 @@ async def test_entity_device_info_with_identifier(hass, mqtt_mock_entry_no_yaml_
|
||||
assert device.manufacturer == "Whatever"
|
||||
assert device.name == "Beer"
|
||||
assert device.model == "Glass"
|
||||
assert device.hw_version == "rev1"
|
||||
assert device.sw_version == "0.1-beta"
|
||||
|
||||
|
||||
|
@ -947,6 +947,7 @@ async def test_discovery_expansion(hass, mqtt_mock_entry_no_yaml_config, caplog)
|
||||
' "ids":["5706DF"],'
|
||||
' "name":"DiscoveryExpansionTest1 Device",'
|
||||
' "mdl":"Generic",'
|
||||
' "hw":"rev1",'
|
||||
' "sw":"1.2.3.4",'
|
||||
' "mf":"None",'
|
||||
' "sa":"default_area"'
|
||||
@ -999,6 +1000,7 @@ async def test_discovery_expansion_2(hass, mqtt_mock_entry_no_yaml_config, caplo
|
||||
' "ids":["5706DF"],'
|
||||
' "name":"DiscoveryExpansionTest1 Device",'
|
||||
' "mdl":"Generic",'
|
||||
' "hw":"rev1",'
|
||||
' "sw":"1.2.3.4",'
|
||||
' "mf":"None",'
|
||||
' "sa":"default_area"'
|
||||
@ -1037,6 +1039,7 @@ async def test_discovery_expansion_3(hass, mqtt_mock_entry_no_yaml_config, caplo
|
||||
' "ids":["5706DF"],'
|
||||
' "name":"DiscoveryExpansionTest1 Device",'
|
||||
' "mdl":"Generic",'
|
||||
' "hw":"rev1",'
|
||||
' "sw":"1.2.3.4",'
|
||||
' "mf":"None",'
|
||||
' "sa":"default_area"'
|
||||
@ -1076,6 +1079,7 @@ async def test_discovery_expansion_without_encoding_and_value_template_1(
|
||||
' "ids":["5706DF"],'
|
||||
' "name":"DiscoveryExpansionTest1 Device",'
|
||||
' "mdl":"Generic",'
|
||||
' "hw":"rev1",'
|
||||
' "sw":"1.2.3.4",'
|
||||
' "mf":"None",'
|
||||
' "sa":"default_area"'
|
||||
@ -1124,6 +1128,7 @@ async def test_discovery_expansion_without_encoding_and_value_template_2(
|
||||
' "ids":["5706DF"],'
|
||||
' "name":"DiscoveryExpansionTest1 Device",'
|
||||
' "mdl":"Generic",'
|
||||
' "hw":"rev1",'
|
||||
' "sw":"1.2.3.4",'
|
||||
' "mf":"None",'
|
||||
' "sa":"default_area"'
|
||||
|
@ -437,6 +437,7 @@ async def test_entity_device_info_with_connection(hass, mqtt_mock_entry_no_yaml_
|
||||
"manufacturer": "Whatever",
|
||||
"name": "Beer",
|
||||
"model": "Glass",
|
||||
"hw_version": "rev1",
|
||||
"sw_version": "0.1-beta",
|
||||
},
|
||||
}
|
||||
@ -452,6 +453,7 @@ async def test_entity_device_info_with_connection(hass, mqtt_mock_entry_no_yaml_
|
||||
assert device.manufacturer == "Whatever"
|
||||
assert device.name == "Beer"
|
||||
assert device.model == "Glass"
|
||||
assert device.hw_version == "rev1"
|
||||
assert device.sw_version == "0.1-beta"
|
||||
|
||||
|
||||
@ -468,6 +470,7 @@ async def test_entity_device_info_with_identifier(hass, mqtt_mock_entry_no_yaml_
|
||||
"manufacturer": "Whatever",
|
||||
"name": "Beer",
|
||||
"model": "Glass",
|
||||
"hw_version": "rev1",
|
||||
"sw_version": "0.1-beta",
|
||||
},
|
||||
}
|
||||
@ -481,6 +484,7 @@ async def test_entity_device_info_with_identifier(hass, mqtt_mock_entry_no_yaml_
|
||||
assert device.manufacturer == "Whatever"
|
||||
assert device.name == "Beer"
|
||||
assert device.model == "Glass"
|
||||
assert device.hw_version == "rev1"
|
||||
assert device.sw_version == "0.1-beta"
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user