Add configuration_url to Netatmo devices (#58160)

This commit is contained in:
Tobias Sauerwein 2021-10-22 11:14:28 +02:00 committed by GitHub
parent 70469e0979
commit 83e45300c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 30 additions and 7 deletions

View file

@ -36,6 +36,7 @@ from .const import (
SERVICE_SET_PERSON_AWAY,
SERVICE_SET_PERSONS_HOME,
SIGNAL_NAME,
TYPE_SECURITY,
WEBHOOK_LIGHT_MODE,
WEBHOOK_NACAMERA_CONNECTION,
WEBHOOK_PUSH_TYPE,
@ -135,6 +136,7 @@ class NetatmoCamera(NetatmoBase, Camera):
self._device_name = self._data.get_camera(camera_id=camera_id)["name"]
self._attr_name = f"{MANUFACTURER} {self._device_name}"
self._model = camera_type
self._netatmo_type = TYPE_SECURITY
self._attr_unique_id = f"{self._id}-{self._model}"
self._quality = quality
self._vpnurl: str | None = None

View file

@ -52,6 +52,7 @@ from .const import (
MANUFACTURER,
SERVICE_SET_SCHEDULE,
SIGNAL_NAME,
TYPE_ENERGY,
)
from .data_handler import (
HOMEDATA_DATA_CLASS_NAME,
@ -209,6 +210,8 @@ class NetatmoThermostat(NetatmoBase, ClimateEntity):
self._model = NA_THERM
break
self._netatmo_type = TYPE_ENERGY
self._device_name = self._data.rooms[home_id][room_id]["name"]
self._attr_name = f"{MANUFACTURER} {self._device_name}"
self._current_temperature: float | None = None

View file

@ -45,6 +45,10 @@ MODELS = {
"public": MODEL_PUBLIC,
}
TYPE_SECURITY = "security"
TYPE_ENERGY = "energy"
TYPE_WEATHER = "weather"
AUTH = "netatmo_auth"
CONF_PUBLIC = "public_sensor_config"
CAMERA_DATA = "netatmo_camera"

View file

@ -19,6 +19,7 @@ from .const import (
EVENT_TYPE_LIGHT_MODE,
MANUFACTURER,
SIGNAL_NAME,
TYPE_SECURITY,
WEBHOOK_LIGHT_MODE,
WEBHOOK_PUSH_TYPE,
)
@ -88,6 +89,7 @@ class NetatmoLight(NetatmoBase, LightEntity):
self._id = camera_id
self._home_id = home_id
self._model = camera_type
self._netatmo_type = TYPE_SECURITY
self._device_name: str = self._data.get_camera(camera_id)["name"]
self._attr_name = f"{MANUFACTURER} {self._device_name}"
self._is_on = False

View file

@ -28,6 +28,7 @@ class NetatmoBase(Entity):
self._device_name: str = ""
self._id: str = ""
self._model: str = ""
self._netatmo_type: str = ""
self._attr_name = None
self._attr_unique_id = None
self._attr_extra_state_attributes = {ATTR_ATTRIBUTION: DEFAULT_ATTRIBUTION}
@ -91,9 +92,10 @@ class NetatmoBase(Entity):
@property
def device_info(self) -> DeviceInfo:
"""Return the device info for the sensor."""
return {
"identifiers": {(DOMAIN, self._id)},
"name": self._device_name,
"manufacturer": MANUFACTURER,
"model": MODELS[self._model],
}
return DeviceInfo(
configuration_url=f"https://my.netatmo.com/app/{self._netatmo_type}",
identifiers={(DOMAIN, self._id)},
name=self._device_name,
manufacturer=MANUFACTURER,
model=MODELS[self._model],
)

View file

@ -20,6 +20,7 @@ from .const import (
EVENT_TYPE_SCHEDULE,
MANUFACTURER,
SIGNAL_NAME,
TYPE_ENERGY,
)
from .data_handler import HOMEDATA_DATA_CLASS_NAME, NetatmoDataHandler
from .helper import get_all_home_ids, update_climate_schedules
@ -87,6 +88,7 @@ class NetatmoScheduleSelect(NetatmoBase, SelectEntity):
self._attr_name = f"{MANUFACTURER} {self._device_name}"
self._model: str = "NATherm1"
self._netatmo_type = TYPE_ENERGY
self._attr_unique_id = f"{self._home_id}-schedule-select"

View file

@ -42,7 +42,14 @@ from homeassistant.helpers.dispatcher import (
)
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import CONF_WEATHER_AREAS, DATA_HANDLER, DOMAIN, MANUFACTURER, SIGNAL_NAME
from .const import (
CONF_WEATHER_AREAS,
DATA_HANDLER,
DOMAIN,
MANUFACTURER,
SIGNAL_NAME,
TYPE_WEATHER,
)
from .data_handler import (
HOMECOACH_DATA_CLASS_NAME,
PUBLICDATA_DATA_CLASS_NAME,
@ -492,6 +499,7 @@ class NetatmoSensor(NetatmoBase, SensorEntity):
self._attr_name = f"{MANUFACTURER} {self._device_name} {description.name}"
self._model = device["type"]
self._netatmo_type = TYPE_WEATHER
self._attr_unique_id = f"{self._id}-{description.key}"
@property