Jan Bouwhuis
689c6fbef7
Merge pending MQTT subscribes to a single call to the paho client ( #92172 )
...
* Merge mqtt subscribes in one call
* Cleanup
* cleanup, log outside of lock
* Remove function wrapper
* Add test that we bundle subscriptions
2023-05-08 15:37:25 +02:00
Jan Bouwhuis
bb15923968
Rename MQTT entry mock and cleanup ( #91223 )
...
Rename to mqtt_mock_entry and cleanup
2023-04-12 09:43:03 +02:00
Jan Bouwhuis
14ffda9758
Remove dependency on async_setup from mqtt integration ( #87987 )
...
* Remove async_setup from mqtt integration
* Final update common tests
* Related tests init
* Related tests diagnostics
* Related tests config_flow
* Cleanup and correct test
* Keep websockets_api commands in async_setup
2023-03-28 09:37:07 +02:00
Jan Bouwhuis
214286acb9
Prepare MQTT platorm tests part1 ( #90051 )
...
* Add help_custom_config
* Tests alarm_control_panel
* Tests binary_sensor
* Only use help_custom_config with iterable options
2023-03-22 10:23:08 +01:00
Jan Bouwhuis
d865440012
Prepare MQTT common tests part3 ( #90022 )
2023-03-21 09:19:20 +01:00
Jan Bouwhuis
91dbda1ce7
Add mqtt common tests for availability (part2) ( #89805 )
...
* update test_availability_when_connection_lost
* Adjust test_availability_without_topic
* Update test_default_availability_payload + helper
* Update test_default_availability_list_payload
* Use helper for async_setup_component
* Update test_default_availability_list_*
* Update test_custom_availability_payload
2023-03-21 08:20:37 +01:00
Jan Bouwhuis
c81a38effb
Mqtt prepare test base part1 ( #89796 )
...
* Refactor test_reloadable
* Refactor test_disabling_and_enabling_entry
* optimize test_unload_config_entry
* Cleanup help_test_unload_config_entry
* cleanup test_unload_entry
* Update test tls_version
* More tests to entry only
* Add validate and hassconfig patch
* Revert fixture changes patch_hass_config
* Follow up comments
2023-03-16 15:57:01 +01:00
Franck Nijhof
76bf6f164f
Clean up unnecessary registry mocks from mqtt tests ( #87728 )
...
* Clean up unnecessary registry mocks from mqtt tests
* Fix helper methods
2023-02-09 08:19:06 +01:00
Jan Bouwhuis
fc7e4b7664
Add type hints on common MQTT tests ( #87299 )
...
* Add hints for hass and return type
* Fix MqttMockType add apply hints to test_common
* Add type hints for other arguments
* Merge changes
* Add missed annotation
* Make tests types private and move to top
2023-02-08 11:20:27 +01:00
Franck Nijhof
5e81d28116
Update black to 23.1.0 ( #87188 )
2023-02-02 18:35:24 +01:00
Jan Bouwhuis
9f24897814
Do not reset current selection on reconfig or MQTT select ( #85099 )
...
* Do not reset current selection on reconfig
* Add a test
2023-01-04 10:29:53 +01:00
Jan Bouwhuis
ee66ffc8de
Do not depend MQTT CI tests on debug logs ( #84783 )
...
* Do not depend MQTT CI tests on debug logs
* Leave Clean up expire as debug message
2022-12-29 18:29:28 +01:00
Jan Bouwhuis
7c2e7863d2
Remove legacy YAML support from MQTT ( #82102 )
2022-11-17 22:55:31 +01:00
J. Nick Koston
75104159c6
Fix mqtt tests ( #79079 )
2022-09-25 20:07:50 -10: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
Jan Bouwhuis
9a4c8f5f0e
Refactor common MQTT tests to use modern schema ( #77583 )
...
* Common tests availability
* Common tests attributes
* Common tests unique id
* Common tests discovery
* Common tests encoding
* Common tests device info
* Common tests entity_id updated
* Common tests entity debug info
* Common test entity category
* Common tests setup reload unload+corrections
* Cleanup sweep
* Comments from curent change
* Cleanup
* Remove unused legacy config
2022-09-09 11:15:48 +02:00
Maciej Bieniek
ad6beac535
Add `hw_version` to MQTT device info ( #77210 )
...
* Add hw_version
* Add abbreviation for hw_version
* Update tests
* Update discovery tests
2022-08-25 11:55:33 +02: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
Jan Bouwhuis
657e7f9a4c
Simplify MQTT test for setup manual mqtt item from yaml ( #72916 )
...
simplify test setup manual mqtt item from yaml
2022-06-13 13:44:12 +02:00
Erik Montnemery
b97d346df7
Fix reload of MQTT yaml config ( #72901 )
2022-06-02 11:32:31 -07:00
Jan Bouwhuis
52561ce076
Update MQTT tests to use the config entry setup ( #72373 )
...
* New testframework and tests for fan platform
* Merge test_common_new to test_common
* Add alarm_control_panel
* Add binary_sensor
* Add button
* Add camera
* Add climate
* Add config_flow
* Add cover
* Add device_tracker_disovery
* Add device_trigger
* Add diagnostics
* Add discovery
* Add humidifier
* Add init
* Add lecacy_vacuum
* Add light_json
* Add light_template
* Add light
* Add lock
* Add number
* Add scene
* Add select
* Add sensor
* Add siren
* Add state_vacuum
* Add subscription
* Add switch
* Add tag
* Add trigger
* Add missed tests
* Add another missed test
* Add device_tracker
* Remove commented out code
* Correct tests according comments
* Improve mqtt_mock_entry and recover tests
* Split fixtures with and without yaml setup
* Update fixtures manual_mqtt
* Update fixtures mqtt_json
* Fix test tasmota
* Update fixture mqtt_room
* Revert fixture changes, improve test
* re-add test
2022-06-02 14:24:46 +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
Erik Montnemery
fe38e6ba87
Drop MQTT import flow ( #66160 )
...
* Drop MQTT import flow
* Reload manually configured MQTT entities when config entry is setup
* Address review comments
* Actually remove the import flow
2022-02-10 21:09:57 +01:00
Erik Montnemery
8245ff7473
Log transmitted MQTT messages ( #65550 )
2022-02-04 17:35:32 +01:00
Erik Montnemery
fda0fbd115
Stringify MQTT payload in mqtt/debug/info WS response ( #65429 )
2022-02-02 18:08:48 +01:00
Jan Bouwhuis
2c07330794
Fix MQTT expire_after effects after reloading ( #65359 )
...
* Cleanup sensor expire triggers after reload
* fix test binary_sensor
* Also trigger cleanup parent classes
* Restore an expiring state after a reload
* correct discovery_update
* restore expiring state with remaining time
* Update homeassistant/components/mqtt/binary_sensor.py
description
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Log remaining time
* Move check
* check and tests reload
* remove self.async_write_ha_state()
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-02-02 16:14:52 +01:00
Jan Bouwhuis
dd0193052c
Add MQTT encoding parameter for all subscribed topics ( #62263 )
...
* Add encoding parameter for all subscribable topics
* test setup encoding incoming payload
* remove support for device_tracker and tag+tests
2022-01-03 16:08:07 +01:00
Jan Bouwhuis
061ce0c187
Fix mqtt reloading and rework tests ( #62950 )
...
* Improve mqtt reloading/tests and fix issues
* Cleanup fixture for reloading test
* isort and black remove replaced test_reloadable
2022-01-03 15:14:50 +01:00
Jan Bouwhuis
d0c4f0fec4
Add mqtt encoding support for publishing ( #62739 )
...
* encoding support for mqtt publishing - todo tests
* signature allows None values for qos and retain
* common test for mqtt publishing encoding
* better test with command templates
* more tests
* fix tests alarm control panel+tests light basic
* tests light json and template
* add tests vacuum and fix tests light_template
2022-01-03 09:03:47 +01:00
Erik Montnemery
640a7fee9d
Allow extra keys in MQTT discovery messages ( #58390 )
...
* Allow extra keys in MQTT discovery messages
* Remove extra keys
2021-10-25 13:47:06 +02:00
Erik Montnemery
1eebe45154
Add support for entity categories to MQTT entities ( #57656 )
...
* Add support for entity categories to MQTT entities
* Improve test
* Apply suggestions from code review
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Paul Monigatti <paulmonigatti@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paul Monigatti <paulmonigatti@users.noreply.github.com>
2021-10-15 14:28:30 +02:00
Franck Nijhof
eed9f67402
Add service configuration URL to MQTT ( #57731 )
2021-10-14 18:27:40 -07:00
Erik Montnemery
30a9198d97
Add test to MQTT device tracker ( #52292 )
2021-06-29 11:33:26 +02:00
Erik Montnemery
04c9665241
Filter MQTT JSON attributes ( #52076 )
...
* Filter JSON attributes
* Apply suggestions from code review
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* Refactor, add tests
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2021-06-24 16:22:54 +02:00
Ville Skyttä
77d5244577
Use device registry CONNECTION_* constants ( #49923 )
2021-04-30 23:58:50 +02:00
Erik Montnemery
8ad3c65645
Allow MQTT entities to be disabled by default ( #48284 )
...
* Allow MQTT entities to be disabled by default
* Tweak
2021-03-30 00:09:14 +02:00
RadekHvizdos
9f4c2f6260
Add suggested_area to MQTT discovery ( #47903 )
...
* Add suggested_area to MQTT Discovery
This adds suggested_area to MQTT discovery, so that the discovered devices could be automatically added to the proper area.
* Add abbreviation for MQTT suggested_area
* Remove extra whitespace
* Remove extra whitespace #2
* Added tests for MQTT Dicovery of suggested_area
* Fix test for MQTT suggested_area
* Better tests of MQTT suggested_area
Changes made as per feedback from @emontnemery
2021-03-15 20:02:02 +01:00
Erik Montnemery
84226da404
Update tests i-o to use async_get() instead of async_get_registry() ( #47653 )
2021-03-09 14:32:08 +01:00
Erik Montnemery
d60fc0de38
Add availability_mode "all" and "any" to MQTT entities ( #44987 )
...
* Add availability_mode "all" to MQTT entities
* Add availability mode any
2021-01-11 16:04:22 +01:00
Ville Skyttä
2fb3be50ab
Make DeviceRegistry.async_get_device connections arg optional ( #44897 )
...
* Make async_get_device connections Optional, default None
* Remove unnecessary async_get_device connections arg usages
Some of these were using an incorrect collection type, which didn't
cause issues mostly just due to luck.
2021-01-07 13:49:45 +01:00
Franck Nijhof
65cf2fcb6f
Drop asynctest ( #44746 )
2021-01-01 22:31:56 +01:00
Tim Werner
e5aa5e2c35
rewrite mqtt unittest tests to pytest style ( #42122 )
2020-10-20 16:35:49 +02:00
Erik Montnemery
306ee30574
Enable MQTT discovery by default ( #41361 )
2020-10-07 14:51:06 +02:00
Erik Montnemery
4d6e694d14
Fix discovery update of MQTT state templates ( #39901 )
2020-09-10 20:52:23 +02:00
Erik Montnemery
4c6960ed36
Fix discovery update of MQTT light ( #39325 )
2020-09-02 10:52:33 +02:00
Franck Nijhof
1c2ebdf307
Upgrade black to 20.8b1 ( #39287 )
2020-08-27 13:56:20 +02:00
Erik Montnemery
4ed1f8023b
Suppress MQTT discovery updates without changes ( #38568 )
2020-08-06 10:43:47 +02:00
Erik Montnemery
4b3ad0a1cd
Support multiple MQTT availability topics ( #37418 )
...
* Support multiple MQTT availability topics
* Make availability list and availability_topic exclusive
* Make availability list and availability_topic exclusive
* Add missing abbreviation
2020-07-04 17:48:34 +02:00
Erik Montnemery
4e77969f5e
Drop use of mock_mqtt_component ( #37013 )
...
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-06-23 10:17:22 -07:00
Erik Montnemery
280f49540e
Drop use of async_mock_mqtt_component ( #37011 )
2020-06-22 23:59:50 +02:00