mirror of
https://github.com/home-assistant/core.git
synced 2025-07-14 16:57:10 +00:00
Fixed the Wind sensor following new release of netatmo-api-python (#8030)
* Fixed the Wind sensor following new release of netatmo-api-python The NetAtmo PR was at: https://github.com/jabesq/netatmo-api-python/pull/5 Essentially, this commit adds a protection when adding an incorrect monitored conditions to avoid to fail the entire NetAtmo component, plus for consistency reasons all conditions are now in lower case. * Fixes following the CI tests
This commit is contained in:
parent
74cc675a38
commit
09ca440c20
@ -18,7 +18,7 @@ from homeassistant.util import Throttle
|
|||||||
|
|
||||||
REQUIREMENTS = [
|
REQUIREMENTS = [
|
||||||
'https://github.com/jabesq/netatmo-api-python/archive/'
|
'https://github.com/jabesq/netatmo-api-python/archive/'
|
||||||
'v0.9.1.zip#lnetatmo==0.9.1']
|
'v0.9.2.zip#lnetatmo==0.9.2']
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
@ -41,12 +41,12 @@ SENSOR_TYPES = {
|
|||||||
'battery_lvl': ['Battery_lvl', '', 'mdi:battery'],
|
'battery_lvl': ['Battery_lvl', '', 'mdi:battery'],
|
||||||
'min_temp': ['Min Temp.', TEMP_CELSIUS, 'mdi:thermometer'],
|
'min_temp': ['Min Temp.', TEMP_CELSIUS, 'mdi:thermometer'],
|
||||||
'max_temp': ['Max Temp.', TEMP_CELSIUS, 'mdi:thermometer'],
|
'max_temp': ['Max Temp.', TEMP_CELSIUS, 'mdi:thermometer'],
|
||||||
'WindAngle': ['Angle', '', 'mdi:compass'],
|
'windangle': ['Angle', '', 'mdi:compass'],
|
||||||
'WindAngle_value': ['Angle Value', 'º', 'mdi:compass'],
|
'windangle_value': ['Angle Value', 'º', 'mdi:compass'],
|
||||||
'WindStrength': ['Strength', 'km/h', 'mdi:weather-windy'],
|
'windstrength': ['Strength', 'km/h', 'mdi:weather-windy'],
|
||||||
'GustAngle': ['Gust Angle', '', 'mdi:compass'],
|
'gustangle': ['Gust Angle', '', 'mdi:compass'],
|
||||||
'GustAngle_value': ['Gust Angle Value', 'º', 'mdi:compass'],
|
'gustangle_value': ['Gust Angle Value', 'º', 'mdi:compass'],
|
||||||
'GustStrength': ['Gust Strength', 'km/h', 'mdi:weather-windy'],
|
'guststrength': ['Gust Strength', 'km/h', 'mdi:weather-windy'],
|
||||||
'rf_status': ['Radio', '', 'mdi:signal'],
|
'rf_status': ['Radio', '', 'mdi:signal'],
|
||||||
'rf_status_lvl': ['Radio_lvl', '', 'mdi:signal'],
|
'rf_status_lvl': ['Radio_lvl', '', 'mdi:signal'],
|
||||||
'wifi_status': ['Wifi', '', 'mdi:wifi'],
|
'wifi_status': ['Wifi', '', 'mdi:wifi'],
|
||||||
@ -87,7 +87,11 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
for module_name in data.get_module_names():
|
for module_name in data.get_module_names():
|
||||||
for variable in\
|
for variable in\
|
||||||
data.station_data.monitoredConditions(module_name):
|
data.station_data.monitoredConditions(module_name):
|
||||||
|
if variable in SENSOR_TYPES.keys():
|
||||||
dev.append(NetAtmoSensor(data, module_name, variable))
|
dev.append(NetAtmoSensor(data, module_name, variable))
|
||||||
|
else:
|
||||||
|
_LOGGER.warning("Ignoring unknown var %s for mod %s",
|
||||||
|
variable, module_name)
|
||||||
except lnetatmo.NoDevice:
|
except lnetatmo.NoDevice:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
@ -214,51 +218,51 @@ class NetAtmoSensor(Entity):
|
|||||||
self._state = data['min_temp']
|
self._state = data['min_temp']
|
||||||
elif self.type == 'max_temp':
|
elif self.type == 'max_temp':
|
||||||
self._state = data['max_temp']
|
self._state = data['max_temp']
|
||||||
elif self.type == 'WindAngle_value':
|
elif self.type == 'windangle_value':
|
||||||
self._state = data['WindAngle']
|
self._state = data['WindAngle']
|
||||||
elif self.type == 'WindAngle':
|
elif self.type == 'windangle':
|
||||||
if data['WindAngle'] >= 330:
|
if data['WindAngle'] >= 330:
|
||||||
self._state = "North (%d\xb0)" % data['WindAngle']
|
self._state = "N (%d\xb0)" % data['WindAngle']
|
||||||
elif data['WindAngle'] >= 300:
|
elif data['WindAngle'] >= 300:
|
||||||
self._state = "North-West (%d\xb0)" % data['WindAngle']
|
self._state = "NW (%d\xb0)" % data['WindAngle']
|
||||||
elif data['WindAngle'] >= 240:
|
elif data['WindAngle'] >= 240:
|
||||||
self._state = "West (%d\xb0)" % data['WindAngle']
|
self._state = "W (%d\xb0)" % data['WindAngle']
|
||||||
elif data['WindAngle'] >= 210:
|
elif data['WindAngle'] >= 210:
|
||||||
self._state = "South-West (%d\xb0)" % data['WindAngle']
|
self._state = "SW (%d\xb0)" % data['WindAngle']
|
||||||
elif data['WindAngle'] >= 150:
|
elif data['WindAngle'] >= 150:
|
||||||
self._state = "South (%d\xb0)" % data['WindAngle']
|
self._state = "S (%d\xb0)" % data['WindAngle']
|
||||||
elif data['WindAngle'] >= 120:
|
elif data['WindAngle'] >= 120:
|
||||||
self._state = "South-East (%d\xb0)" % data['WindAngle']
|
self._state = "SE (%d\xb0)" % data['WindAngle']
|
||||||
elif data['WindAngle'] >= 60:
|
elif data['WindAngle'] >= 60:
|
||||||
self._state = "East (%d\xb0)" % data['WindAngle']
|
self._state = "E (%d\xb0)" % data['WindAngle']
|
||||||
elif data['WindAngle'] >= 30:
|
elif data['WindAngle'] >= 30:
|
||||||
self._state = "North-East (%d\xb0)" % data['WindAngle']
|
self._state = "NE (%d\xb0)" % data['WindAngle']
|
||||||
elif data['WindAngle'] >= 0:
|
elif data['WindAngle'] >= 0:
|
||||||
self._state = "North (%d\xb0)" % data['WindAngle']
|
self._state = "N (%d\xb0)" % data['WindAngle']
|
||||||
elif self.type == 'WindStrength':
|
elif self.type == 'windstrength':
|
||||||
self._state = data['WindStrength']
|
self._state = data['WindStrength']
|
||||||
elif self.type == 'GustAngle_value':
|
elif self.type == 'gustangle_value':
|
||||||
self._state = data['GustAngle']
|
self._state = data['GustAngle']
|
||||||
elif self.type == 'GustAngle':
|
elif self.type == 'gustangle':
|
||||||
if data['GustAngle'] >= 330:
|
if data['GustAngle'] >= 330:
|
||||||
self._state = "North (%d\xb0)" % data['GustAngle']
|
self._state = "N (%d\xb0)" % data['GustAngle']
|
||||||
elif data['GustAngle'] >= 300:
|
elif data['GustAngle'] >= 300:
|
||||||
self._state = "North-West (%d\xb0)" % data['GustAngle']
|
self._state = "NW (%d\xb0)" % data['GustAngle']
|
||||||
elif data['GustAngle'] >= 240:
|
elif data['GustAngle'] >= 240:
|
||||||
self._state = "West (%d\xb0)" % data['GustAngle']
|
self._state = "W (%d\xb0)" % data['GustAngle']
|
||||||
elif data['GustAngle'] >= 210:
|
elif data['GustAngle'] >= 210:
|
||||||
self._state = "South-West (%d\xb0)" % data['GustAngle']
|
self._state = "SW (%d\xb0)" % data['GustAngle']
|
||||||
elif data['GustAngle'] >= 150:
|
elif data['GustAngle'] >= 150:
|
||||||
self._state = "South (%d\xb0)" % data['GustAngle']
|
self._state = "S (%d\xb0)" % data['GustAngle']
|
||||||
elif data['GustAngle'] >= 120:
|
elif data['GustAngle'] >= 120:
|
||||||
self._state = "South-East (%d\xb0)" % data['GustAngle']
|
self._state = "SE (%d\xb0)" % data['GustAngle']
|
||||||
elif data['GustAngle'] >= 60:
|
elif data['GustAngle'] >= 60:
|
||||||
self._state = "East (%d\xb0)" % data['GustAngle']
|
self._state = "E (%d\xb0)" % data['GustAngle']
|
||||||
elif data['GustAngle'] >= 30:
|
elif data['GustAngle'] >= 30:
|
||||||
self._state = "North-East (%d\xb0)" % data['GustAngle']
|
self._state = "NE (%d\xb0)" % data['GustAngle']
|
||||||
elif data['GustAngle'] >= 0:
|
elif data['GustAngle'] >= 0:
|
||||||
self._state = "North (%d\xb0)" % data['GustAngle']
|
self._state = "N (%d\xb0)" % data['GustAngle']
|
||||||
elif self.type == 'GustStrength':
|
elif self.type == 'guststrength':
|
||||||
self._state = data['GustStrength']
|
self._state = data['GustStrength']
|
||||||
elif self.type == 'rf_status_lvl':
|
elif self.type == 'rf_status_lvl':
|
||||||
self._state = data['rf_status']
|
self._state = data['rf_status']
|
||||||
|
@ -283,7 +283,7 @@ https://github.com/aparraga/braviarc/archive/0.3.7.zip#braviarc==0.3.7
|
|||||||
https://github.com/happyleavesaoc/spotipy/archive/544614f4b1d508201d363e84e871f86c90aa26b2.zip#spotipy==2.4.4
|
https://github.com/happyleavesaoc/spotipy/archive/544614f4b1d508201d363e84e871f86c90aa26b2.zip#spotipy==2.4.4
|
||||||
|
|
||||||
# homeassistant.components.netatmo
|
# homeassistant.components.netatmo
|
||||||
https://github.com/jabesq/netatmo-api-python/archive/v0.9.1.zip#lnetatmo==0.9.1
|
https://github.com/jabesq/netatmo-api-python/archive/v0.9.2.zip#lnetatmo==0.9.2
|
||||||
|
|
||||||
# homeassistant.components.neato
|
# homeassistant.components.neato
|
||||||
https://github.com/jabesq/pybotvac/archive/v0.0.3.zip#pybotvac==0.0.3
|
https://github.com/jabesq/pybotvac/archive/v0.0.3.zip#pybotvac==0.0.3
|
||||||
|
Loading…
x
Reference in New Issue
Block a user