Add diagnostics to Nanoleaf (#64835)

This commit is contained in:
Joakim Sørensen 2022-01-24 14:15:05 +01:00 committed by GitHub
parent f23af3455e
commit 7c1eabadfa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 46 additions and 0 deletions

View File

@ -716,6 +716,7 @@ omit =
homeassistant/components/nad/media_player.py homeassistant/components/nad/media_player.py
homeassistant/components/nanoleaf/__init__.py homeassistant/components/nanoleaf/__init__.py
homeassistant/components/nanoleaf/button.py homeassistant/components/nanoleaf/button.py
homeassistant/components/nanoleaf/diagnostics.py
homeassistant/components/nanoleaf/entity.py homeassistant/components/nanoleaf/entity.py
homeassistant/components/nanoleaf/light.py homeassistant/components/nanoleaf/light.py
homeassistant/components/neato/__init__.py homeassistant/components/neato/__init__.py

View File

@ -0,0 +1,45 @@
"""Diagnostics support for Nanoleaf."""
from __future__ import annotations
from aionanoleaf import Nanoleaf
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_TOKEN
from homeassistant.core import HomeAssistant
from .const import DOMAIN
async def async_get_config_entry_diagnostics(
hass: HomeAssistant,
config_entry: ConfigEntry,
) -> dict:
"""Return diagnostics for a config entry."""
device: Nanoleaf = hass.data[DOMAIN][config_entry.entry_id].device
return {
"info": async_redact_data(config_entry.as_dict(), (CONF_TOKEN, "title")),
"data": {
"brightness_max": device.brightness_max,
"brightness_min": device.brightness_min,
"brightness": device.brightness,
"color_mode": device.color_mode,
"color_temperature_max": device.color_temperature_max,
"color_temperature_min": device.color_temperature_min,
"color_temperature": device.color_temperature,
"effect": device.effect,
"effects_list": device.effects_list,
"firmware_version": device.firmware_version,
"hue_max": device.hue_max,
"hue_min": device.hue_min,
"hue": device.hue,
"is_on": device.is_on,
"manufacturer": device.manufacturer,
"port": device.port,
"saturation_max": device.saturation_max,
"saturation_min": device.saturation_min,
"saturation": device.saturation,
"serial_no": device.serial_no,
},
}