* Add mqtt image platform
* Follow up comments
* Use separate topics
* Set last_ image to `None` on error
* Fix encoding and schema validation
* Assing None to last_image when get image fails
* Follow up comment
* Remove content_type validation
* Add validation
* Rename options according suggestions
* Remove url_topic / template feature from PR
* Always set content_type
* Add Water Heater entity to MQTT
* Adding tests for Water Heater
* Remove duplicate line and unneeded var declaration
* Remove target temp range and away mode
* Move common Temperature Control conf to const
* Remove unnecessary platform schema and temp check
* Add common value template key test
* Use MqttTemperatureControl in Water Heater
* Move operation mode out of MqttTemperatureControl
* Remove unecessary attribute declaration
* Remove default min/max temp and auto init attr
* Fix mqtt water heater initial temp conversion
* Make async_set_temperature common
* Fix init temp comment
* Merge value_template_keys into get_with_templates
* Remove unnecessary operation_mode overriding
* Add async_set_temperature to water heater
* Fix docstring comments
* Cleanup config merging and adding defaults
* Optimize and update tests
* Do not mix entry and yaml config
* Make sure hass.data is initilized
* remove check on get_mqtt_data
* Tweaks to MQTT client
* Remove None assigment mqtt client and fix mock
* Add Mqtt WebSockets support
* Fix tests
* Add testing websockets options
* Add tests transport settings
* Do not use templates for ws_headers
* Use json helper - small corrections
* Move advanced broker settings to entry
* Add repair issue for deprecated settings
* Split CONFIG_SCHEMA
* Do not store certificate UI flags in entry
* Keep entered password in next dialog
* Do not process yaml config in flow
* Correct typo
* Ensure config schema validation
* Use correct schema for device_tracker
* Remove schema validation from the platform setup
* Remove loop to build schema