Jan Bouwhuis
21affac571
Rename mqtt mixins module to entity.py
( #126279 )
2024-09-19 20:50:33 +02:00
Marc Mueller
7453b7df63
Improve mqtt schema typing ( #120407 )
2024-06-25 13:03:18 +02:00
Jan Bouwhuis
b7f1f805fa
Simplify subscription mqtt entity platforms ( #118177 )
2024-05-26 09:25:54 -10:00
J. Nick Koston
80371d3a73
Reduce duplicate publish code in mqtt ( #118163 )
2024-05-26 01:22:54 -10:00
J. Nick Koston
5d37217d96
Avoid expensive inspection of callbacks to setup mqtt subscriptions ( #118161 )
2024-05-26 01:22:44 -10:00
J. Nick Koston
9be829ba1f
Make mqtt internal subscription a normal function ( #118092 )
...
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-05-25 11:34:24 -10:00
Jan Bouwhuis
d4a95b3735
Refactor mqtt callbacks for light basic, json and template schema ( #118113 )
2024-05-25 11:24:38 -10:00
Jan Bouwhuis
050fc73056
Refactor shared mqtt schema's to new module ( #117944 )
...
* Refactor mqtt schema's to new module
* Remove unrelated change
2024-05-23 01:12:25 +02:00
Marc Mueller
59a6035d3f
Add empty line after module docstring [j-m] ( #112700 )
2024-03-08 09:01:29 -05:00
Jan Bouwhuis
0c2cf881ac
Deprecate old config options for MQTT json light ( #111676 )
...
* add deprecaction
* Deprecate old config options for mqtt json light
* Do not deprecate brightness flag
* Enable brightness support by default
* Keep `false` as default for brightness flag
* Add warnings and register issue
* log warning and register on use of color_mode flag
* Remove redundant cv.deprecated logging + follow up comments
2024-03-05 08:49:05 +01:00
Jan Bouwhuis
7bec5ef6bc
Use unknown color_mode for MQTT json lights if color mode is not set ( #108909 )
2024-01-26 14:42:47 +01:00
Jan Bouwhuis
e5a115ce1f
Fix mqtt json light state updates using deprecated color handling ( #105283 )
2023-12-08 16:54:02 +01:00
Jan Bouwhuis
e8475b9b33
Add scaling utils for brightness and fanspeed ( #104753 )
...
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-04 12:10:58 +01:00
Jan Bouwhuis
4bf88b1690
Improve MQTT json light brightness scaling ( #104510 )
...
* Improve MQTT json light brightness scaling
* Revert unrelated changes
* Format
2023-11-29 16:42:10 +01:00
Jan Bouwhuis
68f8b2cab5
Fix mqtt json light allows to set brightness value >255 ( #104220 )
2023-11-19 19:50:25 +01:00
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
e3837cd1e0
Use shorthand attr for mqtt assumed_state ( #100241 )
2023-09-12 22:21:13 +02:00
Ville Skyttä
34b47a2597
Remove unnnecessary pylint configs from components [m-r]* ( #98924 )
2023-08-24 00:56:50 +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
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
anotherthomas
179cc4d7f7
Improve warnings in mqtt light messages ( #89552 )
...
* improved warnings in mqtt light messages.
* fixed tests.
2023-03-13 14:46:16 +01:00
epenet
ba23816a0c
Inverse json import logic ( #88099 )
...
* Fix helpers and util
* Adjust components
* Move back errors
* Add report
* mypy
* mypy
* Assert deprecation messages
* Move test_json_loads_object
* Adjust tests
* Fix rebase
* Adjust pylint plugin
* Fix plugin
* Adjust references
* Adjust backup tests
2023-02-16 11:37:57 +01:00
epenet
a202588fd2
Add return type to json_loads ( #85672 )
...
* Add JSON type definitions
* Sample use
* Keep mutable for a follo-up PR (avoid dead code)
* Use list/dict
* Remove JsonObjectType
* Remove reference to Union
* Cleanup
* Improve rest
* Rename json_dict => json_data
* Add docstring
* Add type hint to json_loads
* Add cast
* Move type alias to json helpers
* Cleanup
* Create and use json_loads_object
* Make error more explicit and add tests
* Use JsonObjectType in conversation
* Remove quotes
2023-02-07 17:21:55 +01:00
Jan Bouwhuis
4aa61b0d64
Cleanup remains of legacy validation MQTT light ( #87467 )
2023-02-07 14:52:40 +01:00
Jan Bouwhuis
9cf86b234b
Add optimistic option for MQTT climate ( #84777 )
2023-01-02 11:39:42 +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
fb909d694f
Improve type hints MQTT light schema json ( #82208 )
...
* Improve type hints schema json
* Add hint for brightness
* Follow up comments
* Follow up missed comments
* Correct hint on flash arg
* hints on one line
2022-11-18 12:12:27 +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
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
d53d59eb6c
Improve warning messages on invalid received modes ( #77909 )
2022-09-09 11:12:09 +02:00
Erik Montnemery
b21f8c9ea8
Remove use of deprecated SUPPORT_* constants from MQTT light ( #77828 )
...
* Remove use of deprecated SUPPORT_* constants from MQTT light
* Refactor
2022-09-08 11:21:46 +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
60c8d95a77
Remove white_value support from light ( #76926 )
2022-08-18 08:21:05 -04:00
Erik Montnemery
4cc1428eea
Add support for color_mode white to MQTT JSON light ( #76918 )
2022-08-17 13:07:50 +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
J. Nick Koston
2742bf86e3
Switch mqtt to use json helper ( #73871 )
...
* Switch mqtt to use json helper
* whitespace
2022-06-23 14:29:09 +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
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
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