Commit graph

2260 commits

Author SHA1 Message Date
Erik Montnemery
48f7924e9e
Allow specifying a custom log function for template render ()
* Allow specifying a custom log function for template render

* Bypass template cache when reporting errors + fix tests

* Send errors as events

* Fix logic for creating new TemplateEnvironment

* Add strict mode back

* Only send error events if report_errors is True

* Force test of websocket_api only

* Debug test

* Run pytest with higher verbosity

* Timeout after 1 minute, enable syslog output

* Adjust timeout

* Add debug logs

* Fix unsafe call to WebSocketHandler._send_message

* Remove debug code

* Improve test coverage

* Revert accidental change

* Include severity in error events

* Remove redundant information from error events
2023-09-06 10:03:35 +02:00
Erik Montnemery
cdca4591a4
Include template listener info in template preview () 2023-09-06 09:49:42 +02:00
J. Nick Koston
a2dae60170
Refactor dispatcher to reduce run time and memory overhead ()
* Fix memory leak in dispatcher removal

When we removed the last job/callable from the dict for the
signal we did not remove the dict for the signal which meant
it leaked

* comment

* cleanup a bit more
2023-09-05 21:18:27 -04:00
Erik Montnemery
de73cafc8b
Small cleanup of TemplateEnvironment ()
* Small cleanup of TemplateEnvironment

* Fix typo
2023-09-04 22:19:40 +02:00
Erik Montnemery
709ce7e0af
Set state of entity with invalid state to unknown ()
* Set state of entity with invalid state to unknown

* Add test

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Update test_entity.py

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-09-04 14:09:51 +02:00
J. Nick Koston
5f487b5d85
Refactor async_call_at and async_call_later event helpers to avoid creating closures () 2023-09-03 08:19:06 -05:00
Allen Porter
7b1c0c2df2
Extend template entities with a script section ()
* Extend template entities with a script section

This allows making a trigger entity that triggers a few times a day,
and allows collecting data from a service resopnse which can be
fed into a template entity.

The current alternatives are to publish and subscribe to events or to
store data in input entities.

* Make variables set in actions accessible to templates

* Format code

---------

Co-authored-by: Erik <erik@montnemery.com>
2023-09-02 16:19:45 -07:00
Erik Montnemery
691bbedfc8
Fix typo in TrackTemplateResultInfo () 2023-08-29 08:54:38 -05:00
J. Nick Koston
0e6b3d6583
Switch async_track_same_state to use async_call_later ()
* Switch async_track_same_state to use async_call_later

There was no need to use async_track_point_in_utc_time here since
we only need a delay

* update trigger tests

* remove some more utcnow patching

* remove some more utcnow patching

* remove some more utcnow patching
2023-08-28 22:30:20 +02:00
J. Nick Koston
80d2309896
Switch async_track_time_interval to use async_call_later internally () 2023-08-28 13:56:22 -05:00
Erik Montnemery
9dac6a2948
Use loop.time in DataUpdateCoordinator () 2023-08-28 10:16:34 -05:00
Erik Montnemery
3a71e21d6a
Add and improve comments about staggering of event listeners () 2023-08-25 19:47:13 +02:00
G Johansson
61c17291fb
Move TemplateEntity to template ()
* Move TemplateEntity to template

* Rename template_entity in helpers
2023-08-24 15:37:04 +02:00
G Johansson
b69e8fda77
Remove TemplateSensor from the template_entity helper ()
Clean off TemplateSensor
2023-08-24 12:14:39 +02:00
Erik Montnemery
d282ba6bac
Use a single WS command for group preview ()
* Use a single WS command for group preview

* Fix tests
2023-08-24 11:59:24 +02:00
Erik Montnemery
c47983621c
Teach CoordinatorWeatherEntity about multiple coordinators () 2023-08-24 11:28:20 +02:00
Ville Skyttä
6399d74c15
Remove unnnecessary pylint configs from core () 2023-08-22 23:12:12 +02:00
Shay Levy
0d55718117
Downgrade Debouncer call ignored log message () 2023-08-22 14:42:33 -05:00
Erik Montnemery
b885dfa5a8
Add preview to sensor group config and option flows () 2023-08-22 10:29:16 +02:00
Michael Arthur
82b3ced4f1
Add lawnmower entity ()
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-08-21 12:19:55 +02:00
Ville Skyttä
3094991236
Upgrade ruff to 0.0.285 () 2023-08-19 08:17:17 -04:00
G Johansson
268e5244f0
Cleanup ManualTriggerSensorEntity ()
* Cleanup ManualTriggerSensorEntity

* ConfigType
2023-08-18 20:19:17 +02:00
Erik Montnemery
7fcc2dd44e
Make the check_config script open issue_registry read only ()
* Don't blow up if validators can't access the issue registry

* Make the check_config script open issue_registry read only

* Update tests/helpers/test_issue_registry.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-08-18 20:15:00 +02:00
Erik Montnemery
91faa53843
Don't allow hass.config.config_dir to be None () 2023-08-16 13:00:14 +02:00
Marc Mueller
a9ade1f84d
Use asyncio.timeout [core] () 2023-08-15 08:36:05 -05:00
Robert Resch
b0f68f1ef3
Use @require_admin decorator ()
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2023-08-14 15:07:20 +02:00
Erik Montnemery
97f3199d6d
Do not add entities with invalid device info () 2023-08-11 13:14:47 +02:00
Erik Montnemery
2e1a5ddf2b
Don't allow creating device if config entry does not exist ()
* Don't allow creating device if config entry does not exist

* Fix test

* Update test
2023-08-10 22:09:13 -04:00
Erik Montnemery
045c327928
Move DeviceInfo from entity to device registry ()
* Move DeviceInfo from entity to device registry

* Update integrations
2023-08-10 22:04:26 -04:00
Franck Nijhof
296c27859e
Fix issue registry sending unneeded update events () 2023-08-10 21:57:42 -04:00
G Johansson
aacb8aecfc
Refactor Rest Sensor with ManualTriggerEntity ()
* ManualTriggerEntity for rest sensor

* add availability test

* review comments

* last fixes
2023-08-10 21:46:56 +02:00
Franck Nijhof
868a5f377f
Ruff: isort don't split imports based on trailing comma () 2023-08-10 14:27:03 +02:00
G Johansson
4531dbbe62
Refactor Rest Binary sensor with ManualTriggerEntity ()
* Refactor Rest Binary sensor w/ ManualTriggerEntity

* test availability

* review comments

* Use super

* Fix config
2023-08-10 12:59:23 +02:00
Erik Montnemery
e1f0b44ba4
Use math.isfinite instead of explicitly checking for both nan and inf () 2023-08-09 14:13:57 +02:00
Erik Montnemery
683c2f8d22
Add service for getting a weather forecast ()
* Add service for getting a weather forecast

* Fix translations

* Improve service description

* Improve error handling

* Adjust typing

* Adjust typing

* Adjust service response format
2023-08-07 14:05:37 +02:00
Paul Bottein
83af2f5b8b
Allow to sort options in select selector ()
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-08-03 21:49:22 +02:00
Franck Nijhof
af5fc7e759
Ensure load the device registry if it contains invalid configuration URLs () 2023-08-01 23:15:31 +02:00
J. Nick Koston
094f2cbad7
Fix saving subclassed datetime objects in storage () 2023-07-31 18:49:02 +02:00
Marc Mueller
4d9b73033d
Update python-typing-update to 0.6.0 () 2023-07-31 17:59:40 +02:00
G Johansson
1f11ce63fc
Manual trigger entity fix name influence entity_id () 2023-07-30 18:47:34 +02:00
J. Nick Koston
13349e76ed
Avoid firing update coordinator callbacks when nothing has changed () 2023-07-28 12:19:20 -05:00
Franck Nijhof
737ac8c600
Fix DeviceInfo configuration_url validation () 2023-07-27 18:57:01 +02:00
Paulus Schoutsen
aad281db18
Add service to OpenAI to Generate an image ()
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-07-26 10:14:18 +02:00
Franck Nijhof
b655b9d530
Allow for translating service examples () 2023-07-24 15:57:02 +02:00
Marc Mueller
995c29e052
Cleanup EventType typing () 2023-07-24 13:18:38 +02:00
Marc Mueller
582499a260
Improve async_track_template_result callback typing () 2023-07-24 12:42:17 +02:00
Marc Mueller
c0da6b822e
Fix ruff () 2023-07-24 10:34:16 +02:00
Marc Mueller
3371c41bda
Improve async_track_device_registry_updated_event callback typing () 2023-07-24 09:42:01 +02:00
Marc Mueller
0624345322
Improve async_track_entity_registry_updated_event callback typing () 2023-07-24 09:14:10 +02:00
Marc Mueller
235b98da8a
Use EventType for remaining event helper methods () 2023-07-23 18:32:29 -05:00