From dba87fd2e1cff8d3308ab02b470ac8cfdf09f515 Mon Sep 17 00:00:00 2001 From: cgtobi Date: Thu, 21 Nov 2019 17:35:03 +0100 Subject: [PATCH] Fix missing Netatmo sensors (#28899) * Update pyatmo to 3.0.1 * Improve sensor name * Fix missing sensors * Update pyatmo module * Update pyatmo to 3.1.0 * Update requirements * Fix method call --- homeassistant/components/netatmo/__init__.py | 2 +- .../components/netatmo/manifest.json | 4 ++-- homeassistant/components/netatmo/sensor.py | 24 ++++++++++++------- requirements_all.txt | 2 +- 4 files changed, 19 insertions(+), 13 deletions(-) diff --git a/homeassistant/components/netatmo/__init__.py b/homeassistant/components/netatmo/__init__.py index 4b9f0690ac5..de371f97e28 100644 --- a/homeassistant/components/netatmo/__init__.py +++ b/homeassistant/components/netatmo/__init__.py @@ -259,4 +259,4 @@ class CameraData: @Throttle(MIN_TIME_BETWEEN_EVENT_UPDATES) def update_event(self): """Call the Netatmo API to update the events.""" - self.camera_data.updateEvent(home=self.home, cameratype=self.camera_type) + self.camera_data.updateEvent(home=self.home, devicetype=self.camera_type) diff --git a/homeassistant/components/netatmo/manifest.json b/homeassistant/components/netatmo/manifest.json index 9d1178d9d17..232e99eeae8 100644 --- a/homeassistant/components/netatmo/manifest.json +++ b/homeassistant/components/netatmo/manifest.json @@ -3,10 +3,10 @@ "name": "Netatmo", "documentation": "https://www.home-assistant.io/integrations/netatmo", "requirements": [ - "pyatmo==3.0.1" + "pyatmo==3.1.0" ], "dependencies": [ "webhook" ], "codeowners": [] -} +} \ No newline at end of file diff --git a/homeassistant/components/netatmo/sensor.py b/homeassistant/components/netatmo/sensor.py index f76062035d2..fa7aedae739 100644 --- a/homeassistant/components/netatmo/sensor.py +++ b/homeassistant/components/netatmo/sensor.py @@ -155,14 +155,12 @@ def setup_platform(hass, config, add_entities, discovery_info=None): for module in all_module_infos.values(): if module["module_name"] not in module_names: continue + _LOGGER.debug( + "Adding module %s %s", module["module_name"], module["id"] + ) for condition in data.station_data.monitoredConditions( moduleId=module["id"] ): - _LOGGER.debug( - "Adding %s %s", - module["module_name"], - data.station_data.moduleById(mid=module["id"]), - ) entities.append(NetatmoSensor(data, module, condition.lower())) return entities @@ -200,18 +198,26 @@ class NetatmoSensor(Entity): def __init__(self, netatmo_data, module_info, sensor_type): """Initialize the sensor.""" self.netatmo_data = netatmo_data - module = self.netatmo_data.station_data.moduleById(mid=module_info["id"]) - if module["type"] == "NHC": + + device = self.netatmo_data.station_data.moduleById(mid=module_info["id"]) + if not device: + # Assume it's a station if module can't be found + device = self.netatmo_data.station_data.stationById(sid=module_info["id"]) + + if device["type"] == "NHC": self.module_name = module_info["station_name"] else: - self.module_name = module_info["module_name"] + self.module_name = ( + f"{module_info['station_name']} {module_info['module_name']}" + ) + self._name = f"{DOMAIN} {self.module_name} {SENSOR_TYPES[sensor_type][0]}" self.type = sensor_type self._state = None self._device_class = SENSOR_TYPES[self.type][3] self._icon = SENSOR_TYPES[self.type][2] self._unit_of_measurement = SENSOR_TYPES[self.type][1] - self._module_type = module["type"] + self._module_type = device["type"] self._module_id = module_info["id"] self._unique_id = f"{self._module_id}-{self.type}" diff --git a/requirements_all.txt b/requirements_all.txt index 833a4d47105..2b7255b09fa 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1105,7 +1105,7 @@ pyalmond==0.0.2 pyarlo==0.2.3 # homeassistant.components.netatmo -pyatmo==3.0.1 +pyatmo==3.1.0 # homeassistant.components.atome pyatome==0.1.1