Commit Graph

230 Commits (09bd44969832915f1bd712db933aa27d3b7962ad)

Author SHA1 Message Date
J. Nick Koston e0df91ef9f
Update mqtt to use HassJob (#41796)
Avoids the overhead of checking the callable type at run time
2020-10-14 22:04:48 +02:00
J. Nick Koston da2f9db62e
Fix async functions accidentally marked as callbacks (#41607) 2020-10-10 16:54:36 +02:00
Erik Montnemery 392d5c673a
Cache matching MQTT subscriptions (#41433) 2020-10-08 08:52:23 +02:00
Erik Montnemery 343e5d64b8
Add MQTT integration discovery (#41332)
* Add MQTT integration discovery

* Add script/hassfest/mqtt.py

* Unsubscribe if config entry exists

* Add homeassistant/generated/mqtt.py

* Fix bad loop

* Improve tests

* Improve tests

* Apply suggestions from code review

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>

* Prevent initiating multiple config flows

Co-authored-by: Fabian Affolter <mail@fabian-affolter.ch>
2020-10-07 18:30:51 +02:00
Erik Montnemery 06e9489fc7
Add Tasmota integration (#39624)
* Add Tasmota integration

* Refactor

* Add tests, small improvements

* isort

* Attempt to fix tests failing with Python 3.8

* Revert "Attempt to fix tests failing with Python 3.8"

This reverts commit 11454f8a00136f068ea27204183fa3e62f3cd263.

* Fix tests failing with Python 3.8

* Cleanup tests

* Address review comments

* Address review comments

* Address review comments

* Use MAC address for device identification

* Bump hatasmota

* Bump hatasmota

* Apply suggestions from code review

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fix indentation

* Remove preparation for device remove WS API

* Address review comments

* Remove useless try-except

* Tweak

* Improve tests

* Tweak

* Address review comments

* Correct test

* Update manifest.json

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2020-10-06 14:51:58 +02:00
J. Nick Koston a11fd08d20
Create MQTTMatcher once per subscription instead of each message (#40345)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-09-30 17:18:43 +02:00
Erik Montnemery e7f832a82f
Add MQTT tag scanner (#40709) 2020-09-28 22:04:27 +02:00
Erik Montnemery a50f121011
Get option flow defaults from yaml for non configured MQTT options (#40177) 2020-09-19 22:10:01 +02:00
springstan a13c4d4c17
Increase TIMEOUT_ACK to 10s (#40117) 2020-09-16 08:14:11 +02:00
Erik Montnemery 0f3a2f1f29
Increase TIMEOUT_ACK to 2s (#40080) 2020-09-14 22:10:30 +02:00
Erik Montnemery 4d6e694d14
Fix discovery update of MQTT state templates (#39901) 2020-09-10 20:52:23 +02:00
J. Nick Koston 65e53b8251
Support reloading mqtt yaml configuration (#39531) 2020-09-02 20:16:21 -05:00
Franck Nijhof 1c2ebdf307
Upgrade black to 20.8b1 (#39287) 2020-08-27 13:56:20 +02:00
Erik Montnemery 114a7226d6
Wait before sending MQTT birth message (#39120)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2020-08-25 16:42:24 +02:00
Erik Montnemery b1c0d8fb6c
Minor cleanup of MQTT ACK handling (#39217) 2020-08-24 17:28:07 +02:00
Erik Montnemery 3df67ff9e1
Fix race when waiting for MQTT ACK (#39193) 2020-08-24 11:13:12 +02:00
Erik Montnemery ee043d8614
Wait for broker to ACK MQTT operations (#39051)
* Wait for broker to ACK MQTT operations

* Deduplicate new code

* Fix tests

* Improve test

* Don't hold PAHO lock when waiting for ACK

* Fix tests

* Add constant for ACK timeout
2020-08-21 17:00:13 +02:00
Erik Montnemery 4fa346278c
Enable PAHO MQTT client logging (#38767) 2020-08-11 22:54:41 +02:00
Michaël Arnauts d7d7ee6524
Use global CONF_UNIQUE_ID for mqtt (#38595)
* Use global CONF_UNIQUE_ID for mqtt

* Update __init__.py

* Update __init__.py

* Update __init__.py

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2020-08-09 16:00:14 -05:00
Erik Montnemery 4ed1f8023b
Suppress MQTT discovery updates without changes (#38568) 2020-08-06 10:43:47 +02:00
Erik Montnemery fa0e12ffe8
Use keywords for MQTT birth and will (#38040) 2020-07-21 14:10:34 -07:00
Erik Montnemery 908b72370b
Correct arguments to MQTT will_set (#38036) 2020-07-21 12:36:21 -07:00
Erik Montnemery 53d6f4948e
Adapt MQTT config flow to default birth and will (#37875) 2020-07-15 11:16:03 -07:00
Ville Skyttä ac0dbb17af
Attrs cleanups (#37849) 2020-07-14 10:30:30 -07:00
Erik Montnemery b187b17a4f
Fix MQTT availability startup race (#37718) 2020-07-10 09:40:15 -07:00
Erik Montnemery 383db60dff
Tweak MQTT availability (#37719) 2020-07-10 09:39:18 -07:00
Erik Montnemery b63655057c
Publish birth and will messages by default (#37371)
* Publish birth and will messages by default

* Remove useless copy
2020-07-04 17:49:08 +02:00
Erik Montnemery 4b3ad0a1cd
Support multiple MQTT availability topics (#37418)
* Support multiple MQTT availability topics

* Make availability list and availability_topic exclusive

* Make availability list and availability_topic exclusive

* Add missing abbreviation
2020-07-04 17:48:34 +02:00
Erik Montnemery cd5f6a0c56
Don't print MQTT credentials to log (#37364) 2020-07-03 11:01:22 -07:00
definitio 12510b0c97
Fixes after PR #36479 (#37230) 2020-06-29 15:36:52 -07:00
Erik Montnemery bb17cbdd83
Drop MQTT broker tls_version parameter (#37033) 2020-06-23 12:12:37 -07:00
Erik Montnemery 1b3e5460a9
Remove embedded MQTT broker (#37032) 2020-06-23 09:51:50 -07:00
Erik Montnemery 747490ab34
Support reconfiguring MQTT config entry (#36537) 2020-06-22 17:49:01 -07:00
Erik Montnemery a2e2c35011
Use pytest for more MQTT tests (#36859)
* Use pytest for more MQTT tests

* Address review comments

* Break out PAHO client mock in separate fixture.

* tweak.
2020-06-22 22:02:29 +02:00
Erik Montnemery 35cd6b9abf
Remove unused parameter for MQTT discovery (#36526)
* Remove unused parameter for MQTT discovery

* Fix tests
2020-06-07 19:35:35 +02:00
definitio ad5101c5c0
Set state for MQTT entities to 'unavailable' when no connection to broker (#36479)
* Report 'unavailable' state when not connected

to MQTT broker

* Fix tests

* Rewrite to remove the polling

* Add tests

* Add some fixes
2020-06-07 09:21:16 +02:00
Quentame 1855c91988
Use CONF_CLIENT_ID & CONF_CLIENT_SECRET from homeassistant.const (#36233)
* Use CONF_CLIENT_ID & CONF_CLIENT_SECRET from homeassistant.const

* Fix pylint

* Use in tests

* Search for "client_id"

* Fix tests

* Fix test

* Fix test
2020-05-30 17:27:20 +02:00
Erik Montnemery f1af5b71e2
Correct MQTT device trigger reconfiguration with same topic (#36234) 2020-05-28 15:50:23 -07:00
Erik Montnemery 8de863ecf1
Let PAHO MQTT client handle connection to MQTT server (#35983)
* Let PAHO client handle connection to MQTT server
2020-05-26 17:12:22 +02:00
Erik Montnemery 4448eb94a1
Only subscribe when MQTT client is connected. (#34557) 2020-04-22 14:38:04 -07:00
Erik Montnemery 6631bbc6f5
Remove reconnect logic from MQTT client. (#34556) 2020-04-22 14:28:36 -07:00
Erik Montnemery 877eb0c3ad
Don't log same MQTT message multiple times (#34511) 2020-04-21 16:48:04 -07:00
Erik Montnemery f3b6575272
Fix MQTT debug info for subscriptions with wildcard. (#33744) 2020-04-06 10:25:09 -07:00
Franck Nijhof 6f1900c6f4
Replace OSError aliases with OSError (#33655) 2020-04-04 22:09:11 +02:00
Franck Nijhof b9b1cee403
Enable pylint import-outside-toplevel (#33631) 2020-04-04 17:07:36 +02:00
Erik Montnemery 457d439e24
Fix MQTT cleanup regression from #32184. (#33532) 2020-04-02 09:52:05 -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 9508c51403
Fix change of entity_id for discovered MQTT entities (#33444) 2020-03-30 14:26:59 -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
springstan ba0aaeeddb
Use f-strings in integrations starting with "M" (#32271)
* Use f-strings in integrations starting with "M"

* Format mqtt light init with black

* Fix lint error

* Fix pylint error

* Restore constants

* Update homeassistant/components/mqtt/discovery.py

* Update homeassistant/components/mqtt/discovery.py

* Update homeassistant/components/mqtt/discovery.py

* Update homeassistant/components/mqtt/discovery.py

* Format with Black
2020-03-10 23:34:54 +01:00