Commit Graph

32 Commits (694cec34596f76a372d041d4a8ecb50849c5fc43)

Author SHA1 Message Date
Jan Bouwhuis 4335b0db25
Clean up or correct from removed deprecation for MQTT platform ()
Clean up or correct from removed deprecation
2022-11-25 16:11:22 +01:00
Jan Bouwhuis 7c2e7863d2
Remove legacy YAML support from MQTT () 2022-11-17 22:55:31 +01:00
Jan Bouwhuis 47dba6f6bc
Improve MQTT type hints part 5 ()
* Improve typing scene

* Improve typing select

* Improve typing sensor

* move expire_after - and class level attrs

* Follow up comment

* Solve type confict

* Remove stale sentinel const

* Update homeassistant/components/mqtt/sensor.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Make _expire_after a class attribute

* Code styling

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-11-08 12:55:41 +01:00
Jan Bouwhuis 8aa30cce26
Fix state saving when sharing topics for MQTT entities ()
* Do not write old state sharing availability topic

* Add a test

* Support for all availability topics

* delay async_write_ha_state till last callback

* Process write req after processing callback jobs

* Do not count subscription callbacks

* Simplify

* Stale docsting

* No topic needed for delays state write

* No need to clear when reloading

* Move test to test_mixins.py

* Only set up sensor platform for test
2022-10-11 10:49:54 +02:00
Jan Bouwhuis 354411feed
Link manually added MQTT entities the the MQTT config entry ()
Co-authored-by: Erik <erik@montnemery.com>
2022-09-18 12:55:31 -04: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
epenet 64bfa20f6a
Improve type hints in mqtt () 2022-07-02 20:15:54 +03:00
Erik Montnemery f05b4a0ca0
Fire event_mqtt_reloaded only after reload is completed () 2022-06-30 10:15:25 -07: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 b97d346df7
Fix reload of MQTT yaml config () 2022-06-02 11:32:31 -07: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
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
Erik Montnemery fe38e6ba87
Drop MQTT import flow ()
* 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 () 2022-02-04 17:35:32 +01:00
Erik Montnemery f3a89de71f
Fix race when handling updated MQTT discovery data () 2022-02-02 17:12:22 -08:00
Jan Bouwhuis 7ea8d72133
Move CONF_COMMAND_TEMPLATE to .const () 2022-01-20 16:15:26 +01:00
Jan Bouwhuis dd0193052c
Add MQTT encoding parameter for all subscribed topics ()
* 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 3ca18922e6
Mqtt rework on value templates ()
* add MqttValueTemplate class

* support variables at initiation

* pass MqttEntity instead of hass

* Use MqttValueTemplace class for value templates

* make hass en enitity parameters conditional

* remove unused property and remove None assignment

* rename self._attr_value_template
2022-01-03 16:07:40 +01:00
Jan Bouwhuis 457ce195dd
Add mqtt entity attributes command templates ()
* Add entity variables to MqttCommandTemplate

* missing command template update

* make hass and entity conditional parameters

* Add encoding support for publishing

* Revert "Add encoding support for publishing"

This reverts commit b69b9c60ec.
2022-01-03 15:10:15 +01:00
Jan Bouwhuis d0c4f0fec4
Add mqtt encoding support for publishing ()
* 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
epenet 2cc4d9846b
Add basic type hints to mqtt ()
* Add basic type hints to mqtt

* Add hints to async_setup_platform

* Add type hint to async_setup_entry

* Fix pylint

* Set correct argument order in climate entity

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-03 08:53:52 +01:00
Jan Bouwhuis d5defa8995
Support publishing MQTT messages with raw bytes payloads ()
* correctly publish mqtt ouput

* Additional tests

* Add template test with binary output

* render_outgoing_payload with command templates

* use MqttCommandTemplate helper class

* add tests command_template

* Additional tests

* support pass-through for MqttComandTemplate

* fix bugs

* unify workform always initiate with hass

* clean up

* remove not needed lines

* comment not adding value
2021-12-15 11:28:43 +01:00
Erik Montnemery 7c3edf24f2
Allow MQTT selects to have a single or no options () 2021-11-24 20:06:12 +01:00
Damien Duboeuf 67c2747027
Add MQTT object_id option ()
* 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
Jan Bouwhuis 339117aceb
Add command_template to mqtt select platform () 2021-11-02 17:33:23 +01:00
Marc Mueller 887d04be60
Use assignment expressions 32 () 2021-10-30 16:30:13 +02:00
Erik Montnemery 0456a896e3
Avoid service call in MQTT async_publish function ()
* Avoid service call in MQTT async_publish function

* Tweak

* Fix integrations + tests
2021-10-28 08:13:32 +02:00
Erik Montnemery 640a7fee9d
Allow extra keys in MQTT discovery messages ()
* Allow extra keys in MQTT discovery messages

* Remove extra keys
2021-10-25 13:47:06 +02:00
Jan Bouwhuis 879144b48d
MQTT rework constants ()
* reference CONF_TOPIC to .const

* Organize common mqtt constants
2021-10-12 11:26:38 +02:00
Franck Nijhof 4546e14674
Fix MQTT to allow setting an unknown Select state () 2021-07-21 10:02:07 +02:00
Erik Montnemery a7dd7c1a3d
Filter MQTT select JSON attributes () 2021-06-29 11:22:58 +02:00
Erik Montnemery 4533a77597
Add MQTT select ()
* Add MQTT select

* Fix value_template support

* Lint
2021-06-24 17:09:06 +02:00