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
epenet
141688e210
Cleanup ServiceInfo compatibility ( #60540 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-05-09 14:17:48 +02:00
Erik Montnemery
9b21a48048
Mend incorrectly imported MQTT config entries ( #68987 )
...
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-04-01 08:11:31 -07:00
Marc Mueller
911b159281
Cleanup after pylint update ( #68657 )
2022-03-26 00:34:12 +01:00
Jan Bouwhuis
5afe8fd2db
Revert "Add MQTT notify platform ( #64728 )" ( #68505 )
...
This reverts commit e574a3ef1d
.
2022-03-22 12:51:24 +01:00
Jan Bouwhuis
c8fb86a8ed
Fix MQTT false positive deprecation warnings ( #68117 )
2022-03-14 12:39:44 +01:00
Erik Montnemery
e5523ef6b6
Correct local import of paho-mqtt ( #67944 )
...
* Correct local import of paho-mqtt
* Remove MqttClientSetup.mqtt class attribute
* Remove reference to MqttClientSetup.mqtt
2022-03-10 10:32:49 +01:00
Jan Bouwhuis
e574a3ef1d
Add MQTT notify platform ( #64728 )
...
* Mqtt Notify service draft
* fix updates
* Remove TARGET config parameter
* do not use protected attributes
* complete tests
* device support for auto discovery
* Add targets attribute and support for data param
* Add tests and resolve naming issues
* CONF_COMMAND_TEMPLATE from .const
* Use mqtt as default service name
* make sure service has a unique name
* pylint error
* fix type error
* Conditional device removal and test
* Improve tests
* update description has_notify_services()
* Use TypedDict for service config
* casting- fix discovery - hass.data
* cleanup
* move MqttNotificationConfig after the schemas
* fix has_notify_services
* do not test log for reg update
* Improve casting types
* Simplify obtaining the device_id
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* await not needed
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Improve casting types and naming
* cleanup_device_registry signature change and black
* remove not needed condition
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-03-08 16:27:18 +01:00
Jan Bouwhuis
5ab4b5d15a
MQTT Improve warning override deprecated settings ( #67609 )
2022-03-04 12:39:29 +01:00
Jan Bouwhuis
9356bf1a8e
Fix MQTT config flow with advanced parameters ( #67556 )
...
* Fix MQTT config flow with advanced parameters
* Add test
2022-03-03 21:40:15 +01:00
Jan Bouwhuis
a97fe7aae0
Mqtt fix issue with displaying non UTF-8 payload ( #67471 )
...
* Mqtt fix issue with displaying non UTF-8 payload
* None or binary
* Casting and additional test
* casting
2022-03-02 17:01:47 +01:00
Erik Montnemery
5e4b16c69a
Remove custom WS command for removing MQTT devices ( #67381 )
...
* Remove custom WS command for removing MQTT devices
* Re-add removed test
2022-02-28 15:50:49 +01:00
Erik Montnemery
c7d59bb272
Fix race when unsubscribing from MQTT topics ( #67376 )
...
* Fix race when unsubscribing from MQTT topics
* Improve test
2022-02-28 14:19:50 +01:00
Franck Nijhof
21f3e5ef13
Fix MQTT config entry deprecation warnings ( #67174 )
2022-02-24 18:14:38 +01:00
Erik Montnemery
c879bf295b
Deprecate manual MQTT configuration available in config flow ( #66247 )
2022-02-23 09:41:44 +01:00