* Raise ConfigEntryNotReady for connection exception
Raise ConfigEntryNotReady for the connection exception like if the MQTT Server container/device is being restarted or was unavailable on boot.
* Add new exception
* grammar fix
* Possibly resolve hound comments
* raise `ConfigEntryNotReady` for mqtt connection error
* revert exceptions.py
* Update exceptions.py
* modify test to handle exception
* use constants to control exception scope
* Raise ConfigEntryNotReady for connection exception
Raise ConfigEntryNotReady for the connection exception like if the MQTT Server container/device is being restarted or was unavailable on boot.
* Add new exception
* Add new exception
* grammar fix
* Possibly resolve hound comments
* raise `ConfigEntryNotReady` for mqtt connection error
* revert exceptions.py
* Update exceptions.py
* modify test to handle exception
* use constants to control exception scope
* revert test change as it's not the same thing
* Update test_init.py
* Add test for MQTT OSError
* revert file changes from a bad rebase
* Rewrite test with valid syntax
* rewrite test to be less ambiguous
* add empty line
* add back 'axis'
* Remove empty line
* Update tests and undo merge from earlier
* correctly restore test for no connect broker
* fix test mock correctly
* line was too long. hit enter.
* Deprecated http.api_password
* Deprecated ApiConfig.api_password
GitHub Drafted PR would trigger CI after changed it to normal PR.
I have to commit a comment change to trigger it
* Trigger CI
* Adjust if- elif chain in auth middleware
* Restore states through a JSON store
* Accept entity_id directly in restore state helper
* Keep states stored between runs for a limited time
* Remove warning
* Recreate component if discovery info is changed
* Update component instead of remove+add
* Set name and unique_id in __init__
* Update unit test
* Cleanup
* More cleanup
* Refactor according to review comments
* Change discovery_hash
* Review comments, add tests
* Fix handling of value_template
## Description:
More fixes flagged by pylint 2 that don't hurt to have before the actual pylint 2 upgrade (which I'll submit soon).
## Checklist:
- [ ] The code change is tested and works locally.
- [x] Local tests pass with `tox`. **Your PR cannot be merged unless tests pass**
* MQTT Typing
* Tiny style change
* Fixes
I should've probably really sticked to limiting myself to static typing...
* Small fix 😩
Ok, this seriously shouldn't have happened.
* Fix MQTT retained message not being re-dispatched
* Fix tests
* Use paho-mqtt for retained messages
* Improve code style
* Store list of subscribers
* Fix lint error
* Adhere to Home Assistant's logging standard
"Try to avoid brackets and additional quotes around the output to make it easier for users to parse the log."
- https://home-assistant.io/developers/development_guidelines/
* Add reconnect tests
* Fix lint error
* Introduce Subscription
Tests still need to be updated
* Use namedtuple for MQTT messages
... And fix issues
Accessing the config manually at runtime isn't ideal
* Fix MQTT __init__.py tests
* Updated usage of Mocks
* Moved tests that were testing subscriptions out of the MQTTComponent test, because of how mock.patch was used
* Adjusted the remaining tests for the MQTT clients new behavior - e.g. self.progress was removed
* Updated the async_fire_mqtt_message helper
* ✅ Update MQTT tests
* Re-introduce the MQTT subscriptions through the dispatcher for tests - quite ugly though... 🚧
* Update fixtures to use our new MQTT mock 🎨
* 📝 Update base code according to comments
* 🔨 Adjust MQTT test base
* 🔨 Update other MQTT tests
* 🍎 Fix carriage return in source files
Apparently test_mqtt_json.py and test_mqtt_template.py were written on Windows. In order to not mess up the diff, I'll just redo the carriage return.
* 🎨 Remove unused import
* 📝 Remove fire_mqtt_client_message
* 🐛 Fix using python 3.6 method
What's very interesting is that 3.4 didn't fail on travis...
* 🐛 Fix using assert directly