99"""
1010
1111import logging
12- from typing import List
12+ from typing import Any , Dict , List , Optional
1313
1414import voluptuous as vol
1515from homeassistant .components .sensor import PLATFORM_SCHEMA
@@ -188,33 +188,33 @@ def state(self):
188188 elif self .kind == "clouds" :
189189 self ._state = int (data .get (ATTR_WEATHER_CLOUDINESS ) * 33.33 )
190190 elif self .kind == "rain" :
191- if data . get ( ATTR_WEATHER_PRECIPITATION_TYPE ) in [ 1 , 3 ]:
192- self . _state = (
191+ self . _state = (
192+ (
193193 data .get (ATTR_WEATHER_PRECIPITATION_AMOUNT )
194194 or PRECIPITATION_AMOUNT [
195195 data .get (ATTR_WEATHER_PRECIPITATION_INTENSITY )
196196 ]
197197 )
198- self . _unit_of_measurement = SENSOR_TYPES [ self . kind ][
199- ATTR_UNIT_OF_MEASUREMENT
200- ]
201- else :
202- self . _state = "not raining"
203- self . _unit_of_measurement = ""
198+ if data . get ( ATTR_WEATHER_PRECIPITATION_TYPE ) in [ 1 , 3 ]
199+ else 0
200+ )
201+ self . _unit_of_measurement = SENSOR_TYPES [ self . kind ][
202+ ATTR_UNIT_OF_MEASUREMENT
203+ ]
204204 elif self .kind == "snow" :
205- if data . get ( ATTR_WEATHER_PRECIPITATION_TYPE ) in [ 2 , 3 ]:
206- self . _state = (
205+ self . _state = (
206+ (
207207 data .get (ATTR_WEATHER_PRECIPITATION_AMOUNT )
208208 or PRECIPITATION_AMOUNT [
209209 data .get (ATTR_WEATHER_PRECIPITATION_INTENSITY )
210210 ]
211211 )
212- self . _unit_of_measurement = SENSOR_TYPES [ self . kind ][
213- ATTR_UNIT_OF_MEASUREMENT
214- ]
215- else :
216- self . _state = "not snowing"
217- self . _unit_of_measurement = ""
212+ if data . get ( ATTR_WEATHER_PRECIPITATION_TYPE ) in [ 2 , 3 ]
213+ else 0
214+ )
215+ self . _unit_of_measurement = SENSOR_TYPES [ self . kind ][
216+ ATTR_UNIT_OF_MEASUREMENT
217+ ]
218218 elif self .kind == "storm" :
219219 self ._state = data .get (ATTR_WEATHER_STORM )
220220 elif self .kind == "geomagnetic" :
@@ -228,22 +228,22 @@ def state(self):
228228 return self ._state
229229
230230 @property
231- def unit_of_measurement (self ):
231+ def unit_of_measurement (self ) -> Optional [ str ] :
232232 """Return the unit of measurement of this entity, if any."""
233233 return self ._unit_of_measurement
234234
235235 @property
236- def icon (self ):
236+ def icon (self ) -> Optional [ str ] :
237237 """Return the icon to use in the frontend, if any."""
238238 return SENSOR_TYPES [self .kind ][ATTR_ICON ]
239239
240240 @property
241- def device_class (self ):
241+ def device_class (self ) -> Optional [ str ] :
242242 """Return the device_class."""
243243 return SENSOR_TYPES [self .kind ][ATTR_DEVICE_CLASS ]
244244
245245 @property
246- def device_state_attributes (self ):
246+ def device_state_attributes (self ) -> Optional [ Dict [ str , Any ]] :
247247 """Return the state attributes."""
248248 attrs = self ._gismeteo .attributes .copy ()
249249 attrs [ATTR_ATTRIBUTION ] = ATTRIBUTION
0 commit comments