Jan Bouwhuis
d149bffb07
Do not fail MQTT setup if lights configured via yaml can't be validated ( #101649 )
...
* Add light
* Deduplicate code
* Follow up comment
2023-10-19 17:34:43 +02:00
Jan Bouwhuis
59a26010ba
Cleanup redundant mqtt entity constructors ( #100939 )
...
* Remove redundant mqtt entity constructors
* Remove unrelated change
* Follow up comment
* Revert changes to mqtt update platform
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-09-26 23:03:11 +02:00
Jan Bouwhuis
5b422daf36
Avoid redundant calls to async_write_ha_state
in MQTT light ( #100690 )
...
* Limit state writes for mqtt light
* Additional tests and review follow up
2023-09-22 13:32:30 +02:00
Jan Bouwhuis
87ae5add8a
Fix mqtt light rgbww update without state topic ( #100707 )
...
* Fix mqtt light rgbww update without state topic
* Add @callback decprator and correct mired conv
2023-09-22 13:31:29 +02:00
Jan Bouwhuis
a66ad39c4e
Assign color_mode for mqtt light as ColorMode ( #100709 )
2023-09-22 12:09:37 +02:00
Jan Bouwhuis
e3837cd1e0
Use shorthand attr for mqtt assumed_state ( #100241 )
2023-09-12 22:21:13 +02:00
Jan Bouwhuis
447fbf58c9
Change naming of MQTT entities to correspond with HA guidelines ( #95159 )
...
* Set has_entity_name if device_name is set
* revert unneeded formatting change
* Add image platform
* Follow up comment
* Don't set `has_entity_name` without device name
* Only set has_entity_name if a valid name is set
* Follow device_class name and add tests
* Follow up comments add extra tests
* Move to helper - Log a warning
* fix test
* Allow to assign None as name explictly
* Refactor
* Log info messages when device name is not set
* Revert scene schema change - no device link
* Always set has_entity_name with device mapping
* Always set `_attr_has_entity_name`
* Cleanup
2023-07-21 12:52:10 +02:00
Jan Bouwhuis
efcaad1179
Fix handling MQTT light brightness from zero rgb ( #96286 )
...
* Fix handling MQTT light brightness from zero rgb
* Fix log message
2023-07-11 14:22:12 -04:00
Jan Bouwhuis
5fb41777fd
Cleanup MQTT schema from previous removed options ( #94110 )
...
* Cleanup removed validator schema option of #62680
* Cleanup removed climate options and abbreviations
* Removed white_value options for mqtt light
* Remove whaite value from mqtt json light
2023-06-09 12:12:20 +02:00
Jan Bouwhuis
fc8c5f1bbd
Do not allow mqtt lights to set brightness to zero ( #91296 )
...
* Do not allow mqtt lights to set brightness to zero
* Loglevel to debug
* Typo
2023-04-14 09:01:29 +02:00
Jan Bouwhuis
1a4b14c217
Fix MQTT rgb light brightness scaling ( #89264 )
...
* Normalize received RGB colors to 100% brightness
* Assert on rgb_color attribute
* Use max for RGB to get brightness
* Avoid division and add clamp
* remove clamp
Co-authored-by: Erik Montnemery <erik@montnemery.com>
---------
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-03-09 08:02:59 +01:00
Jan Bouwhuis
4aa61b0d64
Cleanup remains of legacy validation MQTT light ( #87467 )
2023-02-07 14:52:40 +01:00
Jan Bouwhuis
be564e0162
Cleanup value_template
config parameter from MQTT basic light ( #87466 )
...
* Remove not supported case from code for MQTT light
* Remove from schema
2023-02-07 13:05:24 +01:00
Sándor Oroszi
a0d41e1d97
Add hs_command_template and xy_command_template to mqtt light default schema ( #84988 )
...
* Add mqtt light hs_command_template
* Add mqtt light xy_command_template
2023-01-03 12:58:00 +01:00
Jan Bouwhuis
9cf86b234b
Add optimistic option for MQTT climate ( #84777 )
2023-01-02 11:39:42 +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
4335b0db25
Clean up or correct from removed deprecation for MQTT platform ( #82684 )
...
Clean up or correct from removed deprecation
2022-11-25 16:11:22 +01:00
Jan Bouwhuis
8a8732f0bc
Strict type hints for MQTT integration ( #82317 )
...
* Strict type hints for MQTT integration
* Fix errors
* Additional corrections
* Use cv.template to avoid untyped calls
* Enable strict typing policy for MQTT integration
* Use ignore[no-untyped-call]
* Use # type: ignore[unreachable]
* Correct cast
* Refactor getting discovery_payload
* Remove unused type ignore comments
2022-11-24 08:25:44 +01:00
epenet
7f1e1ed1d8
Enforce LightEntityFeature ( #82460 )
2022-11-22 07:14:47 +01:00
Jan Bouwhuis
3d00923665
Improve MQTT type hints / refactor part 9 - light ( #81151 )
...
* Improve type hints light base
* improve type hints light schema basic
* Improve type hints light schema json
* Use MQTT Template models with light template
* Addtional type hints for template light
* Improve template hints for schema template
* Use strict type hints for templates
* MyPy corrections
* Follow up comments
* Follow up comments
* Revert changes schema_json
* Revert changes schema template
* Hints setup_entity_json and setup_entity_template
* Remove type hint on setup_entity JSON
2022-11-17 10:22:25 +01:00
Jan Bouwhuis
d66d079330
Use _attr_
for MQTT light ( #81465 )
...
* Schema basic
* Schema json
* Schema template
* add color_mode - follow up comments
* Fix regression
* Follow up comments 2
* Fix mypy errors
* Update homeassistant/components/mqtt/light/schema_template.py
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-11-08 10:16:05 +01:00
epenet
9b2a8901b1
Adjust payload sentinel in mqtt ( #81553 )
...
* Adjust payload sentinel in mqtt
* Add type hints
* Update sensor.py
* Adjust vacuum
* Add type hints
* Adjust schema basic
* Remove invalid hint
2022-11-07 12:31:11 +01:00
Jan Bouwhuis
8aa30cce26
Fix state saving when sharing topics for MQTT entities ( #79421 )
...
* 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
90aba6c523
Add cv.deprecated to MQTT modern schema's too ( #76884 )
...
Add cv.deprcated to modern schema too
2022-08-19 11:12:47 +02:00
Erik Montnemery
73001e29ff
Remove deprecated white_value support from MQTT light ( #76848 )
...
* 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
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
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
09d61edd9f
Use LightEntityFeature enum in mqtt ( #71055 )
2022-04-29 22:47:26 +03:00
Erik Montnemery
2f9beb4a4a
Deprecate white_value support in MQTT light ( #71002 )
2022-04-29 08:37:49 +02:00
epenet
38d86fc7b1
Use ColorMode enum in mqtt ( #70579 )
2022-04-24 09:06:56 -10:00
rubenverhoef
95de1dd446
Additional MQTT light command templates ( #63361 )
...
Co-authored-by: jbouwh <jan@jbsoft.nl>
2022-02-22 00:00:49 +01:00
Jan Bouwhuis
678e56b8b7
Mqtt move to .const ( #65631 )
2022-02-10 09:18:35 +01:00
Erik Montnemery
8245ff7473
Log transmitted MQTT messages ( #65550 )
2022-02-04 17:35:32 +01:00
Jan Bouwhuis
cf52357229
Add MQTT light unknown state support ( #65308 )
...
* Add MQTT light unknown sate support
* Update homeassistant/components/mqtt/light/schema_basic.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 tests for default unknown state
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-02-03 16:49:57 +01:00
Erik Montnemery
f3a89de71f
Fix race when handling updated MQTT discovery data ( #65415 )
2022-02-02 17:12:22 -08:00
Erik Montnemery
1995a825f3
Reject MQTT light discovery using unsupported value_template ( #62682 )
...
* Reject MQTT light discovery using unsupported value_template
* Tweak
2022-01-03 17:16:26 +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
3ca18922e6
Mqtt rework on value templates ( #62105 )
...
* 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 ( #61937 )
...
* 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 ( #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
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
0456a896e3
Avoid service call in MQTT async_publish function ( #58441 )
...
* 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 ( #58390 )
...
* Allow extra keys in MQTT discovery messages
* Remove extra keys
2021-10-25 13:47:06 +02:00
Marc Mueller
487fa0a905
Use assignment expressions 20 ( #57969 )
2021-10-20 20:31:00 +02:00
Marc Mueller
4f8148f9ea
Use assignment expressions 07 ( #57787 )
2021-10-17 20:24:34 +02:00
Jan Bouwhuis
879144b48d
MQTT rework constants ( #57529 )
...
* reference CONF_TOPIC to .const
* Organize common mqtt constants
2021-10-12 11:26:38 +02:00
Erik Montnemery
7a4f3fe7b8
Filter MQTT light JSON attributes ( #52242 )
2021-06-28 14:37:26 +02:00
Erik Montnemery
52c142a82d
Add support for color_mode white to MQTT light basic schema ( #51484 )
...
* Add support for color_mode white to MQTT light basic schema
* Add missing abbreviations
2021-06-22 11:59:20 +02:00
Erik Montnemery
a4587b5f3b
Deprecate support for undocumented value_template in MQTT light ( #51589 )
2021-06-08 08:23:51 +02:00
Erik Montnemery
4e5ec26ce6
Remove value_template from MQTT_RW_PLATFORM_SCHEMA ( #51590 )
2021-06-08 08:23:35 +02:00