Jan Bouwhuis
e15388a2a0
Improve MQTT type hints for dict get assignments ( #83634 )
...
* Improve type hints for dict get assignments
* Move _expire_after as class attr
* Remove extra check
2022-12-09 16:22:36 +01:00
Jan Bouwhuis
7ed1d4988b
Add QoS parameter to MQTT websocket_subscribe ( #83241 )
2022-12-06 09:31:19 +01:00
Jan Bouwhuis
32d68f375b
Add Mqtt WebSockets support ( #82078 )
...
* 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
2022-11-23 15:03:31 +01:00
Jan Bouwhuis
7c2e7863d2
Remove legacy YAML support from MQTT ( #82102 )
2022-11-17 22:55:31 +01:00
Jan Bouwhuis
7500d0c61c
Refactor MQTT_WILL_BIRTH_SCHEMA ( #81879 )
...
* Refactor MQTT_WILL_BIRTH_SCHEMA
* Refactor and move birth/will validation to utils
* Simplify birth will validation
2022-11-10 15:24:56 +01:00
Jan Bouwhuis
2d9f39d406
Strict typing for shared MQTT modules ( #80913 )
...
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-10-26 13:52:34 +02:00
Jan Bouwhuis
5e7f571f01
Move advanced MQTT options to entry ( #79351 )
...
* 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
2022-10-24 09:58:23 +02:00
Jan Bouwhuis
5f27e2fe01
Improve typing hints MQTT __init__ ( #80674 )
...
* Improve typing __init__
* Follow up suggestions
2022-10-21 12:25:21 +02:00
epenet
2c43606922
Add websocket type hints in components ( #80654 )
...
* Add websocket type hints in components
* Adjust
* Apply suggestion
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-10-20 13:41:14 +02:00
epenet
60640b4436
Add websocket type hints in components ( #80533 )
2022-10-18 22:15:23 -04:00
Marc Mueller
4e5b5dfb93
Update pyupgrade to 3.1.0 ( #80058 )
...
* Update pyupgrade to 3.1.0
* Remove redundant open modes - text is the default
2022-10-11 09:04:52 +02:00
Jan Bouwhuis
c5a58c8501
Fix MQTT setup after changing config entry flow options ( #79103 )
...
Fix issues with config flow options
2022-09-27 08:05:28 +02:00
Jan Bouwhuis
81514b0d1c
Move MQTT debug_info to dataclass ( #78788 )
...
* Add MQTT debug_info to dataclass
* Remove total attr, assign factory
* Rename typed dict to MqttDebugInfo and use helper
* Split entity and trigger debug info
* Refactor
* More rework
2022-09-23 20:55:29 +02:00
epenet
e58531f118
Add MqttData helper to mqtt ( #78825 )
...
* Add MqttData helper to mqtt
* Adjust client for circular dependencies
* Move MqttData to models.py
* Move get_mqtt_data to util.py
2022-09-20 19:40:06 +02:00
Jan Bouwhuis
354411feed
Link manually added MQTT entities the the MQTT config entry ( #78547 )
...
Co-authored-by: Erik <erik@montnemery.com>
2022-09-18 12:55:31 -04:00
Jan Bouwhuis
1f410e884a
Make hass.data["mqtt"] an instance of a DataClass ( #77972 )
...
* Use dataclass to reference hass.data globals
* Add discovery_registry_hooks to dataclass
* Move discovery registry hooks to dataclass
* Add device triggers to dataclass
* Cleanup DEVICE_TRIGGERS const
* Add last_discovery to data_class
* Simplify typing for class `Subscription`
* Follow up on comment
* Redo suggested typing change to sasisfy mypy
* Restore typing
* Add mypy version to CI check logging
* revert changes to ci.yaml
* Add docstr for protocol
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
* Mypy update after merging #78399
* Remove mypy ignore
* Correct return type
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-17 21:43:42 +02:00
Jan Bouwhuis
fb67123d77
Clear MQTT discovery topic when a disabled entity is removed ( #77757 )
...
* Cleanup discovery on entity removal
* Add test
* Cleanup and test
* Test with clearing payload not unique id
* Address comments
* Tests cover and typing
* Just pass hass
* reuse code
* Follow up comments revert changes to cover tests
* Add test unique_id has priority over disabled
* Update homeassistant/components/mqtt/__init__.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-09 15:24:26 +02:00
Jan Bouwhuis
2e34814d7a
Fix reload of MQTT config entries ( #76089 )
...
* Wait for unsubscribes
* Spelling comment
* Remove notify_all() during _register_mid()
* Update homeassistant/components/mqtt/client.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Correct handling reload manual set up MQTT items
* Save and restore device trigger subscriptions
* Clarify we are storing all remaining subscriptions
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-02 18:54:20 +02:00
J. Nick Koston
eeb9a9f058
Make sure all discovery flows are using the helper ( #76641 )
2022-08-12 09:25:23 -04:00
Erik Montnemery
9d0a252ca7
Improve handling of MQTT config entry data ( #72691 )
...
* Improve handling of MQTT config entry data
* Add test
* Add warning
* Adjust tests
2022-07-22 13:36:43 +02:00
J. Nick Koston
666f715e76
Avoid importing MQTT into core for ServiceInfo dataclass ( #74418 )
...
* Avoid importing MQTT into core for discovery dataclass
Likely fixes #73863
* relo
* adjust
* rename
* rename
* rename
* adjust missed imports
* drop compat
* fix conflict correctly
* Update homeassistant/helpers/config_entry_flow.py
* fix black from trying to fix the conflict in github
2022-07-14 11:09:09 -05:00
Jan Bouwhuis
5930f056a8
Mqtt support config_entry unload ( #70149 )
...
* squashed commits for rebase
* Flake
* Fix reloading issue manual legacy items
* Improve ACS sync for unsubscribe at disconnect
* Processed review comments
* Update homeassistant/components/mqtt/client.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* No need to await entry setup
* Remove complication is_connected
* Update homeassistant/components/mqtt/__init__.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-07-12 11:07:18 +02:00
J. Nick Koston
cd03c49fc2
Wait for config entry platform forwards ( #73806 )
2022-07-09 17:27:42 +02:00
Erik Montnemery
f05b4a0ca0
Fire event_mqtt_reloaded only after reload is completed ( #74226 )
2022-06-30 10:15:25 -07:00
Erik Montnemery
cd08f1d0c0
Don't attempt to reload MQTT device tracker ( #73577 )
2022-06-20 10:26:50 +02:00
Jan Bouwhuis
57daeaa174
Fix MQTT config schema to ensure correct validation ( #73619 )
...
* Ensure config schema validation
* Use correct schema for device_tracker
* Remove schema validation from the platform setup
* Remove loop to build schema
2022-06-20 08:51:12 +02:00
Jan Bouwhuis
48e3d68b53
Clean up MQTT platform entry setup at discovery ( #72371 )
...
* Setup MQTT discovery with entry setup
* Wait for entry setup in test
* flake
2022-06-13 13:38:53 +02:00
Erik Montnemery
de2fade8c6
Improve MQTT reload performance ( #73313 )
...
* Improve MQTT reload performance
* Update homeassistant/components/mqtt/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/mqtt/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-06-10 14:23:08 +02:00
Erik Montnemery
635d7085cf
Move MQTT config schemas and client to separate modules ( #71995 )
...
* Move MQTT config schemas and client to separate modules
* Update integrations depending on MQTT
2022-05-31 09:32:44 +02:00
Jan Bouwhuis
b7040efef6
Cleanup and use new MQTT_BASE_SCHEMA constants ( #72283 )
...
* Use new MQTT_BASE_SCHEMA constants
* Update constants for mqtt_room and manual_mqtt
* Revert removing platform key
2022-05-30 14:26:01 +02:00
Erik Montnemery
342ccb5bf1
Improve handling of MQTT overridden settings ( #72698 )
...
* Improve handling of MQTT overridden settings
* Don't warn unless config entry overrides yaml
2022-05-30 14:21:20 +02:00
Erik Montnemery
35bc6900ea
Simplify MQTT PLATFORM_CONFIG_SCHEMA_BASE ( #72589 )
2022-05-27 15:09:43 +02:00
Jan Bouwhuis
d092861926
Move manual configuration of MQTT device_tracker to the integration key ( #72493 )
2022-05-26 13:02:39 -07:00
Jan Bouwhuis
d0556e6dd1
Move manual configuration of MQTT sensor to the integration key ( #72276 )
...
Add sensor
2022-05-23 16:29:45 +02:00
Jan Bouwhuis
bc6451bd64
Move manual configuration of MQTT select to the integration key ( #72274 )
...
Add select
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-23 10:08:44 +02:00
Jan Bouwhuis
673f43fbec
Move manual configuration of MQTT scene to the integration key ( #72273 )
...
Add scene
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-23 09:04:03 +02:00
Jan Bouwhuis
eb988f7792
Fix race in MQTT platform setup ( #72344 )
...
Make sure MQTT platforms setup locks discovery
2022-05-23 09:03:30 +02:00
Jan Bouwhuis
c4893f96f6
Move manual configuration of MQTT siren to the integration key ( #72278 )
...
Add siren
2022-05-23 08:08:08 +02:00
Jan Bouwhuis
623abb1147
Move manual configuration of MQTT number to the integration key ( #72272 )
...
Add number
2022-05-23 08:03:09 +02:00
Jan Bouwhuis
4153edbcdd
Move manual configuration of MQTT humidifier to the integration key ( #72270 )
...
Add humidifier
2022-05-22 13:07:49 +02:00
Jan Bouwhuis
3c3e394972
Move manual configuration of MQTT cover to the integration key ( #72268 )
...
Add cover
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-22 13:07:14 +02:00
Jan Bouwhuis
87d895929f
Move manual configuration of MQTT switch to the integration key ( #72279 )
...
Add switch
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-22 13:06:49 +02:00
Jan Bouwhuis
e8664ce1ae
Move manual configuration of MQTT climate to the integration key ( #72251 )
...
Add climate
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-22 11:28:10 +02:00
Jan Bouwhuis
d1afbbfb09
Move manual configuration of MQTT vacuum to the integration key ( #72281 )
...
Add vacuum
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-22 11:27:25 +02:00
Jan Bouwhuis
17669a728c
Move manual configuration of MQTT lock to the integration key ( #72271 )
...
Add lock
2022-05-21 19:07:26 +02:00
Jan Bouwhuis
809808dd80
Move manual configuration of MQTT camera to the integration key ( #72249 )
...
Add camera
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-21 19:04:36 +02:00
Jan Bouwhuis
17588c39a4
Move manual configuration of MQTT binary_sensor to the integration key ( #72183 )
...
Add binary_sensor
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-21 16:14:24 +02:00
Jan Bouwhuis
3918059033
Move manual configuration of MQTT button to the integration key ( #72167 )
...
Add button
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-21 09:54:51 +02:00
Jan Bouwhuis
654b095498
Move manual configuration of MQTT alarm control panel to the integration key ( #72165 )
...
Add alarm_control_panel
2022-05-20 08:37:53 +02:00
Jan Bouwhuis
ed1c2ea2b8
Move manual configuration of MQTT fan and light to the integration key ( #71676 )
...
* Processing yaml config through entry setup
* Setup all platforms
* Update homeassistant/components/mqtt/__init__.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* adjust mock_mqtt - reference config from cache
* Fix test config entry override
* Add tests yaml setup
* additional tests
* Introduce PLATFORM_SCHEMA_MODERN
* recover temporary MQTT_BASE_PLATFORM_SCHEMA
* Allow extra key in light base schema, restore test
* Fix test for exception on platform key
* One deprecation message per platform
* Remove deprecation checks from modern schema
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/light/__init__.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/light/__init__.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/light/schema_json.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/light/schema_template.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* rename validate_modern_schema
* Do not fail platform if a single config is broken
* Update homeassistant/components/mqtt/__init__.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Fix tests on asserting log
* Update log. Make helper transparant, remove patch
* Perform parallel processing
* Update tests/components/mqtt/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* black
* Fix tests and add #new_format anchor
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-19 15:04:53 +02:00