Jan Bouwhuis
1a38b9f665
Improve coverage MQTT device_trigger ( #87408 )
...
* Improve coverage MQTT device_trigger
* Use assert
2023-02-09 17:42:32 +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
e58531f118
Add MqttData helper to mqtt ( #78825 )
...
* Add MqttData helper to mqtt
* Adjust client for circular dependencies
* Move MqttData to models.py
* Move get_mqtt_data to util.py
2022-09-20 19:40:06 +02:00
Jan Bouwhuis
1f410e884a
Make hass.data["mqtt"] an instance of a DataClass ( #77972 )
...
* Use dataclass to reference hass.data globals
* Add discovery_registry_hooks to dataclass
* Move discovery registry hooks to dataclass
* Add device triggers to dataclass
* Cleanup DEVICE_TRIGGERS const
* Add last_discovery to data_class
* Simplify typing for class `Subscription`
* Follow up on comment
* Redo suggested typing change to sasisfy mypy
* Restore typing
* Add mypy version to CI check logging
* revert changes to ci.yaml
* Add docstr for protocol
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
* Mypy update after merging #78399
* Remove mypy ignore
* Correct return type
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-17 21:43:42 +02:00
Marc Mueller
af002d9dc4
Use TriggerActionType [core, l-m] ( #76806 )
2022-08-15 17:39:55 +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
b7040efef6
Cleanup and use new MQTT_BASE_SCHEMA constants ( #72283 )
...
* Use new MQTT_BASE_SCHEMA constants
* Update constants for mqtt_room and manual_mqtt
* Revert removing platform key
2022-05-30 14:26:01 +02:00
epenet
5cfb31d28a
Adjust device_automation type hints in core components ( #72207 )
2022-05-23 16:07:34 +02:00
Jan Bouwhuis
3b2aae5045
Refactor MQTT discovery ( #67966 )
...
* Proof of concept
* remove notify platform
* remove loose test
* Add rework from #67912 (#1 )
* Move notify serviceupdater to Mixins
* Move tag discovery handler to Mixins
* fix tests
* Add typing for async_load_platform_helper
* Add add entry unload support for notify platform
* Simplify discovery updates
* Remove not needed extra logic
* Cleanup inrelevant or duplicate code
* reuse update_device and move to mixins
* Remove notify platform
* revert changes to notify platform
* Rename update class
* unify tag entry setup
* Use shared code for device_trigger `update_device`
* PoC shared dispatcher for device_trigger
* Fix bugs
* Improve typing - remove async_update
* Unload config_entry and tests
* Release dispatcher after setup and deduplicate
* closures to methods, revert `in` to `=`, updates
* Re-add update support for tag platform
* Re-add update support for device-trigger platform
* Cleanup rediscovery code revert related changes
* Undo discovery code shift
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/device_trigger.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* revert doc string changes
* move conditions
* typing and check config_entry_id
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Erik Montnemery <erik@montnemery.com>
* cleanup not used attribute
* Remove entry_unload code and tests
* update comment
* add second comment
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-04-15 12:35:08 +02:00
Erik Montnemery
ba6d1976df
Improve MQTT device removal ( #66766 )
...
* Improve MQTT device removal
* Update homeassistant/components/mqtt/mixins.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Adjust tests
* Improve test coverage
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-18 13:45:25 +01:00
Erik Montnemery
cd00464285
Remove use of hass.helpers from MQTT ( #66757 )
...
* Remove use of hass.helpers from MQTT
* Tweak
2022-02-17 23:18:03 +01: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
Jan Bouwhuis
879144b48d
MQTT rework constants ( #57529 )
...
* reference CONF_TOPIC to .const
* Organize common mqtt constants
2021-10-12 11:26:38 +02:00
Marc Mueller
364767ff22
Import Callable from collections.abc (4) ( #56778 )
2021-09-29 16:15:36 +02:00
Ville Skyttä
b10fc89a6b
Automation trigger info type hint improvements ( #55402 )
...
* Make automation trigger info a TypedDict
* zwave_js trigger type hint fixes
* Remove redundant automation trigger info field presence checks
* Use async_initialize_triggers in mqtt and tasmota device_trigger tests
2021-09-04 02:25:51 +02:00
Ville Skyttä
0095c6baeb
Improve device trigger type hinting ( #54907 )
2021-08-22 20:32:50 +02:00
Erik Montnemery
79ee112490
Enable basic type checking for mqtt ( #52463 )
...
* Enable basic type checking for mqtt
* Tweak
2021-07-05 10:33:12 +02:00
Erik Montnemery
76c3058d15
Rename device trigger base schema to DEVICE_TRIGGER_BASE_SCHEMA ( #51719 )
2021-06-10 19:11:38 +02:00
jan iversen
9410aefd0d
Integrations m*: Rename HomeAssistantType to HomeAssistant. ( #49567 )
2021-04-22 14:53:37 -07:00
Erik Montnemery
72281f4718
Validate device trigger schemas once ( #48319 )
2021-03-26 08:09:21 +01:00
Marc Mueller
4cb7718192
Update typing 16 ( #48087 )
2021-03-18 22:58:19 +01:00
Marc Mueller
25a13d1554
Update typing 10 ( #48071 )
2021-03-18 13:07:04 +01:00
Erik Montnemery
19cd29affa
Fix MQTT trigger where wanted payload may be parsed as an integer ( #47162 )
2021-02-28 12:19:27 -08:00
Erik Montnemery
047f16772f
Support templating MQTT triggers ( #45614 )
...
* Add support for limited templates (no HASS access)
* Pass variables to automation triggers
* Support templates in MQTT triggers
* Spelling
* Handle trigger referenced by variables
* Raise on unsupported function in limited templates
* Validate MQTT trigger schema in MQTT device trigger
* Add trigger_variables to automation config schema
* Don't print stacktrace when setting up trigger throws
* Make pylint happy
* Add trigger_variables to variables
* Add debug prints, document limited template
* Add tests
* Validate MQTT trigger topic early when possible
* Improve valid_subscribe_topic_template
2021-02-08 10:50:38 +01:00
Erik Montnemery
b85efd343f
Move MQTT entity helpers to separate file ( #44838 )
...
* Move MQTT entity helpers to separate file
* Fix imports
* Update MQTT number
* Review comments
* Fix formatting
2021-01-09 00:47:17 +01:00
Erik Montnemery
34bd70aee6
Fix race when handling MQTT discovery messages ( #44730 )
...
* Fix race when handling MQTT discovery messages
* Lint
* retrigger checks
2021-01-04 12:28:17 +01:00
Erik Montnemery
97edbaa85f
Small cleanup of MQTT ( #44110 )
...
* Use relative imports of mqtt component in mqtt platforms
* Correct parameters to _async_setup_entity
* Lint
2020-12-10 21:30:07 +01:00
Franck Nijhof
1c2ebdf307
Upgrade black to 20.8b1 ( #39287 )
2020-08-27 13:56:20 +02:00
Phil Bruckner
ca9dd0c833
Reorganize trigger code ( #38655 )
2020-08-17 11:54:56 -05:00
Ville Skyttä
ac0dbb17af
Attrs cleanups ( #37849 )
2020-07-14 10:30:30 -07:00
Erik Montnemery
f1af5b71e2
Correct MQTT device trigger reconfiguration with same topic ( #36234 )
2020-05-28 15:50:23 -07:00
Erik Montnemery
fb93b79b12
Add MQTT debug info ( #33461 )
...
* Add MQTT debug info
* Tweaks
* Tweaks
2020-04-01 10:00:40 -07:00
Erik Montnemery
8bc542776b
Cleanup entity and device registry on MQTT discovery removal ( #32693 )
...
* Cleanup entity and device registry on MQTT discovery removal.
* Review comments
2020-03-11 18:00:47 -07:00
Erik Montnemery
324dfe07b4
Clear discovery topic for MQTT device triggers ( #32617 )
2020-03-09 21:59:38 -07:00
Erik Montnemery
7e387f93d6
Add MQTT WS command to remove device ( #31989 )
...
* Add MQTT WS command to remove device
* Review comments, fix test
* Fix tests
2020-02-24 20:46:02 -08:00
Erik Montnemery
60ae85564e
Add support for MQTT device triggers ( #31679 )
...
* Add support for MQTT device triggers
* Fix test, tweaks
* Improve test coverage
* Address review comments, improve tests
* Tidy up exception handling
* Fix abbreviations
* Rewrite to handle update of attached triggers
* Update abbreviation test
* Refactor according to review comments
* Refactor according to review comments
* Improve trigger removal
* Further refactoring
2020-02-18 13:51:10 -08:00