From 537a76d04950330336a5e19c080b2c9c9f35fdb7 Mon Sep 17 00:00:00 2001 From: Joost Lekkerkerker Date: Sun, 21 Jul 2024 08:41:42 +0200 Subject: [PATCH] Add model id to airgradient (#122271) --- homeassistant/components/airgradient/__init__.py | 11 +++++++---- tests/components/airgradient/snapshots/test_init.ambr | 8 ++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/airgradient/__init__.py b/homeassistant/components/airgradient/__init__.py index fe01d239f3c..69f1e70c6af 100644 --- a/homeassistant/components/airgradient/__init__.py +++ b/homeassistant/components/airgradient/__init__.py @@ -4,7 +4,7 @@ from __future__ import annotations from dataclasses import dataclass -from airgradient import AirGradientClient +from airgradient import AirGradientClient, get_model_name from homeassistant.config_entries import ConfigEntry from homeassistant.const import CONF_HOST, Platform @@ -35,7 +35,7 @@ class AirGradientData: type AirGradientConfigEntry = ConfigEntry[AirGradientData] -async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: +async def async_setup_entry(hass: HomeAssistant, entry: AirGradientConfigEntry) -> bool: """Set up Airgradient from a config entry.""" client = AirGradientClient( @@ -53,7 +53,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: config_entry_id=entry.entry_id, identifiers={(DOMAIN, measurement_coordinator.serial_number)}, manufacturer="AirGradient", - model=measurement_coordinator.data.model, + model=get_model_name(measurement_coordinator.data.model), + model_id=measurement_coordinator.data.model, serial_number=measurement_coordinator.data.serial_number, sw_version=measurement_coordinator.data.firmware_version, ) @@ -68,6 +69,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: return True -async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: +async def async_unload_entry( + hass: HomeAssistant, entry: AirGradientConfigEntry +) -> bool: """Unload a config entry.""" return await hass.config_entries.async_unload_platforms(entry, PLATFORMS) diff --git a/tests/components/airgradient/snapshots/test_init.ambr b/tests/components/airgradient/snapshots/test_init.ambr index 3c4cea48ff2..e47c5b38bbc 100644 --- a/tests/components/airgradient/snapshots/test_init.ambr +++ b/tests/components/airgradient/snapshots/test_init.ambr @@ -20,8 +20,8 @@ 'labels': set({ }), 'manufacturer': 'AirGradient', - 'model': 'I-9PSL', - 'model_id': None, + 'model': 'AirGradient ONE', + 'model_id': 'I-9PSL', 'name': 'Airgradient', 'name_by_user': None, 'primary_config_entry': , @@ -52,8 +52,8 @@ 'labels': set({ }), 'manufacturer': 'AirGradient', - 'model': 'O-1PPT', - 'model_id': None, + 'model': 'AirGradient Open Air', + 'model_id': 'O-1PPT', 'name': 'Airgradient', 'name_by_user': None, 'primary_config_entry': ,