Commit graph

509 commits

Author SHA1 Message Date
Erik Montnemery
c55505b47b
Use mock_restore_cache in mqtt tests () 2022-08-25 09:27:38 +02:00
Jan Bouwhuis
be2366d773
Add this object to MQTT templates ()
* Add `this` object to MQTT templates

* Only set once, remove hass guard

* Set once if there is a state

* Add tests TemplateStateFromEntityId calls once
2022-08-23 08:43:07 +02:00
Erik Montnemery
60c8d95a77
Remove white_value support from light () 2022-08-18 08:21:05 -04:00
Erik Montnemery
4cc1428eea
Add support for color_mode white to MQTT JSON light () 2022-08-17 13:07:50 +02:00
Erik Montnemery
73001e29ff
Remove deprecated white_value support from MQTT light ()
* Remove deprecated white_value support from MQTT light

* Remove deprecated white_value support from MQTT JSON light

* Remove deprecated white_value support from MQTT template light
2022-08-16 16:47:21 +02:00
Jan Bouwhuis
161e533c5f
Remove MQTT climate support for hold and away modes ()
Remove support for hold and away modes
2022-08-15 08:27:37 +02:00
Jan Bouwhuis
f72cfef7be
Fix MQTT camera encoding ()
* Fix MQTT camera encoding

* Reduce code

* Add test for using image_encoding parameter

* Move deprecation check to validation

* Dependency

* Set correct strings and log warning

* Rename constant

* Use better issue string identifier

* Revert unwanted change to hassio test

* Avoid term `deprecated` in issue description

* Revert changes using the repairs API

* Add a notice when work-a-round will be removed

* Update homeassistant/components/mqtt/camera.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-08-15 08:26:17 +02:00
Jan Bouwhuis
741efb89d5
Remove deprecated send_if_off option for MQTT climate ()
* Remove `send_if_off` option for mqtt climate

* Use cv.remove()
2022-08-05 13:17:46 +02:00
uvjustin
9ad273a59f
Fix entity typo () 2022-07-26 16:27:16 +02:00
Erik Montnemery
9d0a252ca7
Improve handling of MQTT config entry data ()
* Improve handling of MQTT config entry data

* Add test

* Add warning

* Adjust tests
2022-07-22 13:36:43 +02:00
Jan Bouwhuis
5ef92e5e95
Fix MQTT race awaiting an ACK when disconnecting ()
Co-authored-by: Erik <erik@montnemery.com>
2022-07-20 11:58:54 +02:00
Jan Bouwhuis
5930f056a8
Mqtt support config_entry unload ()
* 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
Franck Nijhof
7cd68381f1
Search/replace RESULT_TYPE_* by FlowResultType enum () 2022-07-07 19:57:36 +03:00
epenet
8ef87205f9
Improve type hints in mqtt () 2022-06-30 21:11:45 +02:00
J. Nick Koston
2742bf86e3
Switch mqtt to use json helper ()
* Switch mqtt to use json helper

* whitespace
2022-06-23 14:29:09 +02:00
J. Nick Koston
19b2b33037
Speed up subscribing to mqtt topics on connect ()
* Speed up subscribing to mqtt topics

* update tests

* Remove extra function wrapper

* Recover debug logging for subscriptions

* Small changes and test

* Update homeassistant/components/mqtt/client.py

* Update client.py

Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-06-22 16:03:18 +02:00
Jan Bouwhuis
57daeaa174
Fix MQTT config schema to ensure correct validation ()
* 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
Erik Montnemery
dea8041461
Add device_class to MQTT number and migrate to native_value () 2022-06-16 13:34:54 +02:00
J. Nick Koston
51b4d15c8c
Speed up mqtt tests ()
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
657e7f9a4c
Simplify MQTT test for setup manual mqtt item from yaml ()
simplify test setup manual mqtt item from yaml
2022-06-13 13:44:12 +02:00
Jan Bouwhuis
48e3d68b53
Clean up MQTT platform entry setup at discovery ()
* Setup MQTT discovery with entry setup

* Wait for entry setup in test

* flake
2022-06-13 13:38:53 +02:00
Erik Montnemery
3d78240cee
Fix initial tilt value of MQTT cover () 2022-06-10 11:11:40 +02:00
Erik Montnemery
b97d346df7
Fix reload of MQTT yaml config () 2022-06-02 11:32:31 -07:00
Jan Bouwhuis
52561ce076
Update MQTT tests to use the config entry setup ()
* 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
Erik Montnemery
635d7085cf
Move MQTT config schemas and client to separate modules ()
* Move MQTT config schemas and client to separate modules

* Update integrations depending on MQTT
2022-05-31 09:32:44 +02:00
Erik Montnemery
84243cf560
Tweak MQTT hassio discovery flow () 2022-05-30 14:25:36 +02:00
Erik Montnemery
342ccb5bf1
Improve handling of MQTT overridden settings ()
* Improve handling of MQTT overridden settings

* Don't warn unless config entry overrides yaml
2022-05-30 14:21:20 +02:00
Jan Bouwhuis
d092861926
Move manual configuration of MQTT device_tracker to the integration key () 2022-05-26 13:02:39 -07:00
Jan Bouwhuis
d0556e6dd1
Move manual configuration of MQTT sensor to the integration key ()
Add sensor
2022-05-23 16:29:45 +02:00
Jan Bouwhuis
bc6451bd64
Move manual configuration of MQTT select to the integration key ()
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 ()
Add scene

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-23 09:04:03 +02:00
Jan Bouwhuis
c4893f96f6
Move manual configuration of MQTT siren to the integration key ()
Add siren
2022-05-23 08:08:08 +02:00
Jan Bouwhuis
623abb1147
Move manual configuration of MQTT number to the integration key ()
Add number
2022-05-23 08:03:09 +02:00
Jan Bouwhuis
4153edbcdd
Move manual configuration of MQTT humidifier to the integration key ()
Add humidifier
2022-05-22 13:07:49 +02:00
Jan Bouwhuis
3c3e394972
Move manual configuration of MQTT cover to the integration key ()
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 ()
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 ()
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 ()
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 ()
Add lock
2022-05-21 19:07:26 +02:00
Jan Bouwhuis
809808dd80
Move manual configuration of MQTT camera to the integration key ()
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 ()
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 ()
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 ()
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 ()
* 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
TheHolyRoger
0fcdca2d71
Add optional base64 decoding of mqtt camera image ()
Add unittest for b64 decoding of camera, fix linting
2022-05-09 21:40:15 +02:00
epenet
141688e210
Cleanup ServiceInfo compatibility ()
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
Jan Bouwhuis
5d9dc8252b
Use helper for testing an event change () 2022-05-09 11:52:08 +02:00
epenet
1be2438ef6
Use climate enums in mqtt () 2022-05-09 08:15:11 +02:00
Erik Montnemery
e9abfad361
Reject MQTT topics which include control- or non-characters () 2022-05-03 12:19:43 -07:00
epenet
a8a7359c6f
Use VacuumEntityFeature in mqtt ()
* Use VacuumEntityFeature in mqtt

* Fix tests
2022-04-25 11:34:06 +02:00