Marc Mueller
7453b7df63
Improve mqtt schema typing ( #120407 )
2024-06-25 13:03:18 +02:00
J. Nick Koston
811ec57c31
Convert mqtt entity discovery to use callbacks ( #118200 )
2024-05-26 16:12:40 -10: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
b4acadc992
Rework mqtt callbacks for fan ( #118115 )
2024-05-25 11:09:24 -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
Jan Bouwhuis
488dae43d4
Improve lists for MQTT integration ( #113184 )
...
* Improve lists for MQTT integration
* Extra diagnostics tests
* Revert changes where the original version was probably faster
* Revert change to gather and await in series
2024-03-13 11:04:59 +01:00
Marc Mueller
59a6035d3f
Add empty line after module docstring [j-m] ( #112700 )
2024-03-08 09:01:29 -05: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
953a212dd6
Use ServiceValidationError for invalid fan preset_mode and move check to fan entity component ( #104560 )
...
* Use ServiceValidationError for fan preset_mode
* Use _valid_preset_mode_or_raise to raise
* Move preset_mode validation to entity component
* Fix bond fan and comments
* Fixes baf, fjaraskupan and template
* More integration adjustments
* Add custom components mock and test code
* Make NotValidPresetModeError subclass
* Update homeassistant/components/fan/strings.json
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Keep bond has_action validation
* Move demo test asserts outside context block
* Follow up comment
* Update homeassistant/components/fan/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Fix demo tests
* Remove pylint disable
* Remove unreachable code
* Update homeassistant/components/fan/__init__.py
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Use NotValidPresetModeError, Final methods
* Address comments
* Correct docst
* Follow up comments
* Update homeassistant/components/fan/__init__.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-29 13:56:51 +01:00
Jan Bouwhuis
4a4d2ad743
Fix mqtt config validation error handling ( #103210 )
...
* Fix MQTT config check
* Fix handling invalid enity_category for sensors
* Improve docstr
* Update comment
* Use correct util for yaml dump
2023-11-02 10:57:00 +01:00
Jan Bouwhuis
25ab622b51
Rename mqtt entry setup helpers to reflect their purpose ( #102378 )
...
Rename mqtt entry setup helpers
2023-10-20 13:36:24 +02:00
Jan Bouwhuis
3853214496
Do not fail MQTT setup if fans configured via yaml can't be validated ( #102310 )
...
Add fan
2023-10-19 18:48:35 +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
3da4815522
Avoid redundant calls to async_write_ha_state for mqtt fan ( #100777 )
...
Avoid redundant calls to async_write_ha_state
2023-09-25 17:59:33 +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
661aedde90
Remove MQTT platform schema warnings ( #93785 )
2023-05-31 09:02:48 +02:00
rubenbe
2f1a5942ab
Add MQTT fan direction support ( #91700 )
...
* Add MQTT fan direction support
* Add MQTT fan direction abbreviations
* Add MQTT fan direction tests
* Shorten MQTT fan test payloads
2023-04-24 11:48:00 +02:00
Franck Nijhof
800b8abe39
Code styling tweaks to the MQTT integration ( #85463 )
2023-01-08 22:07:10 +01:00
Jan Bouwhuis
9cf86b234b
Add optimistic option for MQTT climate ( #84777 )
2023-01-02 11:39:42 +01:00
Franck Nijhof
baef267f33
String formatting and max line length - Part 3 ( #84394 )
2022-12-22 13:35:47 +01:00
Jan Bouwhuis
f180f15bde
Cleanup removed mqtt fan speed config variables ( #82978 )
2022-11-30 13:14:41 +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
epenet
12cb17620e
Enforce FanEntityFeature ( #82458 )
...
* Enforce FanEntityFeature
* Adjust pylint
2022-11-22 07:13:54 +01:00
Jan Bouwhuis
7c2e7863d2
Remove legacy YAML support from MQTT ( #82102 )
2022-11-17 22:55:31 +01:00
Jan Bouwhuis
b3403d7fca
Improve MQTT type hints part 3 ( #80542 )
...
* Improve typing debug_info
* Improve typing device_automation
* Improve typing device_trigger
* Improve typing fan
* Additional type hints device_trigger
* Set fan type hints to class level
* Cleanup and mypy
* Follow up and missed hint
* Follow up comment
2022-11-03 13:06:53 +01:00
epenet
442c5ccc06
Use attr in mqtt fan ( #81401 )
...
* Use attr in mqtt fan
* Fix is_on
2022-11-02 16:25:18 +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
354411feed
Link manually added MQTT entities the the MQTT config entry ( #78547 )
...
Co-authored-by: Erik <erik@montnemery.com>
2022-09-18 12:55:31 -04: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
Jan Bouwhuis
5930f056a8
Mqtt support config_entry unload ( #70149 )
...
* 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
Erik Montnemery
f05b4a0ca0
Fire event_mqtt_reloaded only after reload is completed ( #74226 )
2022-06-30 10:15:25 -07:00
epenet
3c82c718cb
Improve typing in fans and locks ( #73901 )
2022-06-23 16:34:40 +02:00
epenet
48bd7cf5e1
Add missing ToggleEntity type hints in fans ( #73887 )
2022-06-23 12:01:05 +02:00
epenet
6b6e5fad3c
Add missing type hints in fans ( #73835 )
2022-06-22 18:43:41 +02:00
Jan Bouwhuis
57daeaa174
Fix MQTT config schema to ensure correct validation ( #73619 )
...
* 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 ( #72901 )
2022-06-02 11:32:31 -07: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
3e426c0fa6
Use EntityFeature enum in mqtt ( #69416 )
2022-04-07 09:44:26 +02:00
J. Nick Koston
723dcbafca
Complete fan speed transition from #59781 ( #67743 )
2022-03-09 10:38:12 +01:00
Erik Montnemery
fe38e6ba87
Drop MQTT import flow ( #66160 )
...
* 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
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
711bd7169e
Add Mqtt Fan unknown state support ( #65301 )
...
* Add Mqtt Fan unknown state support
* Update homeassistant/components/mqtt/fan.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Adjust default state in tests
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-02-03 16:48:03 +01:00
Erik Montnemery
f3a89de71f
Fix race when handling updated MQTT discovery data ( #65415 )
2022-02-02 17:12:22 -08:00
Jan Bouwhuis
7ea8d72133
Move CONF_COMMAND_TEMPLATE to .const ( #64558 )
2022-01-20 16:15:26 +01:00