* Fast & efficient updates for ZAMG weather data
ZAMG updates on the hour, so instead of checking every half-hour we can
check each minute - only after the observations are taken until
receiving them.
* sensor.zamg: test instead of whitelist for station_id
* Autodetect closest ZAMG station if not given
* ZAMG weather component, based on the sensor
* Review improvements
* Update to new ZAMG schema, add logging
Turns out it wasn't a typo, but rather an upstream schema change. Added
better error handling to ease diagnosis in case it happens again.
* No hardcoded name
* Added forecast functionality to the weather platform, updated OWM to get forecast data
* style fixes
* Changed returned forecast data to a more managable dict
* Fixed line length
* forecast will always be collected, data returned from owm is based on metric setting
* use list comprehension to create the forecast data
* Added forecast data to the weather demo
* Create dict directly in list comprehension
* Minor variable change in weather demo platform
* Convert forecast temperatures in weather component
* set forecast attributes as constants
* Style fixes and tests
* Copied forecast_entry instead of mutating data
* Fix typo
* Auto-config for `sensor.bom`
Deprecate (but still support) the old two-part station ID, and move to a
single `station` identifier. Any combination of these, including none,
is valid; most results in downloading and caching the station map to
work out any missing info.
* Add `weather.bom` platform
Very similar to `sensor.bom`, but supporting the lovely new `weather`
component interface. Easier to configure, and does not support the
deprecated config options.
* Review improvements to BOM weather
Largely around better input validation.
* Climate: more consistent units
* Prevent unnecessary conversion in entity component
* int -> round
* Disable Google tests because they connect to the internet
* Remove default conversion rounding F->C
* Add rounding of temp to weather comp
* Fix equality
* Maintain precision when converting temp in entity
* Revert "Disable Google tests because they connect to the internet"
This reverts commit b60485dc19.