Bert Melis
6546bba233
Process abbreviated availability options in mqtt discovery payload ( #79712 )
...
Expand availability in mqtt discovery payload
2022-10-08 15:36:49 +02:00
Jan Bouwhuis
84b2c74746
Move MQTT discovery hass.data globals to dataclass ( #78706 )
...
* Add MQTT discovery hass.data globals to dataclass
* isort
* Additional rework
* Add hass.data["mqtt_tags"] to dataclass
* Follow-up comment
* Corrections
2022-09-28 14:13:44 +02: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
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
Erik Montnemery
60c8d95a77
Remove white_value support from light ( #76926 )
2022-08-18 08:21:05 -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
51b4d15c8c
Speed up mqtt tests ( #73423 )
...
Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2022-06-13 10:17:10 -10: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
5d9dc8252b
Use helper for testing an event change ( #71579 )
2022-05-09 11:52:08 +02:00
Erik Montnemery
7e8d52e5a3
Fix race when handling rapid succession of MQTT discovery messages ( #68785 )
...
Co-authored-by: jbouwh <jan@jbsoft.nl>
2022-03-29 20:26:11 -07: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
ba6d1976df
Improve MQTT device removal ( #66766 )
...
* Improve MQTT device removal
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Adjust tests
* Improve test coverage
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-18 13:45:25 +01:00
Jan Bouwhuis
3d434dffc7
Add support Mqtt switch for unkown state ( #65294 )
...
* Mqtt switch allow unkown state
* correct type
* Update discovery tests
* Optimistic mode if not state_topic is configured.
* Default state UNKNOWN in optimistic mode
* fix discovery test
2022-02-03 16:47:24 +01:00
Jan Bouwhuis
88b93546f3
Re-add-tests with new filters removed with #60854 ( #60895 )
2021-12-03 11:04:05 -08:00
epenet
b65b25c1bb
Move MqttServiceInfo to init.py ( #60905 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-12-03 19:34:48 +01:00
Erik Montnemery
9f4a99fe81
Revert "Add bytes support for bitwise template operations" ( #60854 )
2021-12-03 08:50:29 +01:00
Jan Bouwhuis
3307e54363
Add MQTT availability template and encoding ( #60470 )
...
* Add MQTT availability template and encoding
* use generic encoding field
* pylint and cleanup
* remove additional topic check
2021-12-02 10:21:31 +01:00
epenet
6caaa5f6bd
Add compatibility tests for MqttServiceInfo ( #60754 )
...
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-01 17:04:49 +01:00
Erik Montnemery
b5ce84cd89
Add MQTT button ( #59348 )
2021-11-09 12:04:14 +01:00
Damien Duboeuf
67c2747027
Add MQTT object_id option ( #58728 )
...
* Add MQTT object_id option
* Add MQTT object_id option
* Add MQTT object_id option
* Add MQTT object_id option - Fix light and vacuum
* Add MQTT object_id option - Fix light and vacuum
* Add MQTT object_id option - Fix lock
* Add MQTT object_id option - Fix device
* Add MQTT object_id option - Fix device
* Update tests/components/mqtt/test_discovery.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Change deprecated method
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-11-08 14:02:18 +01:00
Erik Montnemery
f3bd13d179
Fix regression in MQTT discovery ( #58684 )
...
* Fix regression in MQTT discovery
* Update test
2021-10-29 15:59:16 +02:00
Jan Bouwhuis
a36a765352
Allow MQTT discovery availability shortcut ( #57479 )
...
* replace base in availability topic
* add tests for availability shortcuts - fix import
* group constants
* simplified loop
* Moving constants to .const
* rename value to topic
* move CONF_TOPIC to .const
* move CONF_AVAILABILITY to .const
* remove check for string
* Silently ignore if no config topic is found.
* CONF_TOPIC should be required
2021-10-11 23:37:31 +02:00
Erik Montnemery
2351f2d95e
Warn when receiving message on illegal MQTT discovery topic ( #52106 )
...
* Warn when receiving message on illegal MQTT discovery topic
* Fix test
2021-06-23 15:53:17 +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
J. Nick Koston
c9df42b69a
Add support for pre-filtering events to the event bus ( #46371 )
2021-02-14 09:42:55 -10:00
Erik Montnemery
f86beed7b0
Subscribe only to valid MQTT discovery topics ( #45456 )
2021-01-23 08:51:25 -05: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
Erik Montnemery
34bd70aee6
Fix race when handling MQTT discovery messages ( #44730 )
...
* Fix race when handling MQTT discovery messages
* Lint
* retrigger checks
2021-01-04 12:28:17 +01:00
Franck Nijhof
65cf2fcb6f
Drop asynctest ( #44746 )
2021-01-01 22:31:56 +01:00
Erik Montnemery
343e5d64b8
Add MQTT integration discovery ( #41332 )
...
* Add MQTT integration discovery
* Add script/hassfest/mqtt.py
* Unsubscribe if config entry exists
* Add homeassistant/generated/mqtt.py
* Fix bad loop
* Improve tests
* Improve tests
* Apply suggestions from code review
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
* Prevent initiating multiple config flows
Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2020-10-07 18:30:51 +02:00
Erik Montnemery
306ee30574
Enable MQTT discovery by default ( #41361 )
2020-10-07 14:51:06 +02:00
Phil Bruckner
ca9dd0c833
Reorganize trigger code ( #38655 )
2020-08-17 11:54:56 -05:00
J. Nick Koston
910b6c9c2c
Index entity_registry_updated listeners ( #37940 )
2020-07-17 21:59:18 -07:00
Erik Montnemery
16cf16e418
Update MQTT tests to not create duplicated config entries ( #36833 )
2020-06-15 15:38:56 -07:00
Erik Montnemery
35cd6b9abf
Remove unused parameter for MQTT discovery ( #36526 )
...
* Remove unused parameter for MQTT discovery
* Fix tests
2020-06-07 19:35:35 +02:00
Paulus Schoutsen
2af984917e
Use asynctest-mock in most places ( #35109 )
...
* Use asynctest-mock in most places
* Fix broken patch in pilight
2020-05-03 11:27:19 -07:00
Paulus Schoutsen
ec47216388
Use built-in test helpers on 3.8 ( #34901 )
2020-04-30 13:29:50 -07:00
Franck Nijhof
d7e9959442
String formatting improvements for tests (2) ( #33666 )
2020-04-05 00:33:07 +02:00
Erik Montnemery
4e6fd19624
Improve MQTT test coverage and remove dead code ( #33584 )
...
* Improve MQTT tests and remove dead code
* Remove useless test.
* Add more test
2020-04-03 09:05:58 -07:00
Erik Montnemery
e0d2e5dcb0
Remove deprecated features from MQTT platforms ( #32909 )
...
* Remove deprecated features
* Lint
2020-03-18 22:39:15 -07:00
Erik Montnemery
7e387f93d6
Add MQTT WS command to remove device ( #31989 )
...
* Add MQTT WS command to remove device
* Review comments, fix test
* Fix tests
2020-02-24 20:46:02 -08:00
Erik Montnemery
60ae85564e
Add support for MQTT device triggers ( #31679 )
...
* Add support for MQTT device triggers
* Fix test, tweaks
* Improve test coverage
* Address review comments, improve tests
* Tidy up exception handling
* Fix abbreviations
* Rewrite to handle update of attached triggers
* Update abbreviation test
* Refactor according to review comments
* Refactor according to review comments
* Improve trigger removal
* Further refactoring
2020-02-18 13:51:10 -08:00
Christian Clauss
df7d2b3aeb
Fix typos found by codespell ( #31243 )
...
* Fix typos found by codespell
* Fix typos found by codespell
* codespell: Furture ==> Future
* Update test_config_flow.py
* Update __init__.py
* Spellcheck: successfull ==> successful
* Codespell: unsuccesful ==> unsuccessful
* Codespell: cant ==> can't
* Codespell: firware ==> firmware
* Codespell: mimick ==> mimic
2020-01-31 08:33:00 -08:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations ( #30360 )
2020-01-02 21:17:10 +02:00
Bas Nijholt
ce5072fc91
use isort to sort imports according to PEP8 for mqtt ( #29649 )
2019-12-08 22:45:26 +05:30
Erik Montnemery
e0be4efe3e
Add test case to identify missing MQTT configuration abbreviations ( #25616 )
...
* Add missing abbreviations
* Move abbreviations to own file, add script to find missing abbreviations
* Move check from script to test case
* Lint
* Rewrite to use pathlib
* Lint
2019-08-06 17:32:15 -07:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Franck Nijhof
31f569ada9
Batch of Component(s) -> Integration(s) ( #24972 )
2019-07-05 15:24:26 -07:00
Dennis Keitzel
8cd138608c
Support mqtt discovery topic prefix with slashes ( #24840 )
2019-07-01 10:23:01 -07:00