Skip to content

Commit

Permalink
Fix missing Netatmo sensors (#28899)
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
cgtobi authored and pvizeli committed Nov 21, 2019
1 parent c7c7a9a commit 86e581b
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 13 deletions.
2 changes: 1 addition & 1 deletion homeassistant/components/netatmo/__init__.py
Expand Up @@ -259,4 +259,4 @@ def update(self):
@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)
4 changes: 2 additions & 2 deletions homeassistant/components/netatmo/manifest.json
Expand Up @@ -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": []
}
}
24 changes: 15 additions & 9 deletions homeassistant/components/netatmo/sensor.py
Expand Up @@ -155,14 +155,12 @@ def find_devices(data):
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

Expand Down Expand Up @@ -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}"

Expand Down
2 changes: 1 addition & 1 deletion requirements_all.txt
Expand Up @@ -1115,7 +1115,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
Expand Down

0 comments on commit 86e581b

Please sign in to comment.