Commit Graph

901 Commits (91c0baf08687ef4cee13d9972bd13481caf6de02)

Author SHA1 Message Date
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
Jan Bouwhuis 2d011821ea
Add MQTT humidifier unknown state support (#65302)
* Add MQTT humidifier unknown state support

* Update homeassistant/components/mqtt/humidifier.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Fix tests for changed default optimistic state

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-02-03 16:49:09 +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
Jan Bouwhuis 3d434dffc7
Add support Mqtt switch for unkown state (#65294)
* Mqtt switch allow unkown state

* correct type

* Update discovery tests

* Optimistic mode if not state_topic is configured.

* Default state UNKNOWN in optimistic mode

* fix discovery test
2022-02-03 16:47:24 +01:00
Jan Bouwhuis 63459feede
Return current state if template throws (#65534) 2022-02-03 16:46:36 +01:00
Erik Montnemery f3a89de71f
Fix race when handling updated MQTT discovery data (#65415) 2022-02-02 17:12:22 -08:00
Erik Montnemery fda0fbd115
Stringify MQTT payload in mqtt/debug/info WS response (#65429) 2022-02-02 18:08:48 +01:00
Jan Bouwhuis 2c07330794
Fix MQTT expire_after effects after reloading (#65359)
* Cleanup sensor expire triggers after reload

* fix test binary_sensor

* Also trigger cleanup parent classes

* Restore an expiring state after a reload

* correct discovery_update

* restore expiring state with remaining time

* Update homeassistant/components/mqtt/binary_sensor.py

description

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Log remaining time

* Move check

* check and tests reload

* remove self.async_write_ha_state()

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-02-02 16:14:52 +01:00
Erik Montnemery 627be81531
Import registries in MQTT mixins (#65411) 2022-02-02 10:32:11 +01:00
Jan Bouwhuis 4991f1a693
Use super() in mqtt siren init (#65291) 2022-01-31 13:16:45 +01:00
Jan Bouwhuis 6fdaec0847
Add MQTT siren platform (#64440)
* Add mqtt siren draft

* fix tests

* Intergrate notify platform

* tests and fixes siren platform

* Add tests notify platform

* config parameters and abbreviations

* remove duplicate key

* undo move topic abbreviation

* Move const CONF_MESSAGE_COMMAND_TEMPLATE

* Remove notify service integration

* Rework

* Update homeassistant/components/mqtt/siren.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Publish JSON by default

* Allow unknown state - rename value_template

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-01-31 10:31:57 +01:00
Jan Bouwhuis bfaada34e2
Allow `unknown` state to be set (#65183) 2022-01-31 10:25:08 +01:00
GitHub Action ca7d4234e1 [ci skip] Translation update 2022-01-31 00:14:28 +00:00
GitHub Action 77ef86faee [ci skip] Translation update 2022-01-30 00:14:21 +00:00
Jan Bouwhuis 0cabf3e577
Fix MQTT climate action null warnings (#64658) 2022-01-27 08:41:27 +01:00
GitHub Action dd4e5bb9c5 [ci skip] Translation update 2022-01-27 00:14:02 +00:00
epenet 78e92d1662
Adjust pylint plugin to enforce platform type hints (#64836)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-24 18:51:06 +01:00
Jan Bouwhuis efe5b0ca81
Add command template for MQTT button (#63838)
* Add command template for MQTT button

* Move CONF_COMMAND_TEMPLATE
2022-01-23 12:48:41 +01:00
GitHub Action 47d3fb1dec [ci skip] Translation update 2022-01-23 00:13:53 +00:00
GitHub Action 9098c71cd4 [ci skip] Translation update 2022-01-22 00:13:08 +00:00
Jan Bouwhuis 7ea8d72133
Move CONF_COMMAND_TEMPLATE to .const (#64558) 2022-01-20 16:15:26 +01:00
Jan Bouwhuis 8b30751839
MQTT Remove unused and not tested code (#64550) 2022-01-20 13:47:46 +01:00
GitHub Action 04a2227f4b [ci skip] Translation update 2022-01-19 00:13:35 +00:00
GitHub Action c6d481ca01 [ci skip] Translation update 2022-01-17 00:14:48 +00:00
Marc Mueller 67c35652f0
Update typing - collections.abc (2) (#63934) 2022-01-12 09:04:37 +01:00
Jan Bouwhuis 65deaa1daf
Always send hvac_mode deprecate send_if_off (#63814) 2022-01-11 17:12:48 +01:00
Jan Bouwhuis aa73e5bd72
Fix MQTT climate optimistic preset modes (#63463)
* Always publish when preset_mode is set

* Revert "Fixed isort error"

This reverts commit 1a3c5e6460.

* isort
2022-01-11 17:08:26 +01:00
GitHub Action d3cd813c5e [ci skip] Translation update 2022-01-11 00:14:57 +00:00
Orce MARINKOVSKI b78e22e012
Update MQTT light schema template (#62759)
* shema template update

* tests to cover the additional template variables

* fix flake8: too many blank lines

* Update schema_template.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-01-10 09:57:56 +01:00
Marc Mueller 945b67c5c5
Fix 3rd party imports (#63455) 2022-01-05 19:00:47 +01:00
Marc Mueller ae6d9c229e
Use const imports [l-z] (#63469) 2022-01-05 18:21:20 +01:00
Marc Mueller b168a8c7d0
Use imports from `helpers.typing` (#63459) 2022-01-05 14:56:34 +01:00
Erik Montnemery d8e7236502
Cleanup handling of unsupported config keys in MQTT fan (#62681)
* Cleanup handling of unsupported config keys in MQTT fan

* Update fan.py
2022-01-03 17:54:03 +01: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 061ce0c187
Fix mqtt reloading and rework tests (#62950)
* Improve mqtt reloading/tests and fix issues

* Cleanup fixture for reloading test

* isort and black remove replaced test_reloadable
2022-01-03 15:14:50 +01:00
Jan Bouwhuis 0dab5e69db
Fix MQTT cover not using tilt_command_template (#63080) 2022-01-03 15:13:30 +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
epenet 2cc4d9846b
Add basic type hints to mqtt (#62875)
* Add basic type hints to mqtt

* Add hints to async_setup_platform

* Add type hint to async_setup_entry

* Fix pylint

* Set correct argument order in climate entity

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-03 08:53:52 +01:00
GitHub Action ea0b24a5f0 [ci skip] Translation update 2022-01-03 00:14:23 +00:00
epenet 20150daf1e
Fix incorrect parameter name/hint in mqtt climate (#63106)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-02 17:06:17 +01:00
epenet 33e926371f
Add init type hints [m] (#63189)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-01-02 16:28:14 +01:00
Sebastian Lövdahl d18f1cc872
Use Platform constants all over the place 2/3 (#62953) 2021-12-28 21:23:07 +01:00
epenet 8cc0df7b72
Ensure service calls are typed [k-n] (#62917)
* Ensure service calls are typed [k-n]

* Ensure service calls are typed in mazda

* Adjust mazda

* Add mazda comment

Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-28 14:33:08 +01:00
Dave T 8fd60dbd51
Refactor entity_category str types (#62790) 2021-12-27 18:23:08 +01:00
GitHub Action 8c8c7e91a2 [ci skip] Translation update 2021-12-25 00:13:29 +00:00
Erik Montnemery c1ada1754f
Reject MQTT cover discovery using unsupported tilt_invert_state (#62680) 2021-12-23 17:05:52 +01:00
GitHub Action babd753610 [ci skip] Translation update 2021-12-21 00:15:06 +00:00
epenet 079b7f217f
Use new enums in mqtt (#61936)
* Use new enums in mqtt

* Fix typo
2021-12-16 15:09:31 +01:00
Jan Bouwhuis d5defa8995
Support publishing MQTT messages with raw bytes payloads (#61090)
* correctly publish mqtt ouput

* Additional tests

* Add template test with binary output

* render_outgoing_payload with command templates

* use MqttCommandTemplate helper class

* add tests command_template

* Additional tests

* support pass-through for MqttComandTemplate

* fix bugs

* unify workform always initiate with hass

* clean up

* remove not needed lines

* comment not adding value
2021-12-15 11:28:43 +01:00
GitHub Action eb345bfdf1 [ci skip] Translation update 2021-12-14 00:13:33 +00:00
epenet da7c5f4722
Break long lines in discovery_info (#61431) 2021-12-10 12:48:47 +01:00
epenet c05eca1c82
Remove log flooding prevention logic from discovery info (#61243)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-08 10:28:26 -10:00
GitHub Action 5258c5fc9c [ci skip] Translation update 2021-12-07 00:51:52 +00:00
GitHub Action ecdb18eb0a [ci skip] Translation update 2021-12-06 00:13:37 +00:00
epenet b65b25c1bb
Move MqttServiceInfo to init.py (#60905)
Co-authored-by: epenet <epenet@users.noreply.github.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2021-12-03 19:34:48 +01:00
epenet 358922db56
Use dataclass for HassioServiceInfo (#60824)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-03 14:05:56 +01:00
Jan Bouwhuis 3307e54363
Add MQTT availability template and encoding (#60470)
* Add MQTT availability template and encoding

* use generic encoding field

* pylint and cleanup

* remove additional topic check
2021-12-02 10:21:31 +01:00
GitHub Action de792e3af2 [ci skip] Translation update 2021-12-02 00:13:02 +00:00
Franck Nijhof 16462df451
Add button device classes to MQTT (#60628) 2021-11-30 16:08:02 +01:00
Jan Bouwhuis 2a2a20fcb3
Add mqtt sensor configurable state encoding for sensor and binary_sensor platform (#60447)
* Add mqtt sensor state encoding

* Make encoding attribute not specific to states

* Move encoding attribute to schema base
2021-11-30 14:04:24 +01:00
Raphaël Beamonte 8600b5597a
Add 'trigger' support for MQTT Alarm Control Panel (#60525)
When configuring an Alarm Control Panel through MQTT discovery, it
was not possible to use the trigger service. This fixes that by making
it available the same way as ARM and DISARM services are.
2021-11-29 14:41:52 +01:00
GitHub Action 3af54d96c7 [ci skip] Translation update 2021-11-28 00:14:19 +00:00
GitHub Action 96313bbbe0 [ci skip] Translation update 2021-11-27 00:12:17 +00:00
GitHub Action 78b47019f9 [ci skip] Translation update 2021-11-26 00:12:49 +00:00
Hypnos 57fd632cd9
Add missing MQTT lock.open (#60022)
* Add missing MQTT lock.open

from:
https://community.home-assistant.io/t/mqtt-lock-open/232823/13
based on https://github.com/home-assistant/core/pull/48008

* Update homeassistant/components/mqtt/lock.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/mqtt/lock.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* Update homeassistant/components/mqtt/lock.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

* removed `STATE_OPEN` from tests

* Apply suggestions from code review

* Format code

* Update lock.py

* Update test_lock.py

* Update test_lock.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-11-25 15:54:08 +01:00
Till Skrodzki 635d875b1d
Only accept valid hvac actions sent via mqtt (#59919)
* Only accept valid hvac actions sent via mqtt

* Only accept valid hvac actions sent via mqtt

* Fix existing action test and remove old one

* Remote None as valid hvac action being accepted

* Change loglevel of wrong hvac action received
2021-11-25 15:53:34 +01:00
GitHub Action d3c020325b [ci skip] Translation update 2021-11-25 00:13:33 +00:00
Erik Montnemery 7c3edf24f2
Allow MQTT selects to have a single or no options (#60281) 2021-11-24 20:06:12 +01:00
Franck Nijhof 5c443b626a
Use native datetime value in MQTT sensors (#59923) 2021-11-23 22:10:14 +01:00
epenet f6bbdec6cb
Use BaseServiceInfo inheritance in MqttServiceInfo (#60207)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-23 16:52:33 +01:00
epenet 3b0d984959
Use dataclass for MqttServiceInfo (#60191)
* Use dataclass for MqttServiceInfo

* Drop test exception

Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-23 09:01:40 +01:00
GitHub Action 9e606abb0c [ci skip] Translation update 2021-11-23 00:13:54 +00:00
GitHub Action 31d4239b64 [ci skip] Translation update 2021-11-22 00:13:02 +00:00
GitHub Action 72b0eb719e [ci skip] Translation update 2021-11-20 00:12:27 +00:00
GitHub Action 29dc9de08f [ci skip] Translation update 2021-11-19 00:14:01 +00:00
GitHub Action 9a85c8d894 [ci skip] Translation update 2021-11-18 00:12:48 +00:00
Robert Hillis 16027b9f43
Fix mqtt undefined error (#59787) 2021-11-16 17:16:24 +01:00
David Beitey 1bcd62cd32
Add topic_template for mqtt.publish (#53743)
Co-authored-by: Erik Montnemery <erik@montnemery.com>

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2021-11-16 16:13:54 +01:00
epenet 4387bbfb94
Adjust async_step_mqtt signature for strict typing (#59761)
* Add MqttServiceInfo

* Adjust async_step_mqtt signature

* Adjust async_step_mqtt signature

* Adjust components

Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-11-16 13:30:38 +01:00
GitHub Action 3f2b1fa952 [ci skip] Translation update 2021-11-12 00:12:35 +00:00
GitHub Action 34bc1298aa [ci skip] Translation update 2021-11-11 00:15:23 +00:00
Erik Montnemery b5ce84cd89
Add MQTT button (#59348) 2021-11-09 12:04:14 +01:00
Erik Montnemery 7b9715bec3
Bump paho-mqtt to 1.6.1 (#59339) 2021-11-08 18:16:44 +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
GitHub Action e35b83081e [ci skip] Translation update 2021-11-08 00:12:31 +00:00
GitHub Action 332a571bb4 [ci skip] Translation update 2021-11-07 00:12:38 +00:00
Jan Bouwhuis c3fc19915e
Mqtt fan fail deprecated options for classic speeds (#58992)
* Fail deprecated options

* new removed validator

* correct module_name - add tests

* Add test cant find module cv.removed

* module name from stack+1

* Remove error from log. Just throw.

* assert on thrown exception text

* cleanup formatting remove KeyStyleAdapter

* format the replacement_key and update test

* deprecated vs removed - add raise_if_present opt

* doc string update

* is deprecated
2021-11-04 17:54:27 +01:00
GitHub Action c9c95165e4 [ci skip] Translation update 2021-11-04 00:12:21 +00:00
Jan Bouwhuis 0c4863198e
Add command_template to MQTT number platform (#58949) 2021-11-02 18:21:49 +01:00
Chris Browet 2df1ba2346
Add device_class to MQTT switch (#58931) 2021-11-02 17:40:05 +01:00
Jan Bouwhuis 339117aceb
Add command_template to mqtt select platform (#58934) 2021-11-02 17:33:23 +01:00
GitHub Action 0a94badb72 [ci skip] Translation update 2021-11-02 00:12:41 +00:00
GitHub Action 4e419d8c6f [ci skip] Translation update 2021-11-01 00:13:04 +00:00
Marc Mueller 4c68662612
Use assignment expressions 34 (#58823) 2021-10-31 19:01:16 +01:00
Marc Mueller b1d49b3b66
Use assignment expressions 29 (#58713) 2021-10-30 16:31:43 +02:00
Marc Mueller 887d04be60
Use assignment expressions 32 (#58716) 2021-10-30 16:30:13 +02:00
Erik Montnemery f3bd13d179
Fix regression in MQTT discovery (#58684)
* Fix regression in MQTT discovery

* Update test
2021-10-29 15:59:16 +02:00