Commit graph

60483 commits

Author SHA1 Message Date
Erik Montnemery
130c8ea5f5
Update OTRB config entry if REST API port has changed (#90101)
* Update OTRB config entry if REST API port has changed

* Improve test coverage
2023-03-22 14:03:39 +01:00
Erik Montnemery
0ecd043cb2
Add test helper mock_config_flow (#90103) 2023-03-22 08:59:35 -04:00
Paulus Schoutsen
0ca6723378
Allow passing binary to the WS connection (#89882)
* Allow passing binary to the WS connection

* Expand test coverage

* Test non-existing handler

* Allow signaling end of stream using empty payloads

* Store handlers in a list

* Handle binary handlers raising exceptions
2023-03-22 08:36:36 -04:00
Erik Montnemery
19d56a7102
Change error handling in async_process_play_media_url (#90052) 2023-03-22 13:32:02 +01:00
Paulus Schoutsen
9b9ed21dc4
Update hass-nabucasa to 0.62.0 (#90085) 2023-03-22 13:24:28 +01:00
Matrix
87e6dd3949
YoLink flexfob support (#90027) 2023-03-22 12:01:04 +01:00
Klaas Schoute
7efe058aa6
Bump easyEnergy to v0.2.2 (#90080) 2023-03-22 10:46:17 +01:00
Jan Bouwhuis
214286acb9
Prepare MQTT platorm tests part1 (#90051)
* Add help_custom_config

* Tests alarm_control_panel

* Tests binary_sensor

* Only use help_custom_config with iterable options
2023-03-22 10:23:08 +01:00
Michael
d25e394310
Implement data update coordinator for nextcloud (#89652)
* implement data update coordinator

* apply suggestions

* apply suggestions
2023-03-22 09:18:09 +01:00
J. Nick Koston
96225bb287
Rename recorder run_history to table_managers.recorder_runs_manager (#90070) 2023-03-21 18:38:33 -10:00
Luke
1439a3d572
Bump to oralb-ble 0.17.6 (#90081) 2023-03-21 17:09:38 -10:00
J. Nick Koston
88ad97f112
Fix generating statistics for time periods smaller than we can measure (#90069)
If the time period for the mean/time weighted average was smaller
than we can measure (less than one microsecond), generating
statistics would fail with a divide by zero error. This is likely
only happens if the database schema precision is incorrect.
2023-03-21 21:12:45 -04:00
Michael Hansen
0e7ffff869
Add TTS to pipelines (#90004)
* Add text to speech and stages to pipeline

* Default to "cloud" TTS when engine is None

* Refactor pipeline request to split text/audio

* Refactor with PipelineRun

* Generate pipeline from language

* Clean up

* Restore TTS code

* Add audio pipeline test

* Clean TTS cache in test

* Clean up tests and pipeline base class

* Stop pylint and pytest magics from fighting

* Include mock_get_cache_files
2023-03-21 21:10:31 -04:00
J. Nick Koston
ddcaa9d372
Break out statistics repairs into a auto_repairs modules (#90068)
* Break out statistics schema repairs into a repairs module

A future PR will add repairs for events, states, etc

* reorg

* reorg

* reorg

* reorg

* fixes

* fix patch targets

* name space rename
2023-03-21 21:08:06 -04:00
J. Nick Koston
086bcfb2fc
Make recorder migration column types for each dialect constants (#90072)
Make column types for each dialect constants
2023-03-21 21:06:10 -04:00
Franck Nijhof
f98d685154
Refactor WLED select tests (#89219) 2023-03-21 22:32:41 +01:00
Franck Nijhof
980425508a
Update twentemilieu to 1.0.0 (#90071) 2023-03-21 22:31:55 +01:00
Michael
d4cc4a343d
Use has_template property from lib in Fritz!SmartHome (#89152) 2023-03-21 21:33:33 +01:00
dougiteixeira
0f5c49c7be
Fix translation string for fan oscillation (#90045)
Fix string
2023-03-21 15:42:44 -04:00
starkillerOG
d20b07f3ac
Bump reolink-aio to 0.5.6 (#90059) 2023-03-21 14:16:50 -04:00
Franck Nijhof
ed4e49a4c2
Add translations for Counter (#89989) 2023-03-21 18:41:27 +01:00
J. Nick Koston
616e6e6ae8
Fix missing length on context id and incorrect precision with MariaDB (dev only fix) (#90058)
Fix missing length on context id column with MariaDB

spotted by @dcoder42

The migration still worked as intented but the blob should have been
a bit smaller.

This only affects dev so there is no need for a backport
2023-03-21 13:14:27 -04:00
epenet
c507ca1e66
Improve type hints in rachio switch (#90050) 2023-03-21 15:53:51 +01:00
epenet
1895c82ffc
Fix fritzbox TypedDict definition (#90043) 2023-03-21 15:52:30 +01:00
epenet
1303dd12e7
Improve type hints in zha fan (#90042) 2023-03-21 15:21:56 +01:00
Jan Bouwhuis
6f88fe93ef
Only publish mqtt_statestream when MQTT is started (#89833)
* Only publish mqtt_statestream when ha is started

* also catch startup states and use event filter

* Add check for MQTT to be available first

* Make sure MQTT is available and started

* Fix test

* Improve test

* Reset mock before assertung not called
2023-03-21 10:21:45 -04:00
Erik Montnemery
41ea8fa9b4
Guess media type when cast is playing media without media type (#90048) 2023-03-21 10:01:35 -04:00
epenet
93efdc4991
Improve switch and climate type hints in integrations (#90040) 2023-03-21 13:26:41 +01:00
jan iversen
9092a76dbf
Correct typing of pymodbus in modbus (#90039) 2023-03-21 13:26:03 +01:00
epenet
f01f5e1d2a
Improve type hints in tuya vacuum (#90041) 2023-03-21 13:25:19 +01:00
Franck Nijhof
2a0401366b
Add state translations for all day calendar attribute (#89988) 2023-03-21 07:53:05 -04:00
Franck Nijhof
6d3c3ff4fb
Add state translations for Select entities (#89995) 2023-03-21 12:45:06 +01:00
Franck Nijhof
0467c8ff63
Add attribute state translations for oscillating fans (#89990) 2023-03-21 07:39:07 -04:00
epenet
485a78e0cf
Improve light type hints in integrations (#90035)
* Improve light type hints in integrations

* Improve
2023-03-21 11:40:33 +01:00
epenet
33e698d67f
Improve notify type hints in integrations (#90034) 2023-03-21 11:40:19 +01:00
epenet
86b4354477
Improve native_value type hints in integrations (#90033) 2023-03-21 11:40:06 +01:00
epenet
0e1c76f81f
Improve sensor type hints in integrations (#90031)
* Improve sensor type hints in integrations

* Improve
2023-03-21 11:39:42 +01:00
epenet
4836404288
Improve media_player type hints in integrations (#90029)
Fix some media_player type hints
2023-03-21 11:10:12 +01:00
epenet
04872f72ea
Improve humidifier type hints in integrations (#90030)
Fix humidifier type hints in integrations
2023-03-21 10:32:13 +01:00
epenet
292feb4e24
Enable inheritance checks on ExtraStoredData (#90021) 2023-03-21 09:51:05 +01:00
Allen Porter
43ce6f843c
Update the calendar trigger based on PR feedback (#90017) 2023-03-21 09:21:14 +01:00
Jan Bouwhuis
d865440012
Prepare MQTT common tests part3 (#90022) 2023-03-21 09:19:20 +01:00
Franck Nijhof
23f136e9d6
Add state translations for Siren entities (#89994) 2023-03-21 09:16:32 +01:00
Jan Bouwhuis
fe49861e26
Prepare MQTT common tests part4 (#90023)
* Upd test_setting_attribute_via_mqtt_json_message

* Update test_setting_attribute_with_template

* Update test_update_with_json_attrs_not_dict

* Update test_update_with_json_attrs_bad_json
2023-03-21 09:07:46 +01:00
epenet
dd1700954b
Deprecate YAML in SamsungTV (#89743)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-03-21 09:00:17 +01:00
Tom Harris
0c0c86bf7b
Add support for new Insteon i3 devcies (#89892) 2023-03-20 21:56:44 -10:00
J. Nick Koston
a8e95684fa
Fix websocket back pressure bottleneck (#89905) 2023-03-20 21:51:39 -10:00
Jan Bouwhuis
91dbda1ce7
Add mqtt common tests for availability (part2) (#89805)
* update test_availability_when_connection_lost

* Adjust test_availability_without_topic

* Update test_default_availability_payload + helper

* Update test_default_availability_list_payload

* Use helper for async_setup_component

* Update test_default_availability_list_*

* Update test_custom_availability_payload
2023-03-21 08:20:37 +01:00
J. Nick Koston
0303618705
Handle cancelation of wait_for_ble_connections_free in esphome bluetooth (#90014)
Handle cancelation in wait_for_ble_connections_free

If `wait_for_ble_connections_free` was canceled due to timeout or
the esp disconnecting from Home Assistant the future would get
canceled. When we reconnect and get the next callback we need
to handle it being done.

fixes
```
2023-03-21 02:34:36.876 ERROR (MainThread) [homeassistant] Error doing job: Fatal error: protocol.data_received() call failed.
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/asyncio/selector_events.py", line 868, in _read_ready__data_received
    self._protocol.data_received(data)
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py", line 195, in data_received
    self._callback_packet(msg_type_int, bytes(packet_data))
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/_frame_helper.py", line 110, in _callback_packet
    self._on_pkt(Packet(type_, data))
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/connection.py", line 688, in _process_packet
    handler(msg)
  File "/usr/local/lib/python3.10/site-packages/aioesphomeapi/client.py", line 482, in on_msg
    on_bluetooth_connections_free_update(resp.free, resp.limit)
  File "/usr/src/homeassistant/homeassistant/components/esphome/entry_data.py", line 136, in async_update_ble_connection_limits
    fut.set_result(free)
asyncio.exceptions.InvalidStateError: invalid state
```
2023-03-20 23:49:59 -04:00
J. Nick Koston
7158dbc142
Bump yalexs-ble to 2.1.1 (#90015)
* Bump yalexs-ble to 2.1.1

There was another task that could be prematurely GCed

changelog: https://github.com/bdraco/yalexs-ble/compare/v2.1.0...v2.1.1

* fixes
2023-03-20 23:49:30 -04:00