* Remove unnecessary exception re-wraps
* Preserve exception chains on re-raise
We slap "from cause" to almost all possible cases here. In some cases it
could conceivably be better to do "from None" if we really want to hide
the cause. However those should be in the minority, and "from cause"
should be an improvement over the corresponding raise without a "from"
in all cases anyway.
The only case where we raise from None here is in plex, where the
exception for an original invalid SSL cert is not the root cause for
failure to validate a newly fetched one.
Follow local convention on exception variable names if there is a
consistent one, otherwise `err` to match with majority of codebase.
* Fix mistaken re-wrap in homematicip_cloud/hap.py
Missed the difference between HmipConnectionError and
HmipcConnectionError.
* Do not hide original error on plex new cert validation error
Original is not the cause for the new one, but showing old in the
traceback is useful nevertheless.
* Use f-strings in integrations starting with "M"
* Format mqtt light init with black
* Fix lint error
* Fix pylint error
* Restore constants
* Update homeassistant/components/mqtt/discovery.py
* Update homeassistant/components/mqtt/discovery.py
* Update homeassistant/components/mqtt/discovery.py
* Update homeassistant/components/mqtt/discovery.py
* Format with Black
* Try to make the process more readable and paritioned.
* Validate child values using set message.
* Only validate using relevant schemas.
* Extract node validation.
* Rework const types and schemas.
* Rework child validator.
* Enhance warning logging message.
* Refactor mysensors message handling
* Add handler module and register handlers per message type or message
sub-type. This will allow easier extension of message handling in the
future.
* Move some common functions to a helpers module.
* Add node handler and signal
* Fix inconsistent return
* Upgrade pymysensors to 0.18.0
* Fix bug in message modification.
* Fix mysensors connection task blocking setup
* Schedule the connection task without having the core track the task
to avoid blocking setup.
* Cancel the connection task, if not cancelled already, when
home assistant stops.
* Use done instead of cancelled