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
Sid
ac54cdcdb4
Enable Ruff RUF010 ( #115371 )
...
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-08 23:54:49 +02:00
Marc Mueller
59a6035d3f
Add empty line after module docstring [j-m] ( #112700 )
2024-03-08 09:01:29 -05:00
Jan Bouwhuis
c7b6c9da31
Remove work-a-round for mqtt sensors with an entity_category set to config
( #107199 )
...
* Remove work-a-round for mqtt sensors with an entity_category set to `config`
* Cleanup strings
2024-01-05 09:24:52 +01:00
Jan Bouwhuis
db97e7588b
Fix entity category for binary_sensor fails setup ( #103511 )
2023-11-08 14:10:24 +01:00
Jan Bouwhuis
cbccdbc6fa
Fix entity category for sensor fails mqtt sensor platform setup ( #103449 )
2023-11-08 00:03:47 +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
651b725cc0
Do not fail MQTT setup if binary sensors configured via yaml can't be validated ( #102300 )
...
Add binary_sensor
2023-10-19 18:15:21 +02:00
Jan Bouwhuis
db0c5bbbea
Fix mqtt sensor or binary_sensor state not saved after expiry ( #101670 )
...
Fix mqtt sensor state not saved after expire
2023-10-08 20:57:14 +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
aed3ba3acd
Avoid redundant calls to async_ha_write_state
in MQTT (binary) sensor ( #100438 )
...
* Only call `async_ha_write_state` on changes.
* Make helper class
* Use UndefinedType
* Remove del
* Integrate monitor into MqttEntity
* Track extra state attributes and availability
* Add `__slots__`
* Add monitor to MqttAttributes and MqttAvailability
* Write out loop
* Add test
* Make common test and parameterize
* Add test for last_reset attribute
* MqttMonitorEntity base class
* Rename attr and update docstr `track` method.
* correction doct
* Implement as a decorator
* Move tracking functions into decorator
* Rename decorator
* Follow up comment
2023-09-21 13:33:26 +02:00
Jan Bouwhuis
677431ed71
Fix key error MQTT binary_sensor when no name is set ( #99943 )
...
Log entitty ID when instead of name
2023-09-08 19:10:17 +02:00
J. Nick Koston
6e743a5bb2
Switch mqtt to use async_call_later where possible ( #99486 )
2023-09-02 11:55:11 -05: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
Franck Nijhof
5e81d28116
Update black to 23.1.0 ( #87188 )
2023-02-02 18:35:24 +01:00
Franck Nijhof
800b8abe39
Code styling tweaks to the MQTT integration ( #85463 )
2023-01-08 22:07:10 +01:00
Jan Bouwhuis
ee21bc5d7f
Allow MQTT device_class or state_class to be set as None
( #85106 )
...
* Allow MQTT device_class to be set as `None`
* Add test
* Also allow sensor state_class to be `None`
2023-01-04 15:21:07 +01:00
Franck Nijhof
baef267f33
String formatting and max line length - Part 3 ( #84394 )
2022-12-22 13:35:47 +01:00
Jan Bouwhuis
e15388a2a0
Improve MQTT type hints for dict get assignments ( #83634 )
...
* Improve type hints for dict get assignments
* Move _expire_after as class attr
* Remove extra check
2022-12-09 16:22:36 +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
Jan Bouwhuis
7c2e7863d2
Remove legacy YAML support from MQTT ( #82102 )
2022-11-17 22:55:31 +01:00
Jan Bouwhuis
b4ad03784f
Improve MQTT type hints part 1 ( #80523 )
...
* Improve typing alarm_control_panel
* Improve typing binary_sensor
* Improve typing button
* Add misssed annotation
* Move CONF_EXPIRE_AFTER to _setup_from_config
* Use CALL_BACK type
* Remove assert, improve code style
2022-11-02 20:33:18 +01:00
epenet
a255546e9d
Use attr in mqtt binary sensor and switch ( #81403 )
2022-11-02 13:41:14 +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
epenet
f62fbbe524
Use _attr_force_update in mqtt ( #77902 )
2022-09-07 23:42:16 +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
epenet
8ef87205f9
Improve type hints in mqtt ( #74247 )
2022-06-30 21:11:45 +02:00
Erik Montnemery
f05b4a0ca0
Fire event_mqtt_reloaded only after reload is completed ( #74226 )
2022-06-30 10:15:25 -07: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
17588c39a4
Move manual configuration of MQTT binary_sensor to the integration key ( #72183 )
...
Add binary_sensor
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-05-21 16:14:24 +02:00
Erik Montnemery
7e8d52e5a3
Fix race when handling rapid succession of MQTT discovery messages ( #68785 )
...
Co-authored-by: jbouwh <jan@jbsoft.nl>
2022-03-29 20:26:11 -07:00
Erik Montnemery
be0ef5ad6c
Correct MQTT binary_sensor and sensor state restoring ( #66690 )
2022-02-16 14:07:21 -08:00
Maciej Bieniek
41c43fe639
Fix type of value in MQTT binary sensor ( #66675 )
2022-02-16 12:11:50 -08: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
33623c3fe8
Fix race in MQTT sensor and binary_sensor expire_after ( #66040 )
2022-02-07 15:47:23 -08:00
Erik Montnemery
f3a89de71f
Fix race when handling updated MQTT discovery data ( #65415 )
2022-02-02 17:12:22 -08: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
bfaada34e2
Allow unknown
state to be set ( #65183 )
2022-01-31 10:25:08 +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
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
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
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
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