Fix blocking open() calls by offloading file I/O to async_add_executo… #157
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…r_job
In
__init__.py, direct open() calls were being made on the Home Assistant event loop, leading to “Detected blocking call to open()” warnings and potential performance issues.To address this:
pages_schema.jsonout of the constructor and intoasync_added_to_hass, wrapping the file read withhass.async_add_executor_job()._sync_read_json,_sync_read_text, etc.) for file I/O. These are called insideasync_add_executor_job(), preventing the main loop from blocking.async_load_pageto use the same pattern for JSON or text lines, validating JSON data against the pre-loaded schema.