Commit graph

434 commits

Author SHA1 Message Date
Erik Montnemery
335a918118
Create MQTT discovery flow when manual config is present (#66248)
* Create MQTT discovery flow when manual config is present

* Change to integration_discovery flow

* Add test

* Add default handler for integration_discovery
2022-02-11 10:31:51 +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
Erik Montnemery
55d8314093
Fix cleanup of MQTT debug info (#66104) 2022-02-08 12:49:25 -08:00
Erik Montnemery
8245ff7473
Log transmitted MQTT messages (#65550) 2022-02-04 17:35:32 +01:00
Jan Bouwhuis
2f0d0998a2
Add Mqtt vacuum unknown state (#65311)
* Add Mqtt vacuum `unknown` status

* Update tests/components/mqtt/test_state_vacuum.py

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

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-02-03 16:50:39 +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
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
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
Erik Montnemery
dccc4eba76
Remove artifacts from black formatting (#65113)
* Remove artifacts from black formatting

* Tweak
2022-01-28 17:00:01 +02:00
Jan Bouwhuis
0cabf3e577
Fix MQTT climate action null warnings (#64658) 2022-01-27 08:41:27 +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
Jan Bouwhuis
31a9d64572
Improve code coverage MQTT integration (#64546) 2022-01-20 13:51:19 +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
Erik Montnemery
3083f059cc
Drop last_reset attribute for non 'total' sensors (#63880)
* Drop last_reset attribute for non 'total' sensors

* Adjust MQTT tests

* Add exception for utility_meter

* Rewrite exception for utility_meter

* Add comment in utility_meter

* Tweak comment
2022-01-11 13:58:35 +01: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
Franck Nijhof
3f7275a9c7
Give scenes last activated state (#62673) 2022-01-07 19:02:32 +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
86ed091dbf
Skip raw encoding test for cover (#63322) 2022-01-03 17:08:28 +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
Franck Nijhof
60b2cdd069
Allow binary sensor state to be None (#60193) 2021-12-22 12:24:29 +01:00
Dave T
043a4b06d0
Use new enums in mqtt tests (#62520) 2021-12-21 22:04:32 +01:00
Ville Skyttä
f913961d63
Use DeviceAutomationType in tests/components/[m-r]* (#62443) 2021-12-20 22:29:22 +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
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
Jan Bouwhuis
88b93546f3
Re-add-tests with new filters removed with #60854 (#60895) 2021-12-03 11:04:05 -08: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
Erik Montnemery
9f4a99fe81
Revert "Add bytes support for bitwise template operations" (#60854) 2021-12-03 08:50:29 +01:00
J. Nick Koston
d7c4a669f1
Revert "Use HassioServiceInfo in mqtt tests" (#60867) 2021-12-02 10:13:41 -10:00
epenet
37200decf9
Use HassioServiceInfo in mqtt tests (#60865) 2021-12-02 10:10:50 -10: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
epenet
6caaa5f6bd
Add compatibility tests for MqttServiceInfo (#60754)
Co-authored-by: epenet <epenet@users.noreply.github.com>
2021-12-01 17:04:49 +01:00
Franck Nijhof
16462df451
Add button device classes to MQTT (#60628) 2021-11-30 16:08:02 +01:00
Jan Bouwhuis
cd351cf22b
Fix test naming switch (#60630) 2021-11-30 15:45:06 +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
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