From e5807895ce807edec3a8f7967f9f75886d87c4d7 Mon Sep 17 00:00:00 2001 From: Adam Logan Date: Sun, 26 Apr 2026 16:16:44 -0700 Subject: [PATCH] Migrate tests to nimax cassettes and update docs - Replace mock-based HTTP fixtures with nimax per-test cassettes - Add --record mode for capturing cassettes against live HA - Simplify CI: drop Docker Compose, run pytest directly - Update CONTRIBUTING.rst: new cassette-based testing workflow - Update CHANGELOG.md: niquests migration, nimax, 100% coverage --- .github/workflows/test-suite.yml | 21 +- .gitignore | 1 + CHANGELOG.md | 7 +- docs/CONTRIBUTING.rst | 39 +++- pyproject.toml | 5 + .../test_async_websocket_client_ping.json | 55 +++++ .../test_custom_async_session.json | 52 +++++ .../test_client/test_custom_session.json | 52 +++++ .../test_default_async_session.json | 52 +++++ .../test_client/test_default_session.json | 52 +++++ .../test_websocket_client_ping.json | 55 +++++ .../test_async_check_api_config.json | 98 +++++++++ .../test_async_delete_entry_subentry.json | 55 +++++ ...est_async_disable_enable_config_entry.json | 103 ++++++++++ .../test_endpoints/test_async_fire_event.json | 98 +++++++++ .../test_async_get_components.json | 98 +++++++++ .../test_endpoints/test_async_get_config.json | 98 +++++++++ .../test_async_get_config_entries.json | 55 +++++ .../test_endpoints/test_async_get_domain.json | 98 +++++++++ .../test_async_get_domains.json | 98 +++++++++ .../test_async_get_entities.json | 98 +++++++++ .../test_endpoints/test_async_get_entity.json | 95 +++++++++ .../test_async_get_entity_histories.json | 141 +++++++++++++ .../test_async_get_entry_subentries.json | 67 ++++++ .../test_async_get_error_log.json | 107 ++++++++++ .../test_endpoints/test_async_get_events.json | 98 +++++++++ .../test_async_get_logbook_entries.json | 98 +++++++++ ...t_async_get_nonuser_flows_in_progress.json | 55 +++++ .../test_async_get_rendered_template.json | 95 +++++++++ .../test_endpoints/test_async_get_state.json | 95 +++++++++ .../test_endpoints/test_async_get_states.json | 98 +++++++++ .../test_async_ignore_config_flow.json | 55 +++++ .../test_endpoints/test_async_set_state.json | 101 ++++++++++ .../test_async_trigger_service.json | 190 ++++++++++++++++++ ...t_async_trigger_service_with_response.json | 144 +++++++++++++ .../test_async_websocket_get_config.json | 55 +++++ .../test_async_websocket_get_domain.json | 55 +++++ .../test_async_websocket_get_domains.json | 55 +++++ .../test_async_websocket_get_entities.json | 55 +++++ ...ync_websocket_get_entity_by_entity_id.json | 55 +++++ ...nc_websocket_get_entity_by_group_slug.json | 55 +++++ ...st_async_websocket_get_entity_no_args.json | 43 ++++ ...async_websocket_get_rendered_template.json | 73 +++++++ .../test_async_websocket_get_state.json | 55 +++++ ...t_async_websocket_get_state_not_found.json | 55 +++++ .../test_async_websocket_get_states.json | 55 +++++ .../test_async_websocket_trigger_service.json | 79 ++++++++ ...bsocket_trigger_service_with_response.json | 67 ++++++ .../test_endpoints/test_check_api_config.json | 98 +++++++++ .../test_delete_entry_subentry.json | 55 +++++ .../test_disable_enable_config_entry.json | 103 ++++++++++ .../test_endpoints/test_fire_event.json | 98 +++++++++ .../test_endpoints/test_get_components.json | 98 +++++++++ .../test_endpoints/test_get_config.json | 98 +++++++++ .../test_get_config_entries.json | 55 +++++ .../test_endpoints/test_get_domain.json | 98 +++++++++ .../test_endpoints/test_get_domains.json | 98 +++++++++ .../test_endpoints/test_get_entities.json | 98 +++++++++ .../test_endpoints/test_get_entity.json | 95 +++++++++ .../test_get_entity_histories.json | 141 +++++++++++++ .../test_get_entry_subentries.json | 67 ++++++ .../test_endpoints/test_get_error_log.json | 107 ++++++++++ .../test_endpoints/test_get_events.json | 98 +++++++++ .../test_get_logbook_entries.json | 98 +++++++++ .../test_get_nonuser_flows_in_progress.json | 55 +++++ .../test_get_rendered_template.json | 95 +++++++++ .../test_endpoints/test_get_state.json | 95 +++++++++ .../test_endpoints/test_get_states.json | 98 +++++++++ .../test_ignore_config_flow.json | 55 +++++ .../test_endpoints/test_set_state.json | 101 ++++++++++ .../test_endpoints/test_trigger_service.json | 190 ++++++++++++++++++ .../test_trigger_service_with_response.json | 144 +++++++++++++ .../test_websocket_get_config.json | 55 +++++ .../test_websocket_get_domain.json | 55 +++++ .../test_websocket_get_domains.json | 55 +++++ .../test_websocket_get_entities.json | 55 +++++ ...est_websocket_get_entity_by_entity_id.json | 55 +++++ ...st_websocket_get_entity_by_group_slug.json | 55 +++++ .../test_websocket_get_entity_no_args.json | 43 ++++ .../test_websocket_get_rendered_template.json | 73 +++++++ .../test_websocket_get_state.json | 55 +++++ .../test_websocket_get_state_not_found.json | 55 +++++ .../test_websocket_get_states.json | 55 +++++ .../test_websocket_trigger_service.json | 79 ++++++++ ...socket_trigger_service_with_entity_id.json | 79 ++++++++ ...bsocket_trigger_service_with_response.json | 67 ++++++ .../test_async_get_entity_registry_entry.json | 55 +++++ .../test_async_list_entity_registry.json | 55 +++++ ...st_async_remove_entity_registry_entry.json | 79 ++++++++ ...st_async_update_entity_registry_entry.json | 67 ++++++ .../test_get_entity_registry_entry.json | 55 +++++ .../test_list_entity_registry.json | 55 +++++ .../test_remove_entity_registry_entry.json | 79 ++++++++ .../test_update_entity_registry_entry.json | 67 ++++++ .../test_async_endpoint_not_found_error.json | 95 +++++++++ .../test_async_invalid_template.json | 98 +++++++++ .../test_async_method_not_allowed_error.json | 98 +++++++++ ..._async_no_entity_information_provided.json | 52 +++++ .../test_errors/test_async_unauthorized.json | 52 +++++ ...et_get_entity_histories_not_supported.json | 43 ++++ ...ync_websocket_set_state_not_supported.json | 43 ++++ .../test_async_websocket_unauthorized.json | 31 +++ .../test_errors/test_async_wrong_headers.json | 52 +++++ ...est_domain_missing_services_attribute.json | 52 +++++ .../test_endpoint_not_found_error.json | 95 +++++++++ .../test_errors/test_invalid_template.json | 98 +++++++++ .../test_method_not_allowed_error.json | 98 +++++++++ .../test_no_entity_information_provided.json | 52 +++++ .../test_errors/test_unauthorized.json | 52 +++++ ...et_get_entity_histories_not_supported.json | 43 ++++ ...est_websocket_set_state_not_supported.json | 43 ++++ .../test_websocket_unauthorized.json | 31 +++ .../test_errors/test_wrong_headers.json | 52 +++++ .../test_async_listen_config_entries.json | 121 +++++++++++ .../test_events/test_async_listen_events.json | 85 ++++++++ .../test_async_listen_trigger.json | 103 ++++++++++ .../test_listen_config_entries.json | 121 +++++++++++ .../test_events/test_listen_events.json | 85 ++++++++ .../test_events/test_listen_trigger.json | 103 ++++++++++ .../test_async_entity_get_entity.json | 138 +++++++++++++ .../test_async_entity_get_history.json | 141 +++++++++++++ .../test_async_entity_get_history_none.json | 141 +++++++++++++ .../test_async_entity_update_state.json | 144 +++++++++++++ .../test_models/test_async_fire_event.json | 144 +++++++++++++ .../test_models/test_async_get_domains.json | 98 +++++++++ .../test_models/test_async_get_event.json | 98 +++++++++ ...omain_from_json_invalid_services_type.json | 52 +++++ ...in_from_json_with_client_missing_keys.json | 52 +++++ .../test_domain_service_attribute_access.json | 98 +++++++++ .../test_models/test_entity_get_entity.json | 138 +++++++++++++ .../test_models/test_entity_get_history.json | 141 +++++++++++++ .../test_entity_get_history_none.json | 141 +++++++++++++ .../test_models/test_entity_update_state.json | 144 +++++++++++++ .../test_models/test_fire_event.json | 144 +++++++++++++ .../test_models/test_get_domain.json | 98 +++++++++ .../cassettes/test_models/test_get_event.json | 98 +++++++++ tests/conftest.py | 68 +++++-- tests/test_client.py | 46 +++-- tests/test_endpoints.py | 6 +- tests/test_errors.py | 39 ++-- 140 files changed, 11062 insertions(+), 77 deletions(-) create mode 100644 tests/cassettes/test_client/test_async_websocket_client_ping.json create mode 100644 tests/cassettes/test_client/test_custom_async_session.json create mode 100644 tests/cassettes/test_client/test_custom_session.json create mode 100644 tests/cassettes/test_client/test_default_async_session.json create mode 100644 tests/cassettes/test_client/test_default_session.json create mode 100644 tests/cassettes/test_client/test_websocket_client_ping.json create mode 100644 tests/cassettes/test_endpoints/test_async_check_api_config.json create mode 100644 tests/cassettes/test_endpoints/test_async_delete_entry_subentry.json create mode 100644 tests/cassettes/test_endpoints/test_async_disable_enable_config_entry.json create mode 100644 tests/cassettes/test_endpoints/test_async_fire_event.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_components.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_config.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_config_entries.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_domain.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_domains.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_entities.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_entity.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_entity_histories.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_entry_subentries.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_error_log.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_events.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_logbook_entries.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_nonuser_flows_in_progress.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_rendered_template.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_state.json create mode 100644 tests/cassettes/test_endpoints/test_async_get_states.json create mode 100644 tests/cassettes/test_endpoints/test_async_ignore_config_flow.json create mode 100644 tests/cassettes/test_endpoints/test_async_set_state.json create mode 100644 tests/cassettes/test_endpoints/test_async_trigger_service.json create mode 100644 tests/cassettes/test_endpoints/test_async_trigger_service_with_response.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_config.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_domain.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_domains.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_entities.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_entity_by_entity_id.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_entity_by_group_slug.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_entity_no_args.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_rendered_template.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_state.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_state_not_found.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_get_states.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_trigger_service.json create mode 100644 tests/cassettes/test_endpoints/test_async_websocket_trigger_service_with_response.json create mode 100644 tests/cassettes/test_endpoints/test_check_api_config.json create mode 100644 tests/cassettes/test_endpoints/test_delete_entry_subentry.json create mode 100644 tests/cassettes/test_endpoints/test_disable_enable_config_entry.json create mode 100644 tests/cassettes/test_endpoints/test_fire_event.json create mode 100644 tests/cassettes/test_endpoints/test_get_components.json create mode 100644 tests/cassettes/test_endpoints/test_get_config.json create mode 100644 tests/cassettes/test_endpoints/test_get_config_entries.json create mode 100644 tests/cassettes/test_endpoints/test_get_domain.json create mode 100644 tests/cassettes/test_endpoints/test_get_domains.json create mode 100644 tests/cassettes/test_endpoints/test_get_entities.json create mode 100644 tests/cassettes/test_endpoints/test_get_entity.json create mode 100644 tests/cassettes/test_endpoints/test_get_entity_histories.json create mode 100644 tests/cassettes/test_endpoints/test_get_entry_subentries.json create mode 100644 tests/cassettes/test_endpoints/test_get_error_log.json create mode 100644 tests/cassettes/test_endpoints/test_get_events.json create mode 100644 tests/cassettes/test_endpoints/test_get_logbook_entries.json create mode 100644 tests/cassettes/test_endpoints/test_get_nonuser_flows_in_progress.json create mode 100644 tests/cassettes/test_endpoints/test_get_rendered_template.json create mode 100644 tests/cassettes/test_endpoints/test_get_state.json create mode 100644 tests/cassettes/test_endpoints/test_get_states.json create mode 100644 tests/cassettes/test_endpoints/test_ignore_config_flow.json create mode 100644 tests/cassettes/test_endpoints/test_set_state.json create mode 100644 tests/cassettes/test_endpoints/test_trigger_service.json create mode 100644 tests/cassettes/test_endpoints/test_trigger_service_with_response.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_config.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_domain.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_domains.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_entities.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_entity_by_entity_id.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_entity_by_group_slug.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_entity_no_args.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_rendered_template.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_state.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_state_not_found.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_get_states.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_trigger_service.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_trigger_service_with_entity_id.json create mode 100644 tests/cassettes/test_endpoints/test_websocket_trigger_service_with_response.json create mode 100644 tests/cassettes/test_entity_registry/test_async_get_entity_registry_entry.json create mode 100644 tests/cassettes/test_entity_registry/test_async_list_entity_registry.json create mode 100644 tests/cassettes/test_entity_registry/test_async_remove_entity_registry_entry.json create mode 100644 tests/cassettes/test_entity_registry/test_async_update_entity_registry_entry.json create mode 100644 tests/cassettes/test_entity_registry/test_get_entity_registry_entry.json create mode 100644 tests/cassettes/test_entity_registry/test_list_entity_registry.json create mode 100644 tests/cassettes/test_entity_registry/test_remove_entity_registry_entry.json create mode 100644 tests/cassettes/test_entity_registry/test_update_entity_registry_entry.json create mode 100644 tests/cassettes/test_errors/test_async_endpoint_not_found_error.json create mode 100644 tests/cassettes/test_errors/test_async_invalid_template.json create mode 100644 tests/cassettes/test_errors/test_async_method_not_allowed_error.json create mode 100644 tests/cassettes/test_errors/test_async_no_entity_information_provided.json create mode 100644 tests/cassettes/test_errors/test_async_unauthorized.json create mode 100644 tests/cassettes/test_errors/test_async_websocket_get_entity_histories_not_supported.json create mode 100644 tests/cassettes/test_errors/test_async_websocket_set_state_not_supported.json create mode 100644 tests/cassettes/test_errors/test_async_websocket_unauthorized.json create mode 100644 tests/cassettes/test_errors/test_async_wrong_headers.json create mode 100644 tests/cassettes/test_errors/test_domain_missing_services_attribute.json create mode 100644 tests/cassettes/test_errors/test_endpoint_not_found_error.json create mode 100644 tests/cassettes/test_errors/test_invalid_template.json create mode 100644 tests/cassettes/test_errors/test_method_not_allowed_error.json create mode 100644 tests/cassettes/test_errors/test_no_entity_information_provided.json create mode 100644 tests/cassettes/test_errors/test_unauthorized.json create mode 100644 tests/cassettes/test_errors/test_websocket_get_entity_histories_not_supported.json create mode 100644 tests/cassettes/test_errors/test_websocket_set_state_not_supported.json create mode 100644 tests/cassettes/test_errors/test_websocket_unauthorized.json create mode 100644 tests/cassettes/test_errors/test_wrong_headers.json create mode 100644 tests/cassettes/test_events/test_async_listen_config_entries.json create mode 100644 tests/cassettes/test_events/test_async_listen_events.json create mode 100644 tests/cassettes/test_events/test_async_listen_trigger.json create mode 100644 tests/cassettes/test_events/test_listen_config_entries.json create mode 100644 tests/cassettes/test_events/test_listen_events.json create mode 100644 tests/cassettes/test_events/test_listen_trigger.json create mode 100644 tests/cassettes/test_models/test_async_entity_get_entity.json create mode 100644 tests/cassettes/test_models/test_async_entity_get_history.json create mode 100644 tests/cassettes/test_models/test_async_entity_get_history_none.json create mode 100644 tests/cassettes/test_models/test_async_entity_update_state.json create mode 100644 tests/cassettes/test_models/test_async_fire_event.json create mode 100644 tests/cassettes/test_models/test_async_get_domains.json create mode 100644 tests/cassettes/test_models/test_async_get_event.json create mode 100644 tests/cassettes/test_models/test_base_domain_from_json_invalid_services_type.json create mode 100644 tests/cassettes/test_models/test_domain_from_json_with_client_missing_keys.json create mode 100644 tests/cassettes/test_models/test_domain_service_attribute_access.json create mode 100644 tests/cassettes/test_models/test_entity_get_entity.json create mode 100644 tests/cassettes/test_models/test_entity_get_history.json create mode 100644 tests/cassettes/test_models/test_entity_get_history_none.json create mode 100644 tests/cassettes/test_models/test_entity_update_state.json create mode 100644 tests/cassettes/test_models/test_fire_event.json create mode 100644 tests/cassettes/test_models/test_get_domain.json create mode 100644 tests/cassettes/test_models/test_get_event.json diff --git a/.github/workflows/test-suite.yml b/.github/workflows/test-suite.yml index 896f3e4b..915ccb3b 100644 --- a/.github/workflows/test-suite.yml +++ b/.github/workflows/test-suite.yml @@ -40,26 +40,19 @@ jobs: code_functionality: name: "Code Functionality" runs-on: ubuntu-latest - environment: "Test Suite" steps: - name: Checkout uses: actions/checkout@v3 with: ref: ${{ github.event.pull_request.head.sha }} - - name: Pre Docker Setup - run: | - mkdir volumes/coverage - - name: Run Test Environment - run: | - docker compose up --build --exit-code-from tests - env: - HOMEASSISTANTAPI_TOKEN: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk" # This is non-sensitive data - - name: Post Docker Setup - run: | - sudo chown -R $USER volumes + - name: Install uv + uses: astral-sh/setup-uv@v4 + - name: Install Dependencies + run: uv sync --group dev + - name: Run Tests + run: uv run pytest --cov --cov-report xml:coverage.xml - name: Upload Coverage Report uses: codecov/codecov-action@v3 with: token: ${{ secrets.CODECOV_TOKEN }} - files: ./volumes/coverage/coverage.xml - verbose: true + files: coverage.xml diff --git a/.gitignore b/.gitignore index 90cf0fbc..c1616451 100644 --- a/.gitignore +++ b/.gitignore @@ -158,3 +158,4 @@ volumes/coverage/ volumes/config/.HA_VERSION volumes/config/home-assistant* volumes/config/deps +.code-graph/ diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e49284e..6e8cde21 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -52,6 +52,9 @@ WS clients accept a `max_size` parameter (default 16 MB) to handle large respons - Unified method signatures across all four client classes for consistency - Expanded ruff lint rules to `ALL` (from just E, F, W) -- Test coverage improved to ~99% +- Test coverage at 100% - Modernized type annotations throughout -- Response content is now read lazily, eliminating internal `_buffer` access hacks \ No newline at end of file +- Response content is now read lazily, eliminating internal `_buffer` access hacks +- Migrated HTTP/async/WebSocket transport from `requests`/`aiohttp`/`websockets` to `niquests` +- Cassette-based testing via [`nimax`](https://pypi.org/project/nimax/) — tests replay pre-recorded HTTP cassettes and no longer require a running Home Assistant instance +- CI simplified: dropped Docker Compose, pytest runs directly against cassettes \ No newline at end of file diff --git a/docs/CONTRIBUTING.rst b/docs/CONTRIBUTING.rst index 6f8d0931..85a15677 100644 --- a/docs/CONTRIBUTING.rst +++ b/docs/CONTRIBUTING.rst @@ -56,10 +56,39 @@ After that you are now ready to make your changes to the codebase! Testing ******** -In order to test your changes you need to have an API URL, and a Long Lived Access Token. -Follow the :ref:`Quickstart Section ` for getting those. -If you setup the Development Environment then your API URL will most likely be something along the lines of :code:`https://localhost:8123/api`. -Then you can test your changes by passing the API URL, and Long Lived Access Token to the :class:`homeassistant_api.Client` object. + +Tests use pre-recorded cassettes so you do **not** need a running Home Assistant instance to run the test suite. +Each test has its own cassette stored under :code:`tests/cassettes//.json`. + +Running the test suite +======================= + +.. code-block:: bash + + $ uv run pytest + +Recording cassettes for a new test +===================================== + +If you add a new test that makes real HTTP or WebSocket requests, you need to record its cassette against a live Home Assistant instance. + +1. Get an API URL and a Long-Lived Access Token by following the :ref:`Quickstart Section `. +2. Export the environment variables: + + .. code-block:: bash + + $ export HOMEASSISTANTAPI_URL="http://:8123/api" + $ export HOMEASSISTANTAPI_WS_URL="ws://:8123/api/websocket" + $ export HOMEASSISTANTAPI_TOKEN="" + +3. Run pytest with the :code:`--record` flag to record cassettes: + + .. code-block:: bash + + $ uv run pytest --record + + This records a fresh :code:`.json` cassette for every test. + Commit the cassette files alongside your test so CI can replay them without a live server. .. _styling: @@ -69,7 +98,7 @@ Code Styling Guidelines In order to make sure that our code is easy to read, and navigate. As well as to stop stupid mistakes like typos, undefined variables, etc. We enforce code standards. -Using the tools, :code:`ruff`, :code:`zuban`, :code:`pytest`, and :code:`docker`, we make make sure that our code quality is top notch, and that are changes work everywhere. +Using the tools, :code:`ruff`, :code:`zuban`, and :code:`pytest`, we make sure that our code quality is top notch and that changes work everywhere. You can those tools manually yourself, but they also run automatically when you open a PR. Merging Your Contributions diff --git a/pyproject.toml b/pyproject.toml index f16647ae..6fd6de9c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -41,8 +41,13 @@ dev = [ "aiosqlite>=0.22", "prek>=0.3.8", "pre-commit>=4.5.1", + "nimax", ] +[tool.nimax] +cassette_library_dir = "tests/cassettes" +match_on = ["method", "uri"] + [tool.pytest.ini_options] asyncio_mode = "auto" asyncio_default_fixture_loop_scope = "session" diff --git a/tests/cassettes/test_client/test_async_websocket_client_ping.json b/tests/cassettes/test_client/test_async_websocket_client_ping.json new file mode 100644 index 00000000..cb78d71c --- /dev/null +++ b/tests/cassettes/test_client/test_async_websocket_client_ping.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.337336+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"ping\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"pong\"}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_client/test_custom_async_session.json b/tests/cassettes/test_client/test_custom_async_session.json new file mode 100644 index 00000000..70588ea3 --- /dev/null +++ b/tests/cassettes/test_client/test_custom_async_session.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.320437+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_client/test_custom_session.json b/tests/cassettes/test_client/test_custom_session.json new file mode 100644 index 00000000..09fd3eda --- /dev/null +++ b/tests/cassettes/test_client/test_custom_session.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.308844+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_client/test_default_async_session.json b/tests/cassettes/test_client/test_default_async_session.json new file mode 100644 index 00000000..400e3606 --- /dev/null +++ b/tests/cassettes/test_client/test_default_async_session.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.324739+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_client/test_default_session.json b/tests/cassettes/test_client/test_default_session.json new file mode 100644 index 00000000..5c1d9f4c --- /dev/null +++ b/tests/cassettes/test_client/test_default_session.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.313718+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_client/test_websocket_client_ping.json b/tests/cassettes/test_client/test_websocket_client_ping.json new file mode 100644 index 00000000..240c6be0 --- /dev/null +++ b/tests/cassettes/test_client/test_websocket_client_ping.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.329836+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"ping\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"pong\"}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_check_api_config.json b/tests/cassettes/test_endpoints/test_async_check_api_config.json new file mode 100644 index 00000000..e1b97a4f --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_check_api_config.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.461795+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/config/core/check_config", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "56" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"result\":\"valid\",\"errors\":null,\"warnings\":null}" + }, + "protocol": null, + "url": "http://localhost:8123/api/config/core/check_config" + }, + "recorded_at": "2026-04-21T02:58:30.463945+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_delete_entry_subentry.json b/tests/cassettes/test_endpoints/test_async_delete_entry_subentry.json new file mode 100644 index 00000000..7fdb73c9 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_delete_entry_subentry.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.753525+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"\", \"subentry_id\": \"\", \"id\": 2, \"type\": \"config_entries/subentries/delete\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":false,\"error\":{\"code\":\"not_found\",\"message\":\"Config entry not found\"}}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_disable_enable_config_entry.json b/tests/cassettes/test_endpoints/test_async_disable_enable_config_entry.json new file mode 100644 index 00000000..83ef605e --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_disable_enable_config_entry.json @@ -0,0 +1,103 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.687091+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/get\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"disabled_by\": \"user\", \"id\": 3, \"type\": \"config_entries/disable\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"require_restart\":false}}", + "offset_ms": 4 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 4, \"type\": \"config_entries/get\"}", + "offset_ms": 4 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"not_loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":\"user\",\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 6 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"disabled_by\": null, \"id\": 5, \"type\": \"config_entries/disable\"}", + "offset_ms": 6 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":5,\"type\":\"result\",\"success\":true,\"result\":{\"require_restart\":false}}", + "offset_ms": 8 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 6, \"type\": \"config_entries/get\"}", + "offset_ms": 8 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":6,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 9 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_fire_event.json b/tests/cassettes/test_endpoints/test_async_fire_event.json new file mode 100644 index 00000000..6453fce7 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_fire_event.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.935184+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/events/my_new_event", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "47" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"Event my_new_event fired.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/events/my_new_event" + }, + "recorded_at": "2026-04-21T02:58:30.936388+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_components.json b/tests/cassettes/test_endpoints/test_async_get_components.json new file mode 100644 index 00000000..8938f04f --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_components.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.945087+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/components", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "622" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[\"climate\",\"lock\",\"fan\",\"update\",\"stt\",\"homeassistant.scene\",\"backup\",\"remote\",\"network\",\"system_health\",\"brands\",\"history\",\"labs\",\"date\",\"input_boolean\",\"http\",\"image_processing\",\"humidity\",\"sun.binary_sensor\",\"intent\",\"met.weather\",\"search\",\"sun.sensor\",\"conversation\",\"valve\",\"air_quality\",\"temperature\",\"button\",\"diagnostics\",\"notify\",\"switch\",\"humidifier\",\"device_automation\",\"weather\",\"application_credentials\",\"auth\",\"repairs\",\"timer\",\"onboarding\",\"datetime\",\"vacuum\",\"illuminance\",\"event\",\"gate\",\"ffmpeg\",\"radio_browser\",\"media_source\",\"frontend\",\"logbook\",\"power\",\"api\",\"hardware\",\"binary_sensor\",\"battery\",\"person\",\"siren\",\"cover\",\"number\",\"input_button\",\"sensor\",\"wake_word\",\"sun\",\"water_heater\",\"camera\",\"file_upload\",\"media_player\",\"assist_satellite\",\"lovelace\",\"door\",\"lawn_mower\",\"counter\",\"motion\",\"image_upload\",\"geo_location\",\"automation\",\"infrared\",\"zone\",\"select\",\"alarm_control_panel\",\"trace\",\"image\",\"web_rtc\",\"persistent_notification\",\"window\",\"input_text\",\"schedule\",\"garage_door\",\"input_datetime\",\"ai_task\",\"websocket_api\",\"recorder\",\"script\",\"input_select\",\"analytics\",\"occupancy\",\"device_tracker\",\"system_log\",\"input_number\",\"tts\",\"backup.sensor\",\"tag\",\"logger\",\"text\",\"backup.event\",\"time\",\"scene\",\"moisture\",\"assist_pipeline\",\"config\",\"blueprint\",\"light\",\"homeassistant\",\"met\"]" + }, + "protocol": null, + "url": "http://localhost:8123/api/components" + }, + "recorded_at": "2026-04-21T02:58:30.949470+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_config.json b/tests/cassettes/test_endpoints/test_async_get_config.json new file mode 100644 index 00000000..44d4bbdc --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_config.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.370002+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/config", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "984" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"allowlist_external_dirs\":[\"/media\",\"/config/www\"],\"allowlist_external_urls\":[],\"components\":[\"climate\",\"lock\",\"fan\",\"update\",\"stt\",\"homeassistant.scene\",\"backup\",\"remote\",\"network\",\"system_health\",\"brands\",\"history\",\"labs\",\"date\",\"input_boolean\",\"http\",\"image_processing\",\"humidity\",\"sun.binary_sensor\",\"intent\",\"met.weather\",\"search\",\"sun.sensor\",\"conversation\",\"valve\",\"air_quality\",\"temperature\",\"button\",\"diagnostics\",\"notify\",\"switch\",\"humidifier\",\"device_automation\",\"weather\",\"application_credentials\",\"auth\",\"repairs\",\"timer\",\"onboarding\",\"datetime\",\"vacuum\",\"illuminance\",\"event\",\"gate\",\"ffmpeg\",\"radio_browser\",\"media_source\",\"frontend\",\"logbook\",\"power\",\"api\",\"hardware\",\"binary_sensor\",\"battery\",\"person\",\"siren\",\"cover\",\"number\",\"input_button\",\"sensor\",\"wake_word\",\"sun\",\"water_heater\",\"camera\",\"file_upload\",\"media_player\",\"assist_satellite\",\"lovelace\",\"door\",\"lawn_mower\",\"counter\",\"motion\",\"image_upload\",\"geo_location\",\"automation\",\"infrared\",\"zone\",\"select\",\"alarm_control_panel\",\"trace\",\"image\",\"web_rtc\",\"persistent_notification\",\"window\",\"input_text\",\"schedule\",\"garage_door\",\"input_datetime\",\"ai_task\",\"websocket_api\",\"recorder\",\"script\",\"input_select\",\"analytics\",\"occupancy\",\"device_tracker\",\"system_log\",\"input_number\",\"tts\",\"backup.sensor\",\"tag\",\"logger\",\"text\",\"backup.event\",\"time\",\"scene\",\"moisture\",\"assist_pipeline\",\"config\",\"blueprint\",\"light\",\"homeassistant\",\"met\"],\"config_dir\":\"/config\",\"config_source\":\"storage\",\"country\":\"US\",\"currency\":\"USD\",\"debug\":false,\"elevation\":1000,\"external_url\":null,\"internal_url\":null,\"language\":\"en\",\"latitude\":52.3731339,\"location_name\":\"Testing Server\",\"longitude\":4.8903147,\"radius\":100,\"recovery_mode\":false,\"safe_mode\":false,\"state\":\"RUNNING\",\"time_zone\":\"America/Chicago\",\"unit_system\":{\"length\":\"km\",\"accumulated_precipitation\":\"mm\",\"area\":\"m²\",\"mass\":\"g\",\"pressure\":\"Pa\",\"temperature\":\"°C\",\"volume\":\"L\",\"wind_speed\":\"m/s\"},\"version\":\"2026.4.3\",\"whitelist_external_dirs\":[\"/media\",\"/config/www\"]}" + }, + "protocol": null, + "url": "http://localhost:8123/api/config" + }, + "recorded_at": "2026-04-21T02:58:30.371179+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_config_entries.json b/tests/cassettes/test_endpoints/test_async_get_config_entries.json new file mode 100644 index 00000000..6bb7e2f3 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_config_entries.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.725818+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/get\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_domain.json b/tests/cassettes/test_endpoints/test_async_get_domain.json new file mode 100644 index 00000000..4b92a4c1 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_domain.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.619011+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:30.621284+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_domains.json b/tests/cassettes/test_endpoints/test_async_get_domains.json new file mode 100644 index 00000000..38e96f20 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_domains.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.575192+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:30.577819+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_entities.json b/tests/cassettes/test_endpoints/test_async_get_entities.json new file mode 100644 index 00000000..7e0d3adb --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_entities.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.472791+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "2743" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/states" + }, + "recorded_at": "2026-04-21T02:58:30.474386+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_entity.json b/tests/cassettes/test_endpoints/test_async_get_entity.json new file mode 100644 index 00000000..77a72556 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_entity.json @@ -0,0 +1,95 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.410688+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "639" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.sun" + }, + "recorded_at": "2026-04-21T02:58:30.412140+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_entity_histories.json b/tests/cassettes/test_endpoints/test_async_get_entity_histories.json new file mode 100644 index 00000000..68030e59 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_entity_histories.json @@ -0,0 +1,141 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.427861+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "639" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.sun" + }, + "recorded_at": "2026-04-21T02:58:30.429011+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/history/period?filter_entity_id=sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "459" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[[{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-20T02:58:30.429513+00:00\",\"last_updated\":\"2026-04-20T02:58:30.429513+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:31.247873+00:00\",\"last_updated\":\"2026-04-21T01:51:31.247873+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:53.903872+00:00\",\"last_updated\":\"2026-04-21T01:51:53.903872+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:53.906573+00:00\",\"last_updated\":\"2026-04-21T01:51:53.906573+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:53.913278+00:00\",\"last_updated\":\"2026-04-21T01:51:53.913278+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:53.915127+00:00\",\"last_updated\":\"2026-04-21T01:51:53.915127+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:55.084844+00:00\",\"last_updated\":\"2026-04-21T01:51:55.084844+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:55.094790+00:00\",\"last_updated\":\"2026-04-21T01:51:55.094790+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:55.110192+00:00\",\"last_updated\":\"2026-04-21T01:51:55.110192+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:55.112527+00:00\",\"last_updated\":\"2026-04-21T01:51:55.112527+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:48:31.001566+00:00\",\"last_updated\":\"2026-04-21T02:48:31.001566+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:48:31.004039+00:00\",\"last_updated\":\"2026-04-21T02:48:31.004039+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:48:31.013509+00:00\",\"last_updated\":\"2026-04-21T02:48:31.013509+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:48:31.016501+00:00\",\"last_updated\":\"2026-04-21T02:48:31.016501+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:04.542192+00:00\",\"last_updated\":\"2026-04-21T02:55:04.542192+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:04.557678+00:00\",\"last_updated\":\"2026-04-21T02:55:04.557678+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:04.565397+00:00\",\"last_updated\":\"2026-04-21T02:55:04.565397+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:04.568086+00:00\",\"last_updated\":\"2026-04-21T02:55:04.568086+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:06.194407+00:00\",\"last_updated\":\"2026-04-21T02:55:06.194407+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.196543+00:00\",\"last_updated\":\"2026-04-21T02:55:06.196543+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:06.204598+00:00\",\"last_updated\":\"2026-04-21T02:55:06.204598+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_updated\":\"2026-04-21T02:55:06.207470+00:00\"}]]" + }, + "protocol": null, + "url": "http://localhost:8123/api/history/period?filter_entity_id=sun.sun" + }, + "recorded_at": "2026-04-21T02:58:30.430853+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_entry_subentries.json b/tests/cassettes/test_endpoints/test_async_get_entry_subentries.json new file mode 100644 index 00000000..066c9c13 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_entry_subentries.json @@ -0,0 +1,67 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.737496+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/get\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"id\": 3, \"type\": \"config_entries/subentries/list\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":[]}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_error_log.json b/tests/cassettes/test_endpoints/test_async_get_error_log.json new file mode 100644 index 00000000..f5dc9ff1 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_error_log.json @@ -0,0 +1,107 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.358691+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/error_log", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Type": [ + "application/octet-stream" + ], + "Etag": [ + "\"18a83fe60ff127fe-11c24\"" + ], + "Last-Modified": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ], + "Accept-Ranges": [ + "bytes" + ], + "Content-Encoding": [ + "deflate" + ], + "Transfer-Encoding": [ + "chunked" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "2026-04-21 01:51:30.282 INFO (MainThread) [homeassistant.setup] Setting up http\n2026-04-21 01:51:30.306 INFO (MainThread) [homeassistant.setup] Setup of domain system_log took 0.03 seconds\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setup of domain logger took 0.03 seconds\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.02 seconds\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setting up websocket_api\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setup of domain websocket_api took 0.00 seconds\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setting up network\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setup of domain network took 0.00 seconds\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.bootstrap] Setting up stage labs: {'labs'}; already set up: {}\nDependencies: {}; already set up: {}\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setting up labs\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setup of domain labs took 0.00 seconds\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.bootstrap] Setting up stage frontend: {'frontend'}; already set up: {}\nDependencies: {'search', 'api', 'device_automation', 'diagnostics', 'config', 'lovelace', 'auth', 'repairs', 'file_upload', 'onboarding'}; already set up: {'system_log', 'websocket_api', 'http'}\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setting up search\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setup of domain search took 0.00 seconds\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setting up api\n2026-04-21 01:51:30.309 INFO (MainThread) [homeassistant.setup] Setup of domain api took 0.00 seconds\n2026-04-21 01:51:30.309 INFO (MainThread) [homeassistant.setup] Setting up auth\n2026-04-21 01:51:30.309 INFO (MainThread) [homeassistant.setup] Setup of domain auth took 0.00 seconds\n2026-04-21 01:51:30.309 INFO (MainThread) [homeassistant.setup] Setting up config\n2026-04-21 01:51:30.310 INFO (MainThread) [homeassistant.setup] Setup of domain config took 0.00 seconds\n2026-04-21 01:51:30.310 INFO (MainThread) [homeassistant.setup] Setting up device_automation\n2026-04-21 01:51:30.310 INFO (MainThread) [homeassistant.setup] Setup of domain device_automation took 0.00 seconds\n2026-04-21 01:51:30.310 INFO (MainThread) [homeassistant.setup] Setting up diagnostics\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setup of domain diagnostics took 0.00 seconds\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setting up file_upload\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setup of domain file_upload took 0.00 seconds\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setting up onboarding\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setup of domain onboarding took 0.00 seconds\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setting up lovelace\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setup of domain lovelace took 0.00 seconds\n2026-04-21 01:51:30.312 INFO (MainThread) [homeassistant.setup] Setting up repairs\n2026-04-21 01:51:30.312 INFO (MainThread) [homeassistant.setup] Setup of domain repairs took 0.00 seconds\n2026-04-21 01:51:30.312 INFO (MainThread) [homeassistant.setup] Setting up frontend\n2026-04-21 01:51:30.315 INFO (MainThread) [homeassistant.setup] Setup of domain frontend took 0.00 seconds\n2026-04-21 01:51:30.316 INFO (MainThread) [homeassistant.bootstrap] Setting up stage recorder: {'recorder'}; already set up: {}\nDependencies: {}; already set up: {}\n2026-04-21 01:51:30.316 INFO (MainThread) [homeassistant.setup] Setting up recorder\n2026-04-21 01:51:30.317 INFO (MainThread) [homeassistant.components.http] Now listening on port 8123\n2026-04-21 01:51:30.317 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.00 seconds\n2026-04-21 01:51:30.318 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly\n2026-04-21 01:51:30.343 INFO (MainThread) [homeassistant.setup] Setup of domain recorder took 0.03 seconds\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage debugger: {'debugpy'}\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage zeroconf: {'zeroconf'}\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage 1: {'usb', 'dhcp', 'hassio', 'cloud', 'ssdp', 'mqtt_eventstream', 'bluetooth'}\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'climate', 'media_player', 'lock', 'fan', 'update', 'assist_satellite', 'stt', 'door', 'lawn_mower', 'counter', 'backup', 'remote', 'motion', 'system_health', 'brands', 'history', 'date', 'geo_location', 'input_boolean', 'automation', 'infrared', 'zone', 'select', 'image_processing', 'trace', 'humidity', 'alarm_control_panel', 'image', 'window', 'input_text', 'schedule', 'conversation', 'air_quality', 'valve', 'temperature', 'garage_door', 'button', 'notify', 'switch', 'humidifier', 'input_datetime', 'ai_task', 'script', 'input_select', 'weather', 'application_credentials', 'timer', 'analytics', 'occupancy', 'datetime', 'vacuum', 'illuminance', 'event', 'gate', 'device_tracker', 'radio_browser', 'input_number', 'logbook', 'power', 'hardware', 'binary_sensor', 'battery', 'tts', 'tag', 'person', 'siren', 'cover', 'number', 'text', 'time', 'scene', 'input_button', 'moisture', 'sensor', 'sun', 'wake_word', 'water_heater', 'light', 'camera', 'met'}; already set up: {'frontend', 'network', 'api', 'labs', 'logger', 'http'}\nDependencies: {'media_source', 'assist_pipeline', 'web_rtc', 'image_upload', 'blueprint', 'intent', 'ffmpeg'}; already set up: {'system_log', 'search', 'frontend', 'api', 'websocket_api', 'recorder', 'device_automation', 'lovelace', 'diagnostics', 'config', 'auth', 'repairs', 'file_upload', 'http', 'onboarding'}\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.setup] Setting up climate\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.setup] Setup of domain climate took 0.00 seconds\n2026-04-21 01:51:30.345 INFO (MainThread) [homeassistant.setup] Setting up media_player\n2026-04-21 01:51:30.346 INFO (MainThread) [homeassistant.setup] Setup of domain media_player took 0.00 seconds\n2026-04-21 01:51:30.346 INFO (MainThread) [homeassistant.setup] Setting up lock\n2026-04-21 01:51:30.346 INFO (MainThread) [homeassistant.setup] Setup of domain lock took 0.00 seconds\n2026-04-21 01:51:30.346 INFO (MainThread) [homeassistant.setup] Setting up fan\n2026-04-21 01:51:30.347 INFO (MainThread) [homeassistant.setup] Setup of domain fan took 0.00 seconds\n2026-04-21 01:51:30.347 INFO (MainThread) [homeassistant.setup] Setting up alarm_control_panel\n2026-04-21 01:51:30.347 INFO (MainThread) [homeassistant.setup] Setup of domain alarm_control_panel took 0.00 seconds\n2026-04-21 01:51:30.347 INFO (MainThread) [homeassistant.setup] Setting up valve\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setup of domain valve took 0.00 seconds\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setting up button\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setup of domain button took 0.00 seconds\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setting up notify\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setup of domain notify took 0.00 seconds\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setting up switch\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setup of domain switch took 0.00 seconds\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setting up vacuum\n2026-04-21 01:51:30.349 INFO (MainThread) [homeassistant.setup] Setup of domain vacuum took 0.00 seconds\n2026-04-21 01:51:30.349 INFO (MainThread) [homeassistant.setup] Setting up event\n2026-04-21 01:51:30.349 INFO (MainThread) [homeassistant.setup] Setup of domain event took 0.00 seconds\n2026-04-21 01:51:30.349 INFO (MainThread) [homeassistant.setup] Setting up zone\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setup of domain zone took 0.00 seconds\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setting up device_tracker\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setup of domain device_tracker took 0.00 seconds\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setting up binary_sensor\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setup of domain binary_sensor took 0.00 seconds\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setting up cover\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.setup] Setup of domain cover took 0.00 seconds\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.setup] Setting up number\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.setup] Setup of domain number took 0.00 seconds\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.setup] Setting up scene\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.components.scene] Setting up homeassistant.scene\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setup of domain scene took 0.00 seconds\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setting up sensor\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setup of domain sensor took 0.00 seconds\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setting up water_heater\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setup of domain water_heater took 0.00 seconds\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setting up light\n2026-04-21 01:51:30.353 INFO (MainThread) [homeassistant.setup] Setup of domain light took 0.00 seconds\n2026-04-21 01:51:30.354 INFO (MainThread) [homeassistant.setup] Setting up backup\n2026-04-21 01:51:30.354 INFO (MainThread) [homeassistant.setup] Setting up system_health\n2026-04-21 01:51:30.354 INFO (MainThread) [homeassistant.setup] Setup of domain system_health took 0.00 seconds\n2026-04-21 01:51:30.354 INFO (MainThread) [homeassistant.setup] Setting up image_upload\n2026-04-21 01:51:30.355 INFO (MainThread) [homeassistant.setup] Setup of domain image_upload took 0.00 seconds\n2026-04-21 01:51:30.355 INFO (MainThread) [homeassistant.setup] Setting up history\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setup of domain history took 0.00 seconds\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setting up blueprint\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setup of domain blueprint took 0.00 seconds\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setting up trace\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setup of domain trace took 0.00 seconds\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setting up automation\n2026-04-21 01:51:30.357 INFO (MainThread) [homeassistant.setup] Setup of domain automation took 0.00 seconds\n2026-04-21 01:51:30.357 INFO (MainThread) [homeassistant.setup] Setting up script\n2026-04-21 01:51:30.358 INFO (MainThread) [homeassistant.setup] Setup of domain script took 0.00 seconds\n2026-04-21 01:51:30.358 INFO (MainThread) [homeassistant.setup] Setting up input_number\n2026-04-21 01:51:30.359 INFO (MainThread) [homeassistant.setup] Setup of domain input_number took 0.00 seconds\n2026-04-21 01:51:30.359 INFO (MainThread) [homeassistant.setup] Setting up logbook\n2026-04-21 01:51:30.361 INFO (MainThread) [homeassistant.setup] Setup of domain logbook took 0.00 seconds\n2026-04-21 01:51:30.361 INFO (MainThread) [homeassistant.setup] Setting up person\n2026-04-21 01:51:30.363 INFO (MainThread) [homeassistant.setup] Setup of domain person took 0.00 seconds\n2026-04-21 01:51:30.365 INFO (MainThread) [homeassistant.setup] Setup of domain backup took 0.01 seconds\n2026-04-21 01:51:30.372 INFO (MainThread) [homeassistant.setup] Setting up update\n2026-04-21 01:51:30.373 INFO (MainThread) [homeassistant.setup] Setup of domain update took 0.00 seconds\n2026-04-21 01:51:30.384 INFO (MainThread) [homeassistant.setup] Setting up intent\n2026-04-21 01:51:30.384 INFO (MainThread) [homeassistant.setup] Setup of domain intent took 0.00 seconds\n2026-04-21 01:51:30.388 INFO (MainThread) [homeassistant.setup] Setting up stt\n2026-04-21 01:51:30.388 INFO (MainThread) [homeassistant.setup] Setup of domain stt took 0.00 seconds\n2026-04-21 01:51:30.392 INFO (MainThread) [homeassistant.setup] Setting up ffmpeg\n2026-04-21 01:51:30.392 INFO (MainThread) [homeassistant.setup] Setup of domain ffmpeg took 0.00 seconds\n2026-04-21 01:51:30.393 INFO (MainThread) [homeassistant.setup] Setting up wake_word\n2026-04-21 01:51:30.393 INFO (MainThread) [homeassistant.setup] Setup of domain wake_word took 0.00 seconds\n2026-04-21 01:51:30.395 INFO (MainThread) [homeassistant.setup] Setting up lawn_mower\n2026-04-21 01:51:30.395 INFO (MainThread) [homeassistant.setup] Setup of domain lawn_mower took 0.00 seconds\n2026-04-21 01:51:30.397 INFO (MainThread) [homeassistant.setup] Setting up remote\n2026-04-21 01:51:30.397 INFO (MainThread) [homeassistant.setup] Setup of domain remote took 0.00 seconds\n2026-04-21 01:51:30.399 INFO (MainThread) [homeassistant.setup] Setting up date\n2026-04-21 01:51:30.399 INFO (MainThread) [homeassistant.setup] Setup of domain date took 0.00 seconds\n2026-04-21 01:51:30.400 INFO (MainThread) [homeassistant.setup] Setting up geo_location\n2026-04-21 01:51:30.400 INFO (MainThread) [homeassistant.setup] Setup of domain geo_location took 0.00 seconds\n2026-04-21 01:51:30.403 INFO (MainThread) [homeassistant.setup] Setting up infrared\n2026-04-21 01:51:30.403 INFO (MainThread) [homeassistant.setup] Setup of domain infrared took 0.00 seconds\n2026-04-21 01:51:30.405 INFO (MainThread) [homeassistant.setup] Setting up select\n2026-04-21 01:51:30.405 INFO (MainThread) [homeassistant.setup] Setup of domain select took 0.00 seconds\n2026-04-21 01:51:30.406 INFO (MainThread) [homeassistant.setup] Setting up web_rtc\n2026-04-21 01:51:30.406 INFO (MainThread) [homeassistant.setup] Setup of domain web_rtc took 0.00 seconds\n2026-04-21 01:51:30.541 WARNING (ImportExecutor_0) [py.warnings] /usr/local/lib/python3.14/site-packages/rich/segment.py:547: SyntaxWarning: 'return' in a 'finally' block\n return\n\n2026-04-21 01:51:30.710 INFO (MainThread) [homeassistant.setup] Setting up image\n2026-04-21 01:51:30.711 INFO (MainThread) [homeassistant.setup] Setup of domain image took 0.00 seconds\n2026-04-21 01:51:30.714 INFO (MainThread) [homeassistant.setup] Setting up air_quality\n2026-04-21 01:51:30.714 INFO (MainThread) [homeassistant.setup] Setup of domain air_quality took 0.00 seconds\n2026-04-21 01:51:30.718 INFO (MainThread) [homeassistant.setup] Setting up humidifier\n2026-04-21 01:51:30.718 INFO (MainThread) [homeassistant.setup] Setup of domain humidifier took 0.00 seconds\n2026-04-21 01:51:30.718 INFO (MainThread) [homeassistant.setup] Setting up media_source\n2026-04-21 01:51:30.719 INFO (MainThread) [homeassistant.setup] Setup of domain media_source took 0.00 seconds\n2026-04-21 01:51:30.721 INFO (MainThread) [homeassistant.setup] Setting up weather\n2026-04-21 01:51:30.722 INFO (MainThread) [homeassistant.setup] Setup of domain weather took 0.00 seconds\n2026-04-21 01:51:30.723 INFO (MainThread) [homeassistant.setup] Setting up datetime\n2026-04-21 01:51:30.723 INFO (MainThread) [homeassistant.setup] Setup of domain datetime took 0.00 seconds\n2026-04-21 01:51:30.726 INFO (MainThread) [homeassistant.setup] Setting up siren\n2026-04-21 01:51:30.726 INFO (MainThread) [homeassistant.setup] Setup of domain siren took 0.00 seconds\n2026-04-21 01:51:30.729 INFO (MainThread) [homeassistant.setup] Setting up text\n2026-04-21 01:51:30.729 INFO (MainThread) [homeassistant.setup] Setup of domain text took 0.00 seconds\n2026-04-21 01:51:30.730 INFO (MainThread) [homeassistant.setup] Setting up time\n2026-04-21 01:51:30.731 INFO (MainThread) [homeassistant.setup] Setup of domain time took 0.00 seconds\n2026-04-21 01:51:30.733 INFO (MainThread) [homeassistant.setup] Setting up door\n2026-04-21 01:51:30.733 INFO (MainThread) [homeassistant.setup] Setup of domain door took 0.00 seconds\n2026-04-21 01:51:30.734 INFO (MainThread) [homeassistant.setup] Setting up counter\n2026-04-21 01:51:30.735 INFO (MainThread) [homeassistant.setup] Setup of domain counter took 0.00 seconds\n2026-04-21 01:51:30.736 INFO (MainThread) [homeassistant.setup] Setting up motion\n2026-04-21 01:51:30.736 INFO (MainThread) [homeassistant.setup] Setup of domain motion took 0.00 seconds\n2026-04-21 01:51:30.737 INFO (MainThread) [homeassistant.setup] Setting up brands\n2026-04-21 01:51:30.738 INFO (MainThread) [homeassistant.setup] Setup of domain brands took 0.00 seconds\n2026-04-21 01:51:30.738 INFO (MainThread) [homeassistant.setup] Setting up input_boolean\n2026-04-21 01:51:30.738 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test\n2026-04-21 01:51:30.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async\n2026-04-21 01:51:30.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_2\n2026-04-21 01:51:30.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_2\n2026-04-21 01:51:30.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_3\n2026-04-21 01:51:30.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_3\n2026-04-21 01:51:30.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_4\n2026-04-21 01:51:30.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_4\n2026-04-21 01:51:30.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_5\n2026-04-21 01:51:30.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_5\n2026-04-21 01:51:30.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_6\n2026-04-21 01:51:30.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_6\n2026-04-21 01:51:30.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_7\n2026-04-21 01:51:30.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_7\n2026-04-21 01:51:30.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_8\n2026-04-21 01:51:30.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_8\n2026-04-21 01:51:30.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_9\n2026-04-21 01:51:30.744 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_9\n2026-04-21 01:51:30.744 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_10\n2026-04-21 01:51:30.744 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_10\n2026-04-21 01:51:30.745 INFO (MainThread) [homeassistant.setup] Setup of domain input_boolean took 0.01 seconds\n2026-04-21 01:51:30.746 INFO (MainThread) [homeassistant.setup] Setting up humidity\n2026-04-21 01:51:30.746 INFO (MainThread) [homeassistant.setup] Setup of domain humidity took 0.00 seconds\n2026-04-21 01:51:30.747 INFO (MainThread) [homeassistant.setup] Setting up window\n2026-04-21 01:51:30.747 INFO (MainThread) [homeassistant.setup] Setup of domain window took 0.00 seconds\n2026-04-21 01:51:30.747 INFO (MainThread) [homeassistant.setup] Setting up input_text\n2026-04-21 01:51:30.748 INFO (MainThread) [homeassistant.setup] Setup of domain input_text took 0.00 seconds\n2026-04-21 01:51:30.751 INFO (MainThread) [homeassistant.setup] Setting up schedule\n2026-04-21 01:51:30.752 INFO (MainThread) [homeassistant.setup] Setup of domain schedule took 0.00 seconds\n2026-04-21 01:51:30.754 INFO (MainThread) [homeassistant.setup] Setting up temperature\n2026-04-21 01:51:30.754 INFO (MainThread) [homeassistant.setup] Setup of domain temperature took 0.00 seconds\n2026-04-21 01:51:30.755 INFO (MainThread) [homeassistant.setup] Setting up garage_door\n2026-04-21 01:51:30.755 INFO (MainThread) [homeassistant.setup] Setup of domain garage_door took 0.00 seconds\n2026-04-21 01:51:30.756 INFO (MainThread) [homeassistant.setup] Setting up input_datetime\n2026-04-21 01:51:30.757 INFO (MainThread) [homeassistant.setup] Setup of domain input_datetime took 0.00 seconds\n2026-04-21 01:51:30.757 INFO (MainThread) [homeassistant.setup] Setting up input_select\n2026-04-21 01:51:30.758 INFO (MainThread) [homeassistant.setup] Setup of domain input_select took 0.00 seconds\n2026-04-21 01:51:30.760 INFO (MainThread) [homeassistant.setup] Setting up application_credentials\n2026-04-21 01:51:30.760 INFO (MainThread) [homeassistant.setup] Setup of domain application_credentials took 0.00 seconds\n2026-04-21 01:51:30.761 INFO (MainThread) [homeassistant.setup] Setting up timer\n2026-04-21 01:51:30.762 INFO (MainThread) [homeassistant.setup] Setup of domain timer took 0.00 seconds\n2026-04-21 01:51:31.150 INFO (MainThread) [homeassistant.setup] Setting up analytics\n2026-04-21 01:51:31.152 INFO (MainThread) [homeassistant.setup] Setup of domain analytics took 0.00 seconds\n2026-04-21 01:51:31.152 INFO (MainThread) [homeassistant.setup] Setting up occupancy\n2026-04-21 01:51:31.152 INFO (MainThread) [homeassistant.setup] Setup of domain occupancy took 0.00 seconds\n2026-04-21 01:51:31.153 INFO (MainThread) [homeassistant.setup] Setting up illuminance\n2026-04-21 01:51:31.153 INFO (MainThread) [homeassistant.setup] Setup of domain illuminance took 0.00 seconds\n2026-04-21 01:51:31.154 INFO (MainThread) [homeassistant.setup] Setting up gate\n2026-04-21 01:51:31.154 INFO (MainThread) [homeassistant.setup] Setup of domain gate took 0.00 seconds\n2026-04-21 01:51:31.205 INFO (MainThread) [homeassistant.setup] Setting up radio_browser\n2026-04-21 01:51:31.205 INFO (MainThread) [homeassistant.setup] Setup of domain radio_browser took 0.00 seconds\n2026-04-21 01:51:31.207 INFO (MainThread) [homeassistant.setup] Setting up power\n2026-04-21 01:51:31.207 INFO (MainThread) [homeassistant.setup] Setup of domain power took 0.00 seconds\n2026-04-21 01:51:31.210 INFO (MainThread) [homeassistant.setup] Setting up hardware\n2026-04-21 01:51:31.220 INFO (MainThread) [homeassistant.setup] Setting up battery\n2026-04-21 01:51:31.220 INFO (MainThread) [homeassistant.setup] Setup of domain battery took 0.00 seconds\n2026-04-21 01:51:31.230 INFO (MainThread) [homeassistant.setup] Setting up tag\n2026-04-21 01:51:31.230 INFO (MainThread) [homeassistant.setup] Setup of domain tag took 0.00 seconds\n2026-04-21 01:51:31.230 INFO (MainThread) [homeassistant.setup] Setting up input_button\n2026-04-21 01:51:31.230 INFO (MainThread) [homeassistant.setup] Setup of domain input_button took 0.00 seconds\n2026-04-21 01:51:31.244 INFO (MainThread) [homeassistant.setup] Setting up moisture\n2026-04-21 01:51:31.244 INFO (MainThread) [homeassistant.setup] Setup of domain moisture took 0.00 seconds\n2026-04-21 01:51:31.247 INFO (MainThread) [homeassistant.setup] Setting up sun\n2026-04-21 01:51:31.247 INFO (MainThread) [homeassistant.setup] Setup of domain sun took 0.00 seconds\n2026-04-21 01:51:31.248 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:31.248 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.sun entity: binary_sensor.sun_solar_rising\n2026-04-21 01:51:31.248 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:31.250 INFO (MainThread) [homeassistant.setup] Setup of domain hardware took 0.04 seconds\n2026-04-21 01:51:31.257 INFO (MainThread) [homeassistant.setup] Setting up met\n2026-04-21 01:51:31.257 INFO (MainThread) [homeassistant.setup] Setup of domain met took 0.00 seconds\n2026-04-21 01:51:31.333 INFO (MainThread) [homeassistant.setup] Setting up conversation\n2026-04-21 01:51:31.333 INFO (MainThread) [homeassistant.setup] Setup of domain conversation took 0.00 seconds\n2026-04-21 01:51:31.387 INFO (MainThread) [homeassistant.setup] Setting up tts\n2026-04-21 01:51:31.388 INFO (SyncWorker_2) [homeassistant.components.tts] Create cache dir /config/tts\n2026-04-21 01:51:31.391 INFO (MainThread) [homeassistant.setup] Setup of domain tts took 0.00 seconds\n2026-04-21 01:51:31.589 INFO (MainThread) [homeassistant.setup] Setting up camera\n2026-04-21 01:51:31.591 INFO (MainThread) [homeassistant.setup] Setup of domain camera took 0.00 seconds\n2026-04-21 01:51:31.602 INFO (MainThread) [homeassistant.setup] Setting up assist_pipeline\n2026-04-21 01:51:31.603 INFO (MainThread) [homeassistant.setup] Setup of domain assist_pipeline took 0.00 seconds\n2026-04-21 01:51:31.606 INFO (MainThread) [homeassistant.setup] Setting up ai_task\n2026-04-21 01:51:31.606 INFO (MainThread) [homeassistant.setup] Setup of domain ai_task took 0.00 seconds\n2026-04-21 01:51:31.609 INFO (MainThread) [homeassistant.setup] Setting up image_processing\n2026-04-21 01:51:31.609 INFO (MainThread) [homeassistant.setup] Setup of domain image_processing took 0.00 seconds\n2026-04-21 01:51:31.613 INFO (MainThread) [homeassistant.setup] Setting up assist_satellite\n2026-04-21 01:51:31.614 INFO (MainThread) [homeassistant.setup] Setup of domain assist_satellite took 0.00 seconds\n2026-04-21 01:51:31.840 INFO (MainThread) [homeassistant.components.weather] Setting up met.weather\n2026-04-21 01:51:31.843 INFO (MainThread) [homeassistant.bootstrap] Home Assistant initialized in 1.66s\n2026-04-21 01:51:31.843 INFO (MainThread) [homeassistant.core] Starting Home Assistant 2026.4.3\n2026-04-21 01:51:31.854 INFO (MainThread) [homeassistant.components.event] Setting up backup.event\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new event.backup entity: event.backup_automatic_backup\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.components.sensor] Setting up backup.sensor\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.backup entity: sensor.backup_backup_manager_state\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.backup entity: sensor.backup_next_scheduled_automatic_backup\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.backup entity: sensor.backup_last_successful_automatic_backup\n2026-04-21 01:51:31.856 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.backup entity: sensor.backup_last_attempted_automatic_backup\n2026-04-21 01:51:53.506 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140304549474880] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.510 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303789884416] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.651 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790196832] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.660 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790197152] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.702 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790197792] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.708 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790199552] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.711 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790199872] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.714 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790199712] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.717 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790731520] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.720 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200192] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.723 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200352] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.727 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200512] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.731 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200032] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.734 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200832] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.737 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200992] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.740 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790201152] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.743 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200672] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.748 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790201472] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.829 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790201312] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.860 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769688864] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.887 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769688704] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.894 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769689664] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.898 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769689984] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.901 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690144] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.906 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:53.906 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:53.909 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690304] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.915 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:53.915 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:53.917 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769689184] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.920 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140304732312800] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.924 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690784] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.929 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691744] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.933 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690624] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.938 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140304540154624] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.942 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692064] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.945 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691904] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.950 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692224] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.045 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691584] An action which does not return responses can't be called with return_response=True\n2026-04-21 01:51:54.047 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691584] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.053 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692544] An action which does not return responses can't be called with return_response=True\n2026-04-21 01:51:54.054 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692544] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.059 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693024] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.095 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692384] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.110 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693504] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.123 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693184] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.127 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693824] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.161 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694144] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.169 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693664] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.178 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694304] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.180 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_11\n2026-04-21 01:51:54.183 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693984] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.186 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140304732312160] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.195 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694624] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.205 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694944] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.210 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_11\n2026-04-21 01:51:54.212 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769695424] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.216 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/'. (niquests/3.18.4)\n2026-04-21 01:51:54.219 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/websocket'. (niquests/3.18.4)\n2026-04-21 01:51:54.221 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/websocket'. (niquests/3.18.4)\n2026-04-21 01:51:54.223 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/'. (niquests/3.18.4)\n2026-04-21 01:51:54.265 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696384] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.267 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696544] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.270 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696064] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.273 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696704] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.277 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696864] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.281 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697024] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.286 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697184] Initialized trigger\n2026-04-21 01:51:55.066 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697184] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:55.095 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:55.095 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:55.104 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697344] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:55.112 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:55.113 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:55.115 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697984] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:55.121 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691264] Initialized trigger\n2026-04-21 01:51:56.326 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691264] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:06:32.460 INFO (MainThread) [homeassistant.components.analytics] Submitted analytics to Home Assistant servers. Information submitted includes {'uuid': '7b023d740661490db49ce807f6e76fdc', 'version': '2026.4.3', 'installation_type': 'Home Assistant Container', 'certificate': False, 'integrations': ['backup', 'history', 'input_boolean', 'http', 'notify', 'weather', 'timer', 'radio_browser', 'logbook', 'api', 'person', 'sun', 'counter', 'trace', 'input_text', 'input_datetime', 'input_number', 'tag', 'logger', 'met'], 'custom_integrations': [], 'recorder': {'engine': 'sqlite', 'version': }, 'state_count': 37, 'automation_count': 0, 'integration_count': 20, 'user_count': 1}\n2026-04-21 02:48:30.640 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769214848] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.645 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769214208] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.791 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769214048] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.799 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769211968] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.827 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769213888] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.832 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769216448] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.837 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769216608] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.841 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769216768] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.846 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769695904] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.851 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217088] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.857 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217248] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.863 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217408] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.869 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769216928] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.876 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217728] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.883 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217888] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.889 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218048] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.894 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217568] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.900 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218368] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.925 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218208] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.935 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218688] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.976 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218528] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.984 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219008] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.989 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219168] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.996 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219328] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.004 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:48:31.004 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:48:31.007 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218848] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.016 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:48:31.016 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:48:31.019 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690944] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.023 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219648] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.028 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769208928] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.035 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220288] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.039 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219488] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.044 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769208768] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.051 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220608] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.057 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220448] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.066 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220768] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.171 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220928] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.188 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769222528] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.324 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769221888] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.333 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219808] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.370 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769222208] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.375 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769221088] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.381 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766390720] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.387 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766390880] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.393 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391040] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.397 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391200] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.402 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766390560] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.410 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391520] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.420 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391680] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.428 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391840] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.433 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392000] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.438 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391360] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.444 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392320] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.451 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392480] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.474 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392160] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.485 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392800] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.512 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392960] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.525 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392640] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.532 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393280] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.537 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393440] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.558 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:55:04.558 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:55:04.561 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393600] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.568 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:55:04.568 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:55:04.571 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769214368] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.575 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220128] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.586 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393120] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.594 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394400] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.600 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394240] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.605 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393920] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.610 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219968] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.618 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394720] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.629 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394880] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.753 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394560] An action which does not return responses can't be called with return_response=True\n2026-04-21 02:55:04.756 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394560] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.763 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395200] An action which does not return responses can't be called with return_response=True\n2026-04-21 02:55:04.765 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395200] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.772 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395360] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.816 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395040] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.835 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395680] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.849 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395840] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.855 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395520] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.911 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396160] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.919 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396320] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.928 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396480] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.942 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test\n2026-04-21 02:55:04.948 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396640] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.958 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396000] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.964 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397440] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.973 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397280] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.983 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async\n2026-04-21 02:55:04.992 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397600] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.002 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/'. (niquests/3.18.4)\n2026-04-21 02:55:05.011 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/websocket'. (niquests/3.18.4)\n2026-04-21 02:55:05.022 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/websocket'. (niquests/3.18.4)\n2026-04-21 02:55:05.028 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/'. (niquests/3.18.4)\n2026-04-21 02:55:05.098 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694464] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.101 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766398400] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.105 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766398560] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.109 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766398720] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.115 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766398880] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.122 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766399040] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.128 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766399200] Initialized trigger\n2026-04-21 02:55:06.188 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766399200] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:06.196 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:55:06.196 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:55:06.199 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769221408] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:06.207 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:55:06.207 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:55:06.212 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766399360] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:06.222 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397120] Initialized trigger\n2026-04-21 02:55:07.204 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397120] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:58:30.332 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766401280] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:58:30.339 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766402080] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n" + }, + "protocol": null, + "url": "http://localhost:8123/api/error_log" + }, + "recorded_at": "2026-04-21T02:58:30.361158+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_events.json b/tests/cassettes/test_endpoints/test_async_get_events.json new file mode 100644 index 00000000..f836c293 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_events.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.927370+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/events", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "219" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"event\":\"*\",\"listener_count\":1},{\"event\":\"logging_changed\",\"listener_count\":1},{\"event\":\"entity_registry_updated\",\"listener_count\":6},{\"event\":\"homeassistant_start\",\"listener_count\":1},{\"event\":\"homeassistant_stop\",\"listener_count\":52},{\"event\":\"core_config_updated\",\"listener_count\":3},{\"event\":\"floor_registry_updated\",\"listener_count\":1},{\"event\":\"label_registry_updated\",\"listener_count\":3},{\"event\":\"device_registry_updated\",\"listener_count\":2},{\"event\":\"labs_updated\",\"listener_count\":5},{\"event\":\"component_loaded\",\"listener_count\":1},{\"event\":\"category_registry_updated\",\"listener_count\":1},{\"event\":\"homeassistant_final_write\",\"listener_count\":4},{\"event\":\"homeassistant_close\",\"listener_count\":6},{\"event\":\"state_changed\",\"listener_count\":3},{\"event\":\"user_removed\",\"listener_count\":1}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/events" + }, + "recorded_at": "2026-04-21T02:58:30.928446+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_logbook_entries.json b/tests/cassettes/test_endpoints/test_async_get_logbook_entries.json new file mode 100644 index 00000000..f2dd0ec5 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_logbook_entries.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.395955+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/logbook/2020-01-01T00:00:00+00:00?entity=sun.red_sun&end_time=2030-01-01T00%3A00%3A00%2B00%3A00", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "1224" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:42:57.253045+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:42:57.255084+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:43:35.727279+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:43:37.465382+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:43:37.469311+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:38:00.874260+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:38:02.077616+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:38:02.079600+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:49:24.133682+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:49:26.296678+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:49:26.298983+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T06:57:00.262568+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T06:57:00.265797+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:02:10.770833+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:02:11.513315+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:02:11.516677+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:05:57.223587+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:05:57.966241+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:05:57.969502+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:09:51.891525+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:09:52.657550+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:09:52.660772+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:18:37.650155+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:18:39.344208+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:18:39.349195+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:11.303211+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:13.228810+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:13.233539+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:29.117210+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:29.482204+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:29.484149+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:30:59.574324+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:31:01.402084+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:31:01.404785+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:36:47.076982+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:36:49.411149+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:36:49.420321+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:11:23.520470+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:11:23.524980+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:12:16.812464+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:12:18.258279+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:12:18.265813+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T16:55:41.110963+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T16:55:41.119621+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T17:19:22.358232+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T17:19:24.477027+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T17:19:24.480650+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T19:59:32.543524+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T19:59:34.106033+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T19:59:34.114379+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:00:38.304081+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:00:40.452651+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:00:40.456491+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:12:20.215130+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:12:22.485769+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:12:22.488968+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:13:22.126108+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:13:22.129912+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:14:24.748612+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:14:26.151747+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:14:26.157637+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T21:53:31.380533+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T21:53:33.198160+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T21:53:33.202674+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:09:48.532848+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:09:50.235887+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:09:50.238504+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:49:52.990232+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:49:55.304099+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:49:55.306463+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:07:35.095384+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:07:37.123731+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:07:37.127154+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:13:26.326392+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:13:26.329639+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:43:47.778724+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:43:49.457976+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:43:49.460006+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:47:33.561670+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:47:35.331567+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:47:35.333591+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:50:58.591940+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:50:59.336033+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:50:59.338197+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:05.718969+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:06.453867+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:06.456042+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:23.190762+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:25.433029+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:25.437129+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:53:18.332242+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:53:20.410392+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:53:20.412448+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T08:05:24.482360+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T08:05:24.489120+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T01:51:56.337253+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T01:51:56.341620+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T02:55:04.866614+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T02:55:07.229225+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T02:55:07.237500+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/logbook/2020-01-01T00:00:00+00:00?entity=sun.red_sun&end_time=2030-01-01T00%3A00%3A00%2B00%3A00" + }, + "recorded_at": "2026-04-21T02:58:30.399487+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_nonuser_flows_in_progress.json b/tests/cassettes/test_endpoints/test_async_get_nonuser_flows_in_progress.json new file mode 100644 index 00000000..6b3c7291 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_nonuser_flows_in_progress.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.669336+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/flow/progress\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_rendered_template.json b/tests/cassettes/test_endpoints/test_async_get_rendered_template.json new file mode 100644 index 00000000..bccbd7fa --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_rendered_template.json @@ -0,0 +1,95 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.437459+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/template", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "29" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "The sun is below the horizon." + }, + "protocol": null, + "url": "http://localhost:8123/api/template" + }, + "recorded_at": "2026-04-21T02:58:30.438560+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_state.json b/tests/cassettes/test_endpoints/test_async_get_state.json new file mode 100644 index 00000000..c30cba5d --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_state.json @@ -0,0 +1,95 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.908948+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "638" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.87,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:30.694375+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694375+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694375+00:00\",\"context\":{\"id\":\"01KPPZK7N6E57Y9G46N8YKSHDA\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.sun" + }, + "recorded_at": "2026-04-21T02:58:30.910851+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_get_states.json b/tests/cassettes/test_endpoints/test_async_get_states.json new file mode 100644 index 00000000..139e689a --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_get_states.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.892738+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "2708" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:58:30.694874+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694874+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694874+00:00\",\"context\":{\"id\":\"01KPPZK7N6W1WFPM8QQ4FJXM0V\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:58:30.694949+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694949+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694949+00:00\",\"context\":{\"id\":\"01KPPZK7N64E2JRX9KBD5FTXZD\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:58:30.695014+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695014+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695014+00:00\",\"context\":{\"id\":\"01KPPZK7N79YT9DFB621KVAAW3\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:58:30.695086+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695086+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695086+00:00\",\"context\":{\"id\":\"01KPPZK7N76N7VRN27TMDCKS2N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:58:30.695150+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695150+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695150+00:00\",\"context\":{\"id\":\"01KPPZK7N7WDJ5VHA4DNTKCSY2\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:58:30.695213+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695213+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695213+00:00\",\"context\":{\"id\":\"01KPPZK7N7W6EF4A44CF7YD3QF\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.87,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:30.694375+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694375+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694375+00:00\",\"context\":{\"id\":\"01KPPZK7N6E57Y9G46N8YKSHDA\",\"parent_id\":null,\"user_id\":null}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/states" + }, + "recorded_at": "2026-04-21T02:58:30.893815+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_ignore_config_flow.json b/tests/cassettes/test_endpoints/test_async_ignore_config_flow.json new file mode 100644 index 00000000..ef715ebc --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_ignore_config_flow.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.707207+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"flow_id\": \"\", \"title\": \"\", \"id\": 2, \"type\": \"config_entries/ignore_flow\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":false,\"error\":{\"code\":\"not_found\",\"message\":\"Config entry not found\"}}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_set_state.json b/tests/cassettes/test_endpoints/test_async_set_state.json new file mode 100644 index 00000000..db30ee47 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_set_state.json @@ -0,0 +1,101 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.920311+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/states/sun.red_sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Location": [ + "/api/states/sun.red_sun" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "219" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.red_sun\",\"state\":\"beyond_our_solar_system\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:58:30.916545+00:00\",\"last_reported\":\"2026-04-21T02:58:30.916545+00:00\",\"last_updated\":\"2026-04-21T02:58:30.916545+00:00\",\"context\":{\"id\":\"01KPPZK7W4XQ5ADNCS7MNSGXAN\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.red_sun" + }, + "recorded_at": "2026-04-21T02:58:30.921354+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_trigger_service.json b/tests/cassettes/test_endpoints/test_async_trigger_service.json new file mode 100644 index 00000000..3b28e6c5 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_trigger_service.json @@ -0,0 +1,190 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.773427+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:30.776648+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/services/notify/persistent_notification?return_response", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 400, + "message": "Bad Request" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "82" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"Service does not support responses. Remove return_response from request.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/services/notify/persistent_notification?return_response" + }, + "recorded_at": "2026-04-21T02:58:30.783351+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/services/notify/persistent_notification", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "10" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services/notify/persistent_notification" + }, + "recorded_at": "2026-04-21T02:58:30.786225+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_trigger_service_with_response.json b/tests/cassettes/test_endpoints/test_async_trigger_service_with_response.json new file mode 100644 index 00000000..2a840efd --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_trigger_service_with_response.json @@ -0,0 +1,144 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.838672+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:30.841194+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/services/weather/get_forecasts?return_response", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "1219" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"changed_states\":[],\"service_response\":{\"weather.forecast_home\":{\"forecast\":[{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T02:00:00+00:00\",\"wind_bearing\":52.3,\"cloud_coverage\":7.8,\"uv_index\":0.0,\"temperature\":-0.3,\"wind_speed\":17.6,\"precipitation\":0.0,\"humidity\":82},{\"condition\":\"partlycloudy\",\"datetime\":\"2026-04-21T03:00:00+00:00\",\"wind_bearing\":55.2,\"cloud_coverage\":13.3,\"uv_index\":0.0,\"temperature\":-0.9,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T04:00:00+00:00\",\"wind_bearing\":53.7,\"cloud_coverage\":5.5,\"uv_index\":0.0,\"temperature\":-1.2,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":86},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T05:00:00+00:00\",\"wind_bearing\":56.8,\"cloud_coverage\":3.9,\"uv_index\":0.1,\"temperature\":-1.4,\"wind_speed\":19.1,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T06:00:00+00:00\",\"wind_bearing\":59.0,\"cloud_coverage\":0.0,\"uv_index\":0.3,\"temperature\":-0.8,\"wind_speed\":21.2,\"precipitation\":0.0,\"humidity\":81},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T07:00:00+00:00\",\"wind_bearing\":60.3,\"cloud_coverage\":0.0,\"uv_index\":0.8,\"temperature\":-0.0,\"wind_speed\":22.0,\"precipitation\":0.0,\"humidity\":72},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T08:00:00+00:00\",\"wind_bearing\":59.1,\"cloud_coverage\":0.0,\"uv_index\":1.6,\"temperature\":0.9,\"wind_speed\":21.6,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T09:00:00+00:00\",\"wind_bearing\":58.1,\"cloud_coverage\":0.0,\"uv_index\":2.5,\"temperature\":1.9,\"wind_speed\":20.5,\"precipitation\":0.0,\"humidity\":61},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T10:00:00+00:00\",\"wind_bearing\":56.9,\"cloud_coverage\":0.0,\"uv_index\":3.3,\"temperature\":3.0,\"wind_speed\":20.9,\"precipitation\":0.0,\"humidity\":60},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T11:00:00+00:00\",\"wind_bearing\":55.7,\"cloud_coverage\":0.0,\"uv_index\":3.8,\"temperature\":4.0,\"wind_speed\":22.3,\"precipitation\":0.0,\"humidity\":60},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T12:00:00+00:00\",\"wind_bearing\":54.6,\"cloud_coverage\":0.0,\"uv_index\":3.9,\"temperature\":4.9,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T13:00:00+00:00\",\"wind_bearing\":53.7,\"cloud_coverage\":0.0,\"uv_index\":3.4,\"temperature\":5.6,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T14:00:00+00:00\",\"wind_bearing\":53.6,\"cloud_coverage\":0.0,\"uv_index\":2.6,\"temperature\":6.1,\"wind_speed\":23.0,\"precipitation\":0.0,\"humidity\":48},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T15:00:00+00:00\",\"wind_bearing\":52.5,\"cloud_coverage\":0.0,\"uv_index\":1.7,\"temperature\":6.2,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":47},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T16:00:00+00:00\",\"wind_bearing\":51.3,\"cloud_coverage\":0.0,\"uv_index\":0.9,\"temperature\":6.1,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":48},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T17:00:00+00:00\",\"wind_bearing\":51.3,\"cloud_coverage\":0.0,\"uv_index\":0.4,\"temperature\":5.6,\"wind_speed\":21.6,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T18:00:00+00:00\",\"wind_bearing\":51.0,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":4.6,\"wind_speed\":19.4,\"precipitation\":0.0,\"humidity\":59},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T19:00:00+00:00\",\"wind_bearing\":54.5,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.5,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T20:00:00+00:00\",\"wind_bearing\":52.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.0,\"wind_speed\":18.4,\"precipitation\":0.0,\"humidity\":70},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T21:00:00+00:00\",\"wind_bearing\":51.9,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.5,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T22:00:00+00:00\",\"wind_bearing\":53.6,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.0,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":79},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T23:00:00+00:00\",\"wind_bearing\":58.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.5,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T00:00:00+00:00\",\"wind_bearing\":64.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.0,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T01:00:00+00:00\",\"wind_bearing\":67.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":0.4,\"wind_speed\":15.1,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T02:00:00+00:00\",\"wind_bearing\":62.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.0,\"wind_speed\":14.4,\"precipitation\":0.0,\"humidity\":81},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T03:00:00+00:00\",\"wind_bearing\":63.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.4,\"wind_speed\":14.0,\"precipitation\":0.0,\"humidity\":82},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T04:00:00+00:00\",\"wind_bearing\":65.1,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.9,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T05:00:00+00:00\",\"wind_bearing\":69.0,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":-1.1,\"wind_speed\":13.0,\"precipitation\":0.0,\"humidity\":86},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T06:00:00+00:00\",\"wind_bearing\":70.5,\"cloud_coverage\":0.0,\"uv_index\":0.3,\"temperature\":-0.1,\"wind_speed\":13.7,\"precipitation\":0.0,\"humidity\":84},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T07:00:00+00:00\",\"wind_bearing\":70.5,\"cloud_coverage\":0.0,\"uv_index\":0.9,\"temperature\":1.3,\"wind_speed\":13.7,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T08:00:00+00:00\",\"wind_bearing\":67.4,\"cloud_coverage\":0.0,\"uv_index\":1.7,\"temperature\":3.0,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":71},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T09:00:00+00:00\",\"wind_bearing\":66.6,\"cloud_coverage\":0.0,\"uv_index\":2.7,\"temperature\":4.7,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":65},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T10:00:00+00:00\",\"wind_bearing\":69.3,\"cloud_coverage\":0.0,\"uv_index\":3.6,\"temperature\":6.1,\"wind_speed\":14.4,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T11:00:00+00:00\",\"wind_bearing\":64.3,\"cloud_coverage\":0.0,\"uv_index\":4.1,\"temperature\":6.8,\"wind_speed\":15.5,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T12:00:00+00:00\",\"wind_bearing\":57.9,\"cloud_coverage\":0.0,\"uv_index\":4.2,\"temperature\":7.3,\"wind_speed\":15.8,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T13:00:00+00:00\",\"wind_bearing\":55.9,\"cloud_coverage\":0.0,\"uv_index\":3.7,\"temperature\":7.6,\"wind_speed\":16.2,\"precipitation\":0.0,\"humidity\":50},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T14:00:00+00:00\",\"wind_bearing\":52.8,\"cloud_coverage\":0.0,\"uv_index\":2.8,\"temperature\":7.8,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T15:00:00+00:00\",\"wind_bearing\":48.9,\"cloud_coverage\":0.0,\"uv_index\":1.8,\"temperature\":7.8,\"wind_speed\":17.6,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T16:00:00+00:00\",\"wind_bearing\":45.9,\"cloud_coverage\":0.0,\"uv_index\":1.0,\"temperature\":7.7,\"wind_speed\":18.4,\"precipitation\":0.0,\"humidity\":54},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T17:00:00+00:00\",\"wind_bearing\":43.4,\"cloud_coverage\":0.0,\"uv_index\":0.4,\"temperature\":7.2,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T18:00:00+00:00\",\"wind_bearing\":38.7,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":6.2,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T19:00:00+00:00\",\"wind_bearing\":38.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":4.7,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":71},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T20:00:00+00:00\",\"wind_bearing\":48.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.7,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":75},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T21:00:00+00:00\",\"wind_bearing\":55.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.0,\"wind_speed\":14.8,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T22:00:00+00:00\",\"wind_bearing\":60.2,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.3,\"wind_speed\":11.5,\"precipitation\":0.0,\"humidity\":79},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T23:00:00+00:00\",\"wind_bearing\":54.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.4,\"wind_speed\":8.3,\"precipitation\":0.0,\"humidity\":83},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-23T00:00:00+00:00\",\"wind_bearing\":33.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":0.6,\"wind_speed\":6.8,\"precipitation\":0.0,\"humidity\":87},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-23T01:00:00+00:00\",\"wind_bearing\":17.1,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.0,\"wind_speed\":7.9,\"precipitation\":0.0,\"humidity\":90}]}}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/services/weather/get_forecasts?return_response" + }, + "recorded_at": "2026-04-21T02:58:30.861392+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_config.json b/tests/cassettes/test_endpoints/test_async_websocket_get_config.json new file mode 100644 index 00000000..63ccfd4b --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_config.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.489148+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_config\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"allowlist_external_dirs\":[\"/media\",\"/config/www\"],\"allowlist_external_urls\":[],\"components\":[\"climate\",\"lock\",\"fan\",\"update\",\"stt\",\"homeassistant.scene\",\"backup\",\"remote\",\"network\",\"system_health\",\"brands\",\"history\",\"labs\",\"date\",\"input_boolean\",\"http\",\"image_processing\",\"humidity\",\"sun.binary_sensor\",\"intent\",\"met.weather\",\"search\",\"sun.sensor\",\"conversation\",\"valve\",\"air_quality\",\"temperature\",\"button\",\"diagnostics\",\"notify\",\"switch\",\"humidifier\",\"device_automation\",\"weather\",\"application_credentials\",\"auth\",\"repairs\",\"timer\",\"onboarding\",\"datetime\",\"vacuum\",\"illuminance\",\"event\",\"gate\",\"ffmpeg\",\"radio_browser\",\"media_source\",\"frontend\",\"logbook\",\"power\",\"api\",\"hardware\",\"binary_sensor\",\"battery\",\"person\",\"siren\",\"cover\",\"number\",\"input_button\",\"sensor\",\"wake_word\",\"sun\",\"water_heater\",\"camera\",\"file_upload\",\"media_player\",\"assist_satellite\",\"lovelace\",\"door\",\"lawn_mower\",\"counter\",\"motion\",\"image_upload\",\"geo_location\",\"automation\",\"infrared\",\"zone\",\"select\",\"alarm_control_panel\",\"trace\",\"image\",\"web_rtc\",\"persistent_notification\",\"window\",\"input_text\",\"schedule\",\"garage_door\",\"input_datetime\",\"ai_task\",\"websocket_api\",\"recorder\",\"script\",\"input_select\",\"analytics\",\"occupancy\",\"device_tracker\",\"system_log\",\"input_number\",\"tts\",\"backup.sensor\",\"tag\",\"logger\",\"text\",\"backup.event\",\"time\",\"scene\",\"moisture\",\"assist_pipeline\",\"config\",\"blueprint\",\"light\",\"homeassistant\",\"met\"],\"config_dir\":\"/config\",\"config_source\":\"storage\",\"country\":\"US\",\"currency\":\"USD\",\"debug\":false,\"elevation\":1000,\"external_url\":null,\"internal_url\":null,\"language\":\"en\",\"latitude\":52.3731339,\"location_name\":\"Testing Server\",\"longitude\":4.8903147,\"radius\":100,\"recovery_mode\":false,\"safe_mode\":false,\"state\":\"RUNNING\",\"time_zone\":\"America/Chicago\",\"unit_system\":{\"length\":\"km\",\"accumulated_precipitation\":\"mm\",\"area\":\"m²\",\"mass\":\"g\",\"pressure\":\"Pa\",\"temperature\":\"°C\",\"volume\":\"L\",\"wind_speed\":\"m/s\"},\"version\":\"2026.4.3\",\"whitelist_external_dirs\":[\"/media\",\"/config/www\"]}}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_domain.json b/tests/cassettes/test_endpoints/test_async_websocket_get_domain.json new file mode 100644 index 00000000..83dbe4f2 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_domain.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.654036+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_services\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"homeassistant\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}},\"persistent_notification\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}},\"system_log\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"logger\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}},\"frontend\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}},\"recorder\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}},\"climate\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}},\"media_player\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}},\"lock\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}},\"fan\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}},\"alarm_control_panel\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}},\"valve\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}},\"button\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}},\"notify\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}},\"switch\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}},\"vacuum\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}},\"zone\":{\"reload\":{\"fields\":{}}},\"cover\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}},\"number\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}},\"scene\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}},\"water_heater\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}},\"light\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}},\"automation\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}},\"script\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}},\"input_number\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}},\"logbook\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"device_tracker\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}},\"person\":{\"reload\":{\"fields\":{}}},\"backup\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}},\"update\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}},\"ffmpeg\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}},\"lawn_mower\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}},\"remote\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}},\"date\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}},\"select\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}},\"image\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}},\"humidifier\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}},\"weather\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}},\"datetime\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}},\"siren\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}},\"text\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}},\"time\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}},\"counter\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}},\"input_boolean\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}},\"input_text\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}},\"schedule\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}},\"input_datetime\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}},\"input_select\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}},\"timer\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}},\"input_button\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}},\"conversation\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}},\"tts\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}},\"camera\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}},\"ai_task\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}},\"image_processing\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}},\"assist_satellite\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_domains.json b/tests/cassettes/test_endpoints/test_async_websocket_get_domains.json new file mode 100644 index 00000000..c36f92d6 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_domains.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.598521+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_services\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"homeassistant\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}},\"persistent_notification\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}},\"system_log\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"logger\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}},\"frontend\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}},\"recorder\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}},\"climate\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}},\"media_player\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}},\"lock\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}},\"fan\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}},\"alarm_control_panel\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}},\"valve\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}},\"button\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}},\"notify\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}},\"switch\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}},\"vacuum\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}},\"zone\":{\"reload\":{\"fields\":{}}},\"cover\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}},\"number\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}},\"scene\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}},\"water_heater\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}},\"light\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}},\"automation\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}},\"script\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}},\"input_number\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}},\"logbook\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"device_tracker\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}},\"person\":{\"reload\":{\"fields\":{}}},\"backup\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}},\"update\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}},\"ffmpeg\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}},\"lawn_mower\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}},\"remote\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}},\"date\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}},\"select\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}},\"image\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}},\"humidifier\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}},\"weather\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}},\"datetime\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}},\"siren\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}},\"text\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}},\"time\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}},\"counter\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}},\"input_boolean\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}},\"input_text\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}},\"schedule\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}},\"input_datetime\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}},\"input_select\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}},\"timer\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}},\"input_button\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}},\"conversation\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}},\"tts\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}},\"camera\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}},\"ai_task\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}},\"image_processing\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}},\"assist_satellite\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_entities.json b/tests/cassettes/test_endpoints/test_async_websocket_get_entities.json new file mode 100644 index 00000000..7b911994 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_entities.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.561025+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_entity_by_entity_id.json b/tests/cassettes/test_endpoints/test_async_websocket_get_entity_by_entity_id.json new file mode 100644 index 00000000..325f1721 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_entity_by_entity_id.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.530651+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_entity_by_group_slug.json b/tests/cassettes/test_endpoints/test_async_websocket_get_entity_by_group_slug.json new file mode 100644 index 00000000..bccd5a4c --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_entity_by_group_slug.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.526575+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_entity_no_args.json b/tests/cassettes/test_endpoints/test_async_websocket_get_entity_no_args.json new file mode 100644 index 00000000..5da3407f --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_entity_no_args.json @@ -0,0 +1,43 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.535400+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_rendered_template.json b/tests/cassettes/test_endpoints/test_async_websocket_get_rendered_template.json new file mode 100644 index 00000000..402ec431 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_rendered_template.json @@ -0,0 +1,73 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.451103+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"template\": \"The sun is {{ states(\\\"sun.sun\\\").replace(\\\"_\\\", \\\" the \\\") }}.\", \"report_errors\": true, \"id\": 2, \"type\": \"render_template\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":{\"result\":\"The sun is below the horizon.\",\"listeners\":{\"all\":false,\"entities\":[\"sun.sun\"],\"domains\":[],\"time\":false}}}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 2, \"id\": 3, \"type\": \"unsubscribe_events\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_state.json b/tests/cassettes/test_endpoints/test_async_websocket_get_state.json new file mode 100644 index 00000000..e34208dc --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_state.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.520953+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_state_not_found.json b/tests/cassettes/test_endpoints/test_async_websocket_get_state_not_found.json new file mode 100644 index 00000000..7dee26da --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_state_not_found.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.539198+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_get_states.json b/tests/cassettes/test_endpoints/test_async_websocket_get_states.json new file mode 100644 index 00000000..b042bd74 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_get_states.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.901055+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:58:30.694874+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694874+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694874+00:00\",\"context\":{\"id\":\"01KPPZK7N6W1WFPM8QQ4FJXM0V\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:58:30.694949+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694949+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694949+00:00\",\"context\":{\"id\":\"01KPPZK7N64E2JRX9KBD5FTXZD\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:58:30.695014+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695014+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695014+00:00\",\"context\":{\"id\":\"01KPPZK7N79YT9DFB621KVAAW3\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:58:30.695086+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695086+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695086+00:00\",\"context\":{\"id\":\"01KPPZK7N76N7VRN27TMDCKS2N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:58:30.695150+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695150+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695150+00:00\",\"context\":{\"id\":\"01KPPZK7N7WDJ5VHA4DNTKCSY2\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:58:30.695213+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695213+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695213+00:00\",\"context\":{\"id\":\"01KPPZK7N7W6EF4A44CF7YD3QF\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.87,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:30.694375+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694375+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694375+00:00\",\"context\":{\"id\":\"01KPPZK7N6E57Y9G46N8YKSHDA\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_trigger_service.json b/tests/cassettes/test_endpoints/test_async_websocket_trigger_service.json new file mode 100644 index 00000000..1f886a21 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_trigger_service.json @@ -0,0 +1,79 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.802281+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_services\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"homeassistant\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}},\"persistent_notification\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}},\"system_log\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"logger\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}},\"frontend\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}},\"recorder\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}},\"climate\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}},\"media_player\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}},\"lock\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}},\"fan\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}},\"alarm_control_panel\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}},\"valve\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}},\"button\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}},\"notify\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}},\"switch\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}},\"vacuum\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}},\"zone\":{\"reload\":{\"fields\":{}}},\"cover\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}},\"number\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}},\"scene\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}},\"water_heater\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}},\"light\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}},\"automation\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}},\"script\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}},\"input_number\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}},\"logbook\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"device_tracker\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}},\"person\":{\"reload\":{\"fields\":{}}},\"backup\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}},\"update\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}},\"ffmpeg\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}},\"lawn_mower\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}},\"remote\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}},\"date\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}},\"select\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}},\"image\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}},\"humidifier\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}},\"weather\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}},\"datetime\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}},\"siren\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}},\"text\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}},\"time\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}},\"counter\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}},\"input_boolean\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}},\"input_text\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}},\"schedule\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}},\"input_datetime\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}},\"input_select\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}},\"timer\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}},\"input_button\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}},\"conversation\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}},\"tts\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}},\"camera\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}},\"ai_task\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}},\"image_processing\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}},\"assist_satellite\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}}", + "offset_ms": 4 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"domain\": \"notify\", \"service\": \"persistent_notification\", \"service_data\": {\"message\": \"Your API Test Suite just said hello!\", \"title\": \"Test Suite Notifcation\"}, \"return_response\": true, \"id\": 3, \"type\": \"call_service\"}", + "offset_ms": 7 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":false,\"error\":{\"code\":\"service_validation_error\",\"message\":\"Validation error: An action which does not return responses can't be called with return_response=True\",\"translation_key\":\"service_does_not_support_response\",\"translation_placeholders\":{\"return_response\":\"return_response=True\"},\"translation_domain\":\"homeassistant\"}}", + "offset_ms": 8 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"domain\": \"notify\", \"service\": \"persistent_notification\", \"service_data\": {\"message\": \"Your API Test Suite just said hello!\", \"title\": \"Test Suite Notifcation\"}, \"return_response\": false, \"id\": 4, \"type\": \"call_service\"}", + "offset_ms": 8 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":{\"context\":{\"id\":\"01KPPZK7RTKNXAVBREXDZMF9P7\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}}", + "offset_ms": 8 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_async_websocket_trigger_service_with_response.json b/tests/cassettes/test_endpoints/test_async_websocket_trigger_service_with_response.json new file mode 100644 index 00000000..a389ccb3 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_async_websocket_trigger_service_with_response.json @@ -0,0 +1,67 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.875282+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_services\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"homeassistant\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}},\"persistent_notification\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}},\"system_log\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"logger\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}},\"frontend\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}},\"recorder\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}},\"climate\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}},\"media_player\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}},\"lock\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}},\"fan\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}},\"alarm_control_panel\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}},\"valve\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}},\"button\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}},\"notify\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}},\"switch\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}},\"vacuum\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}},\"zone\":{\"reload\":{\"fields\":{}}},\"cover\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}},\"number\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}},\"scene\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}},\"water_heater\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}},\"light\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}},\"automation\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}},\"script\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}},\"input_number\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}},\"logbook\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"device_tracker\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}},\"person\":{\"reload\":{\"fields\":{}}},\"backup\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}},\"update\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}},\"ffmpeg\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}},\"lawn_mower\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}},\"remote\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}},\"date\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}},\"select\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}},\"image\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}},\"humidifier\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}},\"weather\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}},\"datetime\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}},\"siren\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}},\"text\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}},\"time\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}},\"counter\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}},\"input_boolean\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}},\"input_text\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}},\"schedule\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}},\"input_datetime\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}},\"input_select\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}},\"timer\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}},\"input_button\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}},\"conversation\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}},\"tts\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}},\"camera\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}},\"ai_task\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}},\"image_processing\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}},\"assist_satellite\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"domain\": \"weather\", \"service\": \"get_forecasts\", \"service_data\": {\"entity_id\": \"weather.forecast_home\", \"type\": \"hourly\"}, \"return_response\": true, \"id\": 3, \"type\": \"call_service\"}", + "offset_ms": 5 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"context\":{\"id\":\"01KPPZK7V15DTRTG0GV1GZFQG4\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},\"response\":{\"weather.forecast_home\":{\"forecast\":[{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T02:00:00+00:00\",\"wind_bearing\":52.3,\"cloud_coverage\":7.8,\"uv_index\":0.0,\"temperature\":-0.3,\"wind_speed\":17.6,\"precipitation\":0.0,\"humidity\":82},{\"condition\":\"partlycloudy\",\"datetime\":\"2026-04-21T03:00:00+00:00\",\"wind_bearing\":55.2,\"cloud_coverage\":13.3,\"uv_index\":0.0,\"temperature\":-0.9,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T04:00:00+00:00\",\"wind_bearing\":53.7,\"cloud_coverage\":5.5,\"uv_index\":0.0,\"temperature\":-1.2,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":86},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T05:00:00+00:00\",\"wind_bearing\":56.8,\"cloud_coverage\":3.9,\"uv_index\":0.1,\"temperature\":-1.4,\"wind_speed\":19.1,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T06:00:00+00:00\",\"wind_bearing\":59.0,\"cloud_coverage\":0.0,\"uv_index\":0.3,\"temperature\":-0.8,\"wind_speed\":21.2,\"precipitation\":0.0,\"humidity\":81},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T07:00:00+00:00\",\"wind_bearing\":60.3,\"cloud_coverage\":0.0,\"uv_index\":0.8,\"temperature\":-0.0,\"wind_speed\":22.0,\"precipitation\":0.0,\"humidity\":72},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T08:00:00+00:00\",\"wind_bearing\":59.1,\"cloud_coverage\":0.0,\"uv_index\":1.6,\"temperature\":0.9,\"wind_speed\":21.6,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T09:00:00+00:00\",\"wind_bearing\":58.1,\"cloud_coverage\":0.0,\"uv_index\":2.5,\"temperature\":1.9,\"wind_speed\":20.5,\"precipitation\":0.0,\"humidity\":61},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T10:00:00+00:00\",\"wind_bearing\":56.9,\"cloud_coverage\":0.0,\"uv_index\":3.3,\"temperature\":3.0,\"wind_speed\":20.9,\"precipitation\":0.0,\"humidity\":60},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T11:00:00+00:00\",\"wind_bearing\":55.7,\"cloud_coverage\":0.0,\"uv_index\":3.8,\"temperature\":4.0,\"wind_speed\":22.3,\"precipitation\":0.0,\"humidity\":60},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T12:00:00+00:00\",\"wind_bearing\":54.6,\"cloud_coverage\":0.0,\"uv_index\":3.9,\"temperature\":4.9,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T13:00:00+00:00\",\"wind_bearing\":53.7,\"cloud_coverage\":0.0,\"uv_index\":3.4,\"temperature\":5.6,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T14:00:00+00:00\",\"wind_bearing\":53.6,\"cloud_coverage\":0.0,\"uv_index\":2.6,\"temperature\":6.1,\"wind_speed\":23.0,\"precipitation\":0.0,\"humidity\":48},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T15:00:00+00:00\",\"wind_bearing\":52.5,\"cloud_coverage\":0.0,\"uv_index\":1.7,\"temperature\":6.2,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":47},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T16:00:00+00:00\",\"wind_bearing\":51.3,\"cloud_coverage\":0.0,\"uv_index\":0.9,\"temperature\":6.1,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":48},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T17:00:00+00:00\",\"wind_bearing\":51.3,\"cloud_coverage\":0.0,\"uv_index\":0.4,\"temperature\":5.6,\"wind_speed\":21.6,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T18:00:00+00:00\",\"wind_bearing\":51.0,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":4.6,\"wind_speed\":19.4,\"precipitation\":0.0,\"humidity\":59},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T19:00:00+00:00\",\"wind_bearing\":54.5,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.5,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T20:00:00+00:00\",\"wind_bearing\":52.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.0,\"wind_speed\":18.4,\"precipitation\":0.0,\"humidity\":70},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T21:00:00+00:00\",\"wind_bearing\":51.9,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.5,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T22:00:00+00:00\",\"wind_bearing\":53.6,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.0,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":79},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T23:00:00+00:00\",\"wind_bearing\":58.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.5,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T00:00:00+00:00\",\"wind_bearing\":64.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.0,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T01:00:00+00:00\",\"wind_bearing\":67.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":0.4,\"wind_speed\":15.1,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T02:00:00+00:00\",\"wind_bearing\":62.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.0,\"wind_speed\":14.4,\"precipitation\":0.0,\"humidity\":81},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T03:00:00+00:00\",\"wind_bearing\":63.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.4,\"wind_speed\":14.0,\"precipitation\":0.0,\"humidity\":82},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T04:00:00+00:00\",\"wind_bearing\":65.1,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.9,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T05:00:00+00:00\",\"wind_bearing\":69.0,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":-1.1,\"wind_speed\":13.0,\"precipitation\":0.0,\"humidity\":86},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T06:00:00+00:00\",\"wind_bearing\":70.5,\"cloud_coverage\":0.0,\"uv_index\":0.3,\"temperature\":-0.1,\"wind_speed\":13.7,\"precipitation\":0.0,\"humidity\":84},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T07:00:00+00:00\",\"wind_bearing\":70.5,\"cloud_coverage\":0.0,\"uv_index\":0.9,\"temperature\":1.3,\"wind_speed\":13.7,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T08:00:00+00:00\",\"wind_bearing\":67.4,\"cloud_coverage\":0.0,\"uv_index\":1.7,\"temperature\":3.0,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":71},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T09:00:00+00:00\",\"wind_bearing\":66.6,\"cloud_coverage\":0.0,\"uv_index\":2.7,\"temperature\":4.7,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":65},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T10:00:00+00:00\",\"wind_bearing\":69.3,\"cloud_coverage\":0.0,\"uv_index\":3.6,\"temperature\":6.1,\"wind_speed\":14.4,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T11:00:00+00:00\",\"wind_bearing\":64.3,\"cloud_coverage\":0.0,\"uv_index\":4.1,\"temperature\":6.8,\"wind_speed\":15.5,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T12:00:00+00:00\",\"wind_bearing\":57.9,\"cloud_coverage\":0.0,\"uv_index\":4.2,\"temperature\":7.3,\"wind_speed\":15.8,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T13:00:00+00:00\",\"wind_bearing\":55.9,\"cloud_coverage\":0.0,\"uv_index\":3.7,\"temperature\":7.6,\"wind_speed\":16.2,\"precipitation\":0.0,\"humidity\":50},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T14:00:00+00:00\",\"wind_bearing\":52.8,\"cloud_coverage\":0.0,\"uv_index\":2.8,\"temperature\":7.8,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T15:00:00+00:00\",\"wind_bearing\":48.9,\"cloud_coverage\":0.0,\"uv_index\":1.8,\"temperature\":7.8,\"wind_speed\":17.6,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T16:00:00+00:00\",\"wind_bearing\":45.9,\"cloud_coverage\":0.0,\"uv_index\":1.0,\"temperature\":7.7,\"wind_speed\":18.4,\"precipitation\":0.0,\"humidity\":54},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T17:00:00+00:00\",\"wind_bearing\":43.4,\"cloud_coverage\":0.0,\"uv_index\":0.4,\"temperature\":7.2,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T18:00:00+00:00\",\"wind_bearing\":38.7,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":6.2,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T19:00:00+00:00\",\"wind_bearing\":38.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":4.7,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":71},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T20:00:00+00:00\",\"wind_bearing\":48.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.7,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":75},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T21:00:00+00:00\",\"wind_bearing\":55.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.0,\"wind_speed\":14.8,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T22:00:00+00:00\",\"wind_bearing\":60.2,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.3,\"wind_speed\":11.5,\"precipitation\":0.0,\"humidity\":79},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T23:00:00+00:00\",\"wind_bearing\":54.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.4,\"wind_speed\":8.3,\"precipitation\":0.0,\"humidity\":83},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-23T00:00:00+00:00\",\"wind_bearing\":33.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":0.6,\"wind_speed\":6.8,\"precipitation\":0.0,\"humidity\":87},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-23T01:00:00+00:00\",\"wind_bearing\":17.1,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.0,\"wind_speed\":7.9,\"precipitation\":0.0,\"humidity\":90}]}}}}", + "offset_ms": 9 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_check_api_config.json b/tests/cassettes/test_endpoints/test_check_api_config.json new file mode 100644 index 00000000..6bc86cbe --- /dev/null +++ b/tests/cassettes/test_endpoints/test_check_api_config.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.456438+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/config/core/check_config", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "56" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"result\":\"valid\",\"errors\":null,\"warnings\":null}" + }, + "protocol": null, + "url": "http://localhost:8123/api/config/core/check_config" + }, + "recorded_at": "2026-04-21T02:58:30.458906+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_delete_entry_subentry.json b/tests/cassettes/test_endpoints/test_delete_entry_subentry.json new file mode 100644 index 00000000..101c840c --- /dev/null +++ b/tests/cassettes/test_endpoints/test_delete_entry_subentry.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.744385+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"\", \"subentry_id\": \"\", \"id\": 2, \"type\": \"config_entries/subentries/delete\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":false,\"error\":{\"code\":\"not_found\",\"message\":\"Config entry not found\"}}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_disable_enable_config_entry.json b/tests/cassettes/test_endpoints/test_disable_enable_config_entry.json new file mode 100644 index 00000000..c72569fa --- /dev/null +++ b/tests/cassettes/test_endpoints/test_disable_enable_config_entry.json @@ -0,0 +1,103 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.673241+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/get\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"disabled_by\": \"user\", \"id\": 3, \"type\": \"config_entries/disable\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"require_restart\":false}}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 4, \"type\": \"config_entries/get\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"not_loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":\"user\",\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"disabled_by\": null, \"id\": 5, \"type\": \"config_entries/disable\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":5,\"type\":\"result\",\"success\":true,\"result\":{\"require_restart\":false}}", + "offset_ms": 5 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 6, \"type\": \"config_entries/get\"}", + "offset_ms": 5 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":6,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 7 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_fire_event.json b/tests/cassettes/test_endpoints/test_fire_event.json new file mode 100644 index 00000000..211af04c --- /dev/null +++ b/tests/cassettes/test_endpoints/test_fire_event.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.930758+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/events/my_new_event", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "47" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"Event my_new_event fired.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/events/my_new_event" + }, + "recorded_at": "2026-04-21T02:58:30.932455+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_components.json b/tests/cassettes/test_endpoints/test_get_components.json new file mode 100644 index 00000000..53c8e3c8 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_components.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.938916+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/components", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "622" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[\"climate\",\"lock\",\"fan\",\"update\",\"stt\",\"homeassistant.scene\",\"backup\",\"remote\",\"network\",\"system_health\",\"brands\",\"history\",\"labs\",\"date\",\"input_boolean\",\"http\",\"image_processing\",\"humidity\",\"sun.binary_sensor\",\"intent\",\"met.weather\",\"search\",\"sun.sensor\",\"conversation\",\"valve\",\"air_quality\",\"temperature\",\"button\",\"diagnostics\",\"notify\",\"switch\",\"humidifier\",\"device_automation\",\"weather\",\"application_credentials\",\"auth\",\"repairs\",\"timer\",\"onboarding\",\"datetime\",\"vacuum\",\"illuminance\",\"event\",\"gate\",\"ffmpeg\",\"radio_browser\",\"media_source\",\"frontend\",\"logbook\",\"power\",\"api\",\"hardware\",\"binary_sensor\",\"battery\",\"person\",\"siren\",\"cover\",\"number\",\"input_button\",\"sensor\",\"wake_word\",\"sun\",\"water_heater\",\"camera\",\"file_upload\",\"media_player\",\"assist_satellite\",\"lovelace\",\"door\",\"lawn_mower\",\"counter\",\"motion\",\"image_upload\",\"geo_location\",\"automation\",\"infrared\",\"zone\",\"select\",\"alarm_control_panel\",\"trace\",\"image\",\"web_rtc\",\"persistent_notification\",\"window\",\"input_text\",\"schedule\",\"garage_door\",\"input_datetime\",\"ai_task\",\"websocket_api\",\"recorder\",\"script\",\"input_select\",\"analytics\",\"occupancy\",\"device_tracker\",\"system_log\",\"input_number\",\"tts\",\"backup.sensor\",\"tag\",\"logger\",\"text\",\"backup.event\",\"time\",\"scene\",\"moisture\",\"assist_pipeline\",\"config\",\"blueprint\",\"light\",\"homeassistant\",\"met\"]" + }, + "protocol": null, + "url": "http://localhost:8123/api/components" + }, + "recorded_at": "2026-04-21T02:58:30.940076+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_config.json b/tests/cassettes/test_endpoints/test_get_config.json new file mode 100644 index 00000000..e71392aa --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_config.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.364905+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/config", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "984" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"allowlist_external_dirs\":[\"/media\",\"/config/www\"],\"allowlist_external_urls\":[],\"components\":[\"climate\",\"lock\",\"fan\",\"update\",\"stt\",\"homeassistant.scene\",\"backup\",\"remote\",\"network\",\"system_health\",\"brands\",\"history\",\"labs\",\"date\",\"input_boolean\",\"http\",\"image_processing\",\"humidity\",\"sun.binary_sensor\",\"intent\",\"met.weather\",\"search\",\"sun.sensor\",\"conversation\",\"valve\",\"air_quality\",\"temperature\",\"button\",\"diagnostics\",\"notify\",\"switch\",\"humidifier\",\"device_automation\",\"weather\",\"application_credentials\",\"auth\",\"repairs\",\"timer\",\"onboarding\",\"datetime\",\"vacuum\",\"illuminance\",\"event\",\"gate\",\"ffmpeg\",\"radio_browser\",\"media_source\",\"frontend\",\"logbook\",\"power\",\"api\",\"hardware\",\"binary_sensor\",\"battery\",\"person\",\"siren\",\"cover\",\"number\",\"input_button\",\"sensor\",\"wake_word\",\"sun\",\"water_heater\",\"camera\",\"file_upload\",\"media_player\",\"assist_satellite\",\"lovelace\",\"door\",\"lawn_mower\",\"counter\",\"motion\",\"image_upload\",\"geo_location\",\"automation\",\"infrared\",\"zone\",\"select\",\"alarm_control_panel\",\"trace\",\"image\",\"web_rtc\",\"persistent_notification\",\"window\",\"input_text\",\"schedule\",\"garage_door\",\"input_datetime\",\"ai_task\",\"websocket_api\",\"recorder\",\"script\",\"input_select\",\"analytics\",\"occupancy\",\"device_tracker\",\"system_log\",\"input_number\",\"tts\",\"backup.sensor\",\"tag\",\"logger\",\"text\",\"backup.event\",\"time\",\"scene\",\"moisture\",\"assist_pipeline\",\"config\",\"blueprint\",\"light\",\"homeassistant\",\"met\"],\"config_dir\":\"/config\",\"config_source\":\"storage\",\"country\":\"US\",\"currency\":\"USD\",\"debug\":false,\"elevation\":1000,\"external_url\":null,\"internal_url\":null,\"language\":\"en\",\"latitude\":52.3731339,\"location_name\":\"Testing Server\",\"longitude\":4.8903147,\"radius\":100,\"recovery_mode\":false,\"safe_mode\":false,\"state\":\"RUNNING\",\"time_zone\":\"America/Chicago\",\"unit_system\":{\"length\":\"km\",\"accumulated_precipitation\":\"mm\",\"area\":\"m²\",\"mass\":\"g\",\"pressure\":\"Pa\",\"temperature\":\"°C\",\"volume\":\"L\",\"wind_speed\":\"m/s\"},\"version\":\"2026.4.3\",\"whitelist_external_dirs\":[\"/media\",\"/config/www\"]}" + }, + "protocol": null, + "url": "http://localhost:8123/api/config" + }, + "recorded_at": "2026-04-21T02:58:30.366740+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_config_entries.json b/tests/cassettes/test_endpoints/test_get_config_entries.json new file mode 100644 index 00000000..adcaea5d --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_config_entries.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.716685+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/get\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_domain.json b/tests/cassettes/test_endpoints/test_get_domain.json new file mode 100644 index 00000000..1b7ab5e2 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_domain.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.606936+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:30.609425+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_domains.json b/tests/cassettes/test_endpoints/test_get_domains.json new file mode 100644 index 00000000..0376164b --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_domains.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.567161+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:30.569015+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_entities.json b/tests/cassettes/test_endpoints/test_get_entities.json new file mode 100644 index 00000000..4597d79b --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_entities.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.467246+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "2743" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/states" + }, + "recorded_at": "2026-04-21T02:58:30.468576+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_entity.json b/tests/cassettes/test_endpoints/test_get_entity.json new file mode 100644 index 00000000..255fbaa8 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_entity.json @@ -0,0 +1,95 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.403731+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "639" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.sun" + }, + "recorded_at": "2026-04-21T02:58:30.405063+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_entity_histories.json b/tests/cassettes/test_endpoints/test_get_entity_histories.json new file mode 100644 index 00000000..6d998830 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_entity_histories.json @@ -0,0 +1,141 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.416293+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "639" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.sun" + }, + "recorded_at": "2026-04-21T02:58:30.417516+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/history/period/2020-01-01T00:00:00+00:00?filter_entity_id=sun.sun&end_time=2030-01-01T00%3A00%3A01%2B00%3A00&significant_changes_only", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "3706" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[[{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-03T18:21:56.947214+00:00\",\"last_updated\":\"2026-04-03T18:21:56.947214+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-04T05:07:28.459574+00:00\",\"last_updated\":\"2026-04-04T05:07:28.459574+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-04T18:23:38.287729+00:00\",\"last_updated\":\"2026-04-04T18:23:38.287729+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:42:55.825678+00:00\",\"last_updated\":\"2026-04-05T00:42:55.825678+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:42:55.827499+00:00\",\"last_updated\":\"2026-04-05T00:42:55.827499+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:42:55.830418+00:00\",\"last_updated\":\"2026-04-05T00:42:55.830418+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:42:55.833757+00:00\",\"last_updated\":\"2026-04-05T00:42:55.833757+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:42:56.377152+00:00\",\"last_updated\":\"2026-04-05T00:42:56.377152+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:42:56.382746+00:00\",\"last_updated\":\"2026-04-05T00:42:56.382746+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:42:56.389357+00:00\",\"last_updated\":\"2026-04-05T00:42:56.389357+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:42:56.393998+00:00\",\"last_updated\":\"2026-04-05T00:42:56.393998+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:43:35.682695+00:00\",\"last_updated\":\"2026-04-05T00:43:35.682695+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:43:35.684665+00:00\",\"last_updated\":\"2026-04-05T00:43:35.684665+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:43:35.687558+00:00\",\"last_updated\":\"2026-04-05T00:43:35.687558+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:43:35.689188+00:00\",\"last_updated\":\"2026-04-05T00:43:35.689188+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:43:36.394291+00:00\",\"last_updated\":\"2026-04-05T00:43:36.394291+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:43:36.396443+00:00\",\"last_updated\":\"2026-04-05T00:43:36.396443+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:43:36.399662+00:00\",\"last_updated\":\"2026-04-05T00:43:36.399662+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:43:36.401598+00:00\",\"last_updated\":\"2026-04-05T00:43:36.401598+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:56:18.433945+00:00\",\"last_updated\":\"2026-04-05T00:56:18.433945+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:56:18.441552+00:00\",\"last_updated\":\"2026-04-05T00:56:18.441552+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T00:56:18.456850+00:00\",\"last_updated\":\"2026-04-05T00:56:18.456850+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T00:56:18.463460+00:00\",\"last_updated\":\"2026-04-05T00:56:18.463460+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T03:38:00.809478+00:00\",\"last_updated\":\"2026-04-05T03:38:00.809478+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T03:38:00.812908+00:00\",\"last_updated\":\"2026-04-05T03:38:00.812908+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T03:38:00.820958+00:00\",\"last_updated\":\"2026-04-05T03:38:00.820958+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T03:38:00.823215+00:00\",\"last_updated\":\"2026-04-05T03:38:00.823215+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T03:38:01.242531+00:00\",\"last_updated\":\"2026-04-05T03:38:01.242531+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T03:38:01.244342+00:00\",\"last_updated\":\"2026-04-05T03:38:01.244342+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T03:38:01.247846+00:00\",\"last_updated\":\"2026-04-05T03:38:01.247846+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T03:38:01.249937+00:00\",\"last_updated\":\"2026-04-05T03:38:01.249937+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T03:49:24.047959+00:00\",\"last_updated\":\"2026-04-05T03:49:24.047959+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T03:49:24.050436+00:00\",\"last_updated\":\"2026-04-05T03:49:24.050436+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T03:49:24.075097+00:00\",\"last_updated\":\"2026-04-05T03:49:24.075097+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T03:49:24.077058+00:00\",\"last_updated\":\"2026-04-05T03:49:24.077058+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T03:49:25.335453+00:00\",\"last_updated\":\"2026-04-05T03:49:25.335453+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T03:49:25.337230+00:00\",\"last_updated\":\"2026-04-05T03:49:25.337230+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-05T03:49:25.359644+00:00\",\"last_updated\":\"2026-04-05T03:49:25.359644+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T03:49:25.364632+00:00\",\"last_updated\":\"2026-04-05T03:49:25.364632+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T05:05:09.282330+00:00\",\"last_updated\":\"2026-04-05T05:05:09.282330+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-05T18:25:19.091073+00:00\",\"last_updated\":\"2026-04-05T18:25:19.091073+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T06:55:03.198995+00:00\",\"last_updated\":\"2026-04-07T06:55:03.198995+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:18:37.602606+00:00\",\"last_updated\":\"2026-04-07T07:18:37.602606+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:18:37.605257+00:00\",\"last_updated\":\"2026-04-07T07:18:37.605257+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:18:37.608230+00:00\",\"last_updated\":\"2026-04-07T07:18:37.608230+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:18:37.610167+00:00\",\"last_updated\":\"2026-04-07T07:18:37.610167+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:18:38.400873+00:00\",\"last_updated\":\"2026-04-07T07:18:38.400873+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:18:38.402933+00:00\",\"last_updated\":\"2026-04-07T07:18:38.402933+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:18:38.416822+00:00\",\"last_updated\":\"2026-04-07T07:18:38.416822+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:18:38.425937+00:00\",\"last_updated\":\"2026-04-07T07:18:38.425937+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:19:11.262208+00:00\",\"last_updated\":\"2026-04-07T07:19:11.262208+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:19:11.263941+00:00\",\"last_updated\":\"2026-04-07T07:19:11.263941+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:19:11.266368+00:00\",\"last_updated\":\"2026-04-07T07:19:11.266368+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:19:11.268234+00:00\",\"last_updated\":\"2026-04-07T07:19:11.268234+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:19:12.226209+00:00\",\"last_updated\":\"2026-04-07T07:19:12.226209+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:19:12.235126+00:00\",\"last_updated\":\"2026-04-07T07:19:12.235126+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:19:12.242244+00:00\",\"last_updated\":\"2026-04-07T07:19:12.242244+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:19:12.251347+00:00\",\"last_updated\":\"2026-04-07T07:19:12.251347+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:30:59.526517+00:00\",\"last_updated\":\"2026-04-07T07:30:59.526517+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:30:59.528166+00:00\",\"last_updated\":\"2026-04-07T07:30:59.528166+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:30:59.530789+00:00\",\"last_updated\":\"2026-04-07T07:30:59.530789+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:30:59.532307+00:00\",\"last_updated\":\"2026-04-07T07:30:59.532307+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:31:00.358874+00:00\",\"last_updated\":\"2026-04-07T07:31:00.358874+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:31:00.363967+00:00\",\"last_updated\":\"2026-04-07T07:31:00.363967+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:31:00.369575+00:00\",\"last_updated\":\"2026-04-07T07:31:00.369575+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:31:00.371264+00:00\",\"last_updated\":\"2026-04-07T07:31:00.371264+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:36:47.013211+00:00\",\"last_updated\":\"2026-04-07T07:36:47.013211+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:36:47.015137+00:00\",\"last_updated\":\"2026-04-07T07:36:47.015137+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:36:47.018521+00:00\",\"last_updated\":\"2026-04-07T07:36:47.018521+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:36:47.020194+00:00\",\"last_updated\":\"2026-04-07T07:36:47.020194+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:36:48.363259+00:00\",\"last_updated\":\"2026-04-07T07:36:48.363259+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:36:48.372581+00:00\",\"last_updated\":\"2026-04-07T07:36:48.372581+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-07T07:36:48.392615+00:00\",\"last_updated\":\"2026-04-07T07:36:48.392615+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T07:36:48.397353+00:00\",\"last_updated\":\"2026-04-07T07:36:48.397353+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-07T18:28:39.433578+00:00\",\"last_updated\":\"2026-04-07T18:28:39.433578+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-08T04:58:13.956939+00:00\",\"last_updated\":\"2026-04-08T04:58:13.956939+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:11:13.273609+00:00\",\"last_updated\":\"2026-04-09T06:11:13.273609+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-09T06:11:21.691439+00:00\",\"last_updated\":\"2026-04-09T06:11:21.691439+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:11:21.693828+00:00\",\"last_updated\":\"2026-04-09T06:11:21.693828+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-09T06:11:21.697431+00:00\",\"last_updated\":\"2026-04-09T06:11:21.697431+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:11:21.699241+00:00\",\"last_updated\":\"2026-04-09T06:11:21.699241+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-09T06:11:22.452752+00:00\",\"last_updated\":\"2026-04-09T06:11:22.452752+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:11:22.461845+00:00\",\"last_updated\":\"2026-04-09T06:11:22.461845+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-09T06:11:22.482137+00:00\",\"last_updated\":\"2026-04-09T06:11:22.482137+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:11:22.487029+00:00\",\"last_updated\":\"2026-04-09T06:11:22.487029+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-09T06:12:16.750139+00:00\",\"last_updated\":\"2026-04-09T06:12:16.750139+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:12:16.751925+00:00\",\"last_updated\":\"2026-04-09T06:12:16.751925+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-09T06:12:16.754874+00:00\",\"last_updated\":\"2026-04-09T06:12:16.754874+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:12:16.756817+00:00\",\"last_updated\":\"2026-04-09T06:12:16.756817+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-09T06:12:17.154931+00:00\",\"last_updated\":\"2026-04-09T06:12:17.154931+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:12:17.162853+00:00\",\"last_updated\":\"2026-04-09T06:12:17.162853+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-09T06:12:17.181298+00:00\",\"last_updated\":\"2026-04-09T06:12:17.181298+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T06:12:17.190899+00:00\",\"last_updated\":\"2026-04-09T06:12:17.190899+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-09T18:31:57.963000+00:00\",\"last_updated\":\"2026-04-09T18:31:57.963000+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-10T04:53:39.245622+00:00\",\"last_updated\":\"2026-04-10T04:53:39.245622+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T16:55:30.295367+00:00\",\"last_updated\":\"2026-04-12T16:55:30.295367+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T16:55:38.905124+00:00\",\"last_updated\":\"2026-04-12T16:55:38.905124+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T16:55:38.909797+00:00\",\"last_updated\":\"2026-04-12T16:55:38.909797+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T16:55:38.914742+00:00\",\"last_updated\":\"2026-04-12T16:55:38.914742+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T16:55:38.916826+00:00\",\"last_updated\":\"2026-04-12T16:55:38.916826+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T16:55:40.140140+00:00\",\"last_updated\":\"2026-04-12T16:55:40.140140+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T16:55:40.142125+00:00\",\"last_updated\":\"2026-04-12T16:55:40.142125+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T16:55:40.146982+00:00\",\"last_updated\":\"2026-04-12T16:55:40.146982+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T16:55:40.150118+00:00\",\"last_updated\":\"2026-04-12T16:55:40.150118+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T17:19:22.278074+00:00\",\"last_updated\":\"2026-04-12T17:19:22.278074+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T17:19:22.280331+00:00\",\"last_updated\":\"2026-04-12T17:19:22.280331+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T17:19:22.284613+00:00\",\"last_updated\":\"2026-04-12T17:19:22.284613+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T17:19:22.286764+00:00\",\"last_updated\":\"2026-04-12T17:19:22.286764+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T17:19:23.195136+00:00\",\"last_updated\":\"2026-04-12T17:19:23.195136+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T17:19:23.197078+00:00\",\"last_updated\":\"2026-04-12T17:19:23.197078+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T17:19:23.200907+00:00\",\"last_updated\":\"2026-04-12T17:19:23.200907+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T17:19:23.202677+00:00\",\"last_updated\":\"2026-04-12T17:19:23.202677+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T18:36:52.438177+00:00\",\"last_updated\":\"2026-04-12T18:36:52.438177+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T19:59:32.474959+00:00\",\"last_updated\":\"2026-04-12T19:59:32.474959+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T19:59:32.477394+00:00\",\"last_updated\":\"2026-04-12T19:59:32.477394+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T19:59:32.481787+00:00\",\"last_updated\":\"2026-04-12T19:59:32.481787+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T19:59:32.483929+00:00\",\"last_updated\":\"2026-04-12T19:59:32.483929+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T19:59:33.228622+00:00\",\"last_updated\":\"2026-04-12T19:59:33.228622+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T19:59:33.230875+00:00\",\"last_updated\":\"2026-04-12T19:59:33.230875+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T19:59:33.235056+00:00\",\"last_updated\":\"2026-04-12T19:59:33.235056+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T19:59:33.236850+00:00\",\"last_updated\":\"2026-04-12T19:59:33.236850+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:00:38.219213+00:00\",\"last_updated\":\"2026-04-12T20:00:38.219213+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:00:38.221401+00:00\",\"last_updated\":\"2026-04-12T20:00:38.221401+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:00:38.225309+00:00\",\"last_updated\":\"2026-04-12T20:00:38.225309+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:00:38.227147+00:00\",\"last_updated\":\"2026-04-12T20:00:38.227147+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:00:39.124540+00:00\",\"last_updated\":\"2026-04-12T20:00:39.124540+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:00:39.133407+00:00\",\"last_updated\":\"2026-04-12T20:00:39.133407+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:00:39.140792+00:00\",\"last_updated\":\"2026-04-12T20:00:39.140792+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:00:39.143051+00:00\",\"last_updated\":\"2026-04-12T20:00:39.143051+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:12:20.151640+00:00\",\"last_updated\":\"2026-04-12T20:12:20.151640+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:12:20.153514+00:00\",\"last_updated\":\"2026-04-12T20:12:20.153514+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:12:20.156801+00:00\",\"last_updated\":\"2026-04-12T20:12:20.156801+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:12:20.158648+00:00\",\"last_updated\":\"2026-04-12T20:12:20.158648+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:12:21.400924+00:00\",\"last_updated\":\"2026-04-12T20:12:21.400924+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:12:21.410656+00:00\",\"last_updated\":\"2026-04-12T20:12:21.410656+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:12:21.433198+00:00\",\"last_updated\":\"2026-04-12T20:12:21.433198+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:12:21.443464+00:00\",\"last_updated\":\"2026-04-12T20:12:21.443464+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:12:49.798177+00:00\",\"last_updated\":\"2026-04-12T20:12:49.798177+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:13:19.835351+00:00\",\"last_updated\":\"2026-04-12T20:13:19.835351+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:13:19.837431+00:00\",\"last_updated\":\"2026-04-12T20:13:19.837431+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:13:19.841967+00:00\",\"last_updated\":\"2026-04-12T20:13:19.841967+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:13:19.844827+00:00\",\"last_updated\":\"2026-04-12T20:13:19.844827+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:13:21.345057+00:00\",\"last_updated\":\"2026-04-12T20:13:21.345057+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:13:21.354928+00:00\",\"last_updated\":\"2026-04-12T20:13:21.354928+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:13:21.365000+00:00\",\"last_updated\":\"2026-04-12T20:13:21.365000+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:13:21.367110+00:00\",\"last_updated\":\"2026-04-12T20:13:21.367110+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:14:24.680694+00:00\",\"last_updated\":\"2026-04-12T20:14:24.680694+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:14:24.682407+00:00\",\"last_updated\":\"2026-04-12T20:14:24.682407+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:14:24.687103+00:00\",\"last_updated\":\"2026-04-12T20:14:24.687103+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:14:24.689225+00:00\",\"last_updated\":\"2026-04-12T20:14:24.689225+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:14:25.215024+00:00\",\"last_updated\":\"2026-04-12T20:14:25.215024+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:14:25.225798+00:00\",\"last_updated\":\"2026-04-12T20:14:25.225798+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T20:14:25.245103+00:00\",\"last_updated\":\"2026-04-12T20:14:25.245103+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T20:14:25.250534+00:00\",\"last_updated\":\"2026-04-12T20:14:25.250534+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T21:53:31.259333+00:00\",\"last_updated\":\"2026-04-12T21:53:31.259333+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T21:53:31.279280+00:00\",\"last_updated\":\"2026-04-12T21:53:31.279280+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T21:53:31.288007+00:00\",\"last_updated\":\"2026-04-12T21:53:31.288007+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T21:53:31.290023+00:00\",\"last_updated\":\"2026-04-12T21:53:31.290023+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T21:53:32.402675+00:00\",\"last_updated\":\"2026-04-12T21:53:32.402675+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T21:53:32.404767+00:00\",\"last_updated\":\"2026-04-12T21:53:32.404767+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T21:53:32.411340+00:00\",\"last_updated\":\"2026-04-12T21:53:32.411340+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T21:53:32.414079+00:00\",\"last_updated\":\"2026-04-12T21:53:32.414079+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T22:09:48.450874+00:00\",\"last_updated\":\"2026-04-12T22:09:48.450874+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T22:09:48.454263+00:00\",\"last_updated\":\"2026-04-12T22:09:48.454263+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T22:09:48.458321+00:00\",\"last_updated\":\"2026-04-12T22:09:48.458321+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T22:09:48.460981+00:00\",\"last_updated\":\"2026-04-12T22:09:48.460981+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T22:09:49.479321+00:00\",\"last_updated\":\"2026-04-12T22:09:49.479321+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T22:09:49.481724+00:00\",\"last_updated\":\"2026-04-12T22:09:49.481724+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T22:09:49.486616+00:00\",\"last_updated\":\"2026-04-12T22:09:49.486616+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T22:09:49.489216+00:00\",\"last_updated\":\"2026-04-12T22:09:49.489216+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T22:49:52.922712+00:00\",\"last_updated\":\"2026-04-12T22:49:52.922712+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T22:49:52.925844+00:00\",\"last_updated\":\"2026-04-12T22:49:52.925844+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T22:49:52.929358+00:00\",\"last_updated\":\"2026-04-12T22:49:52.929358+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T22:49:52.931005+00:00\",\"last_updated\":\"2026-04-12T22:49:52.931005+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T22:49:54.320333+00:00\",\"last_updated\":\"2026-04-12T22:49:54.320333+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T22:49:54.322256+00:00\",\"last_updated\":\"2026-04-12T22:49:54.322256+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-12T22:49:54.326036+00:00\",\"last_updated\":\"2026-04-12T22:49:54.326036+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-12T22:49:54.327845+00:00\",\"last_updated\":\"2026-04-12T22:49:54.327845+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:07:34.971895+00:00\",\"last_updated\":\"2026-04-13T02:07:34.971895+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:07:34.976250+00:00\",\"last_updated\":\"2026-04-13T02:07:34.976250+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:07:34.984187+00:00\",\"last_updated\":\"2026-04-13T02:07:34.984187+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:07:34.988317+00:00\",\"last_updated\":\"2026-04-13T02:07:34.988317+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:07:36.155988+00:00\",\"last_updated\":\"2026-04-13T02:07:36.155988+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:07:36.157938+00:00\",\"last_updated\":\"2026-04-13T02:07:36.157938+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:07:36.162182+00:00\",\"last_updated\":\"2026-04-13T02:07:36.162182+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:07:36.164156+00:00\",\"last_updated\":\"2026-04-13T02:07:36.164156+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:13:01.248961+00:00\",\"last_updated\":\"2026-04-13T02:13:01.248961+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:13:24.401147+00:00\",\"last_updated\":\"2026-04-13T02:13:24.401147+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:13:24.403707+00:00\",\"last_updated\":\"2026-04-13T02:13:24.403707+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:13:24.407551+00:00\",\"last_updated\":\"2026-04-13T02:13:24.407551+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:13:24.409239+00:00\",\"last_updated\":\"2026-04-13T02:13:24.409239+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:13:25.405309+00:00\",\"last_updated\":\"2026-04-13T02:13:25.405309+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:13:25.407245+00:00\",\"last_updated\":\"2026-04-13T02:13:25.407245+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:13:25.411493+00:00\",\"last_updated\":\"2026-04-13T02:13:25.411493+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:13:25.413286+00:00\",\"last_updated\":\"2026-04-13T02:13:25.413286+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:43:47.721043+00:00\",\"last_updated\":\"2026-04-13T02:43:47.721043+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:43:47.722854+00:00\",\"last_updated\":\"2026-04-13T02:43:47.722854+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:43:47.726509+00:00\",\"last_updated\":\"2026-04-13T02:43:47.726509+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:43:47.729508+00:00\",\"last_updated\":\"2026-04-13T02:43:47.729508+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:43:48.396388+00:00\",\"last_updated\":\"2026-04-13T02:43:48.396388+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:43:48.398325+00:00\",\"last_updated\":\"2026-04-13T02:43:48.398325+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:43:48.401451+00:00\",\"last_updated\":\"2026-04-13T02:43:48.401451+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:43:48.403268+00:00\",\"last_updated\":\"2026-04-13T02:43:48.403268+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:47:33.517973+00:00\",\"last_updated\":\"2026-04-13T02:47:33.517973+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:47:33.519750+00:00\",\"last_updated\":\"2026-04-13T02:47:33.519750+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:47:33.522540+00:00\",\"last_updated\":\"2026-04-13T02:47:33.522540+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:47:33.524065+00:00\",\"last_updated\":\"2026-04-13T02:47:33.524065+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:47:34.077119+00:00\",\"last_updated\":\"2026-04-13T02:47:34.077119+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:47:34.079477+00:00\",\"last_updated\":\"2026-04-13T02:47:34.079477+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:47:34.082548+00:00\",\"last_updated\":\"2026-04-13T02:47:34.082548+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:47:34.084168+00:00\",\"last_updated\":\"2026-04-13T02:47:34.084168+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:51:23.143156+00:00\",\"last_updated\":\"2026-04-13T02:51:23.143156+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:51:23.145077+00:00\",\"last_updated\":\"2026-04-13T02:51:23.145077+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:51:23.148011+00:00\",\"last_updated\":\"2026-04-13T02:51:23.148011+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:51:23.149785+00:00\",\"last_updated\":\"2026-04-13T02:51:23.149785+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:51:24.293711+00:00\",\"last_updated\":\"2026-04-13T02:51:24.293711+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:51:24.295520+00:00\",\"last_updated\":\"2026-04-13T02:51:24.295520+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:51:24.299886+00:00\",\"last_updated\":\"2026-04-13T02:51:24.299886+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:51:24.302647+00:00\",\"last_updated\":\"2026-04-13T02:51:24.302647+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:53:18.281462+00:00\",\"last_updated\":\"2026-04-13T02:53:18.281462+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:53:18.283373+00:00\",\"last_updated\":\"2026-04-13T02:53:18.283373+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:53:18.287178+00:00\",\"last_updated\":\"2026-04-13T02:53:18.287178+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:53:18.290066+00:00\",\"last_updated\":\"2026-04-13T02:53:18.290066+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:53:19.298991+00:00\",\"last_updated\":\"2026-04-13T02:53:19.298991+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:53:19.301500+00:00\",\"last_updated\":\"2026-04-13T02:53:19.301500+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T02:53:19.304891+00:00\",\"last_updated\":\"2026-04-13T02:53:19.304891+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T02:53:19.306659+00:00\",\"last_updated\":\"2026-04-13T02:53:19.306659+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T08:05:17.375982+00:00\",\"last_updated\":\"2026-04-13T08:05:17.375982+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T08:05:22.531258+00:00\",\"last_updated\":\"2026-04-13T08:05:22.531258+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T08:05:22.533195+00:00\",\"last_updated\":\"2026-04-13T08:05:22.533195+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T08:05:22.537076+00:00\",\"last_updated\":\"2026-04-13T08:05:22.537076+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T08:05:22.539101+00:00\",\"last_updated\":\"2026-04-13T08:05:22.539101+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T08:05:23.320923+00:00\",\"last_updated\":\"2026-04-13T08:05:23.320923+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T08:05:23.324502+00:00\",\"last_updated\":\"2026-04-13T08:05:23.324502+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-13T08:05:23.331555+00:00\",\"last_updated\":\"2026-04-13T08:05:23.331555+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"above_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T08:05:23.333690+00:00\",\"last_updated\":\"2026-04-13T08:05:23.333690+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-13T18:38:29.805907+00:00\",\"last_updated\":\"2026-04-13T18:38:29.805907+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:31.247873+00:00\",\"last_updated\":\"2026-04-21T01:51:31.247873+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:53.903872+00:00\",\"last_updated\":\"2026-04-21T01:51:53.903872+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:53.906573+00:00\",\"last_updated\":\"2026-04-21T01:51:53.906573+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:53.913278+00:00\",\"last_updated\":\"2026-04-21T01:51:53.913278+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:53.915127+00:00\",\"last_updated\":\"2026-04-21T01:51:53.915127+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:55.084844+00:00\",\"last_updated\":\"2026-04-21T01:51:55.084844+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:55.094790+00:00\",\"last_updated\":\"2026-04-21T01:51:55.094790+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:55.110192+00:00\",\"last_updated\":\"2026-04-21T01:51:55.110192+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:55.112527+00:00\",\"last_updated\":\"2026-04-21T01:51:55.112527+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:48:31.001566+00:00\",\"last_updated\":\"2026-04-21T02:48:31.001566+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:48:31.004039+00:00\",\"last_updated\":\"2026-04-21T02:48:31.004039+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:48:31.013509+00:00\",\"last_updated\":\"2026-04-21T02:48:31.013509+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:48:31.016501+00:00\",\"last_updated\":\"2026-04-21T02:48:31.016501+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:04.542192+00:00\",\"last_updated\":\"2026-04-21T02:55:04.542192+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:04.557678+00:00\",\"last_updated\":\"2026-04-21T02:55:04.557678+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:04.565397+00:00\",\"last_updated\":\"2026-04-21T02:55:04.565397+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:04.568086+00:00\",\"last_updated\":\"2026-04-21T02:55:04.568086+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:06.194407+00:00\",\"last_updated\":\"2026-04-21T02:55:06.194407+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.196543+00:00\",\"last_updated\":\"2026-04-21T02:55:06.196543+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:06.204598+00:00\",\"last_updated\":\"2026-04-21T02:55:06.204598+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_updated\":\"2026-04-21T02:55:06.207470+00:00\"}]]" + }, + "protocol": null, + "url": "http://localhost:8123/api/history/period/2020-01-01T00:00:00+00:00?filter_entity_id=sun.sun&end_time=2030-01-01T00%3A00%3A01%2B00%3A00&significant_changes_only" + }, + "recorded_at": "2026-04-21T02:58:30.424057+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_entry_subentries.json b/tests/cassettes/test_endpoints/test_get_entry_subentries.json new file mode 100644 index 00000000..bfc6cb70 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_entry_subentries.json @@ -0,0 +1,67 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.731090+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/get\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0},{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}]}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"id\": 3, \"type\": \"config_entries/subentries/list\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":[]}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_error_log.json b/tests/cassettes/test_endpoints/test_get_error_log.json new file mode 100644 index 00000000..daae19c7 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_error_log.json @@ -0,0 +1,107 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.346491+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/error_log", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Type": [ + "application/octet-stream" + ], + "Etag": [ + "\"18a83fe60ff127fe-11c24\"" + ], + "Last-Modified": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ], + "Accept-Ranges": [ + "bytes" + ], + "Content-Encoding": [ + "deflate" + ], + "Transfer-Encoding": [ + "chunked" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "2026-04-21 01:51:30.282 INFO (MainThread) [homeassistant.setup] Setting up http\n2026-04-21 01:51:30.306 INFO (MainThread) [homeassistant.setup] Setup of domain system_log took 0.03 seconds\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setup of domain logger took 0.03 seconds\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.02 seconds\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setting up websocket_api\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setup of domain websocket_api took 0.00 seconds\n2026-04-21 01:51:30.307 INFO (MainThread) [homeassistant.setup] Setting up network\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setup of domain network took 0.00 seconds\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.bootstrap] Setting up stage labs: {'labs'}; already set up: {}\nDependencies: {}; already set up: {}\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setting up labs\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setup of domain labs took 0.00 seconds\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.bootstrap] Setting up stage frontend: {'frontend'}; already set up: {}\nDependencies: {'search', 'api', 'device_automation', 'diagnostics', 'config', 'lovelace', 'auth', 'repairs', 'file_upload', 'onboarding'}; already set up: {'system_log', 'websocket_api', 'http'}\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setting up search\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setup of domain search took 0.00 seconds\n2026-04-21 01:51:30.308 INFO (MainThread) [homeassistant.setup] Setting up api\n2026-04-21 01:51:30.309 INFO (MainThread) [homeassistant.setup] Setup of domain api took 0.00 seconds\n2026-04-21 01:51:30.309 INFO (MainThread) [homeassistant.setup] Setting up auth\n2026-04-21 01:51:30.309 INFO (MainThread) [homeassistant.setup] Setup of domain auth took 0.00 seconds\n2026-04-21 01:51:30.309 INFO (MainThread) [homeassistant.setup] Setting up config\n2026-04-21 01:51:30.310 INFO (MainThread) [homeassistant.setup] Setup of domain config took 0.00 seconds\n2026-04-21 01:51:30.310 INFO (MainThread) [homeassistant.setup] Setting up device_automation\n2026-04-21 01:51:30.310 INFO (MainThread) [homeassistant.setup] Setup of domain device_automation took 0.00 seconds\n2026-04-21 01:51:30.310 INFO (MainThread) [homeassistant.setup] Setting up diagnostics\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setup of domain diagnostics took 0.00 seconds\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setting up file_upload\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setup of domain file_upload took 0.00 seconds\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setting up onboarding\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setup of domain onboarding took 0.00 seconds\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setting up lovelace\n2026-04-21 01:51:30.311 INFO (MainThread) [homeassistant.setup] Setup of domain lovelace took 0.00 seconds\n2026-04-21 01:51:30.312 INFO (MainThread) [homeassistant.setup] Setting up repairs\n2026-04-21 01:51:30.312 INFO (MainThread) [homeassistant.setup] Setup of domain repairs took 0.00 seconds\n2026-04-21 01:51:30.312 INFO (MainThread) [homeassistant.setup] Setting up frontend\n2026-04-21 01:51:30.315 INFO (MainThread) [homeassistant.setup] Setup of domain frontend took 0.00 seconds\n2026-04-21 01:51:30.316 INFO (MainThread) [homeassistant.bootstrap] Setting up stage recorder: {'recorder'}; already set up: {}\nDependencies: {}; already set up: {}\n2026-04-21 01:51:30.316 INFO (MainThread) [homeassistant.setup] Setting up recorder\n2026-04-21 01:51:30.317 INFO (MainThread) [homeassistant.components.http] Now listening on port 8123\n2026-04-21 01:51:30.317 INFO (MainThread) [homeassistant.setup] Setup of domain http took 0.00 seconds\n2026-04-21 01:51:30.318 WARNING (Recorder) [homeassistant.components.recorder.util] The system could not validate that the sqlite3 database at //config/home-assistant_v2.db was shutdown cleanly\n2026-04-21 01:51:30.343 INFO (MainThread) [homeassistant.setup] Setup of domain recorder took 0.03 seconds\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage debugger: {'debugpy'}\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage zeroconf: {'zeroconf'}\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.bootstrap] Nothing to set up in stage 1: {'usb', 'dhcp', 'hassio', 'cloud', 'ssdp', 'mqtt_eventstream', 'bluetooth'}\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'climate', 'media_player', 'lock', 'fan', 'update', 'assist_satellite', 'stt', 'door', 'lawn_mower', 'counter', 'backup', 'remote', 'motion', 'system_health', 'brands', 'history', 'date', 'geo_location', 'input_boolean', 'automation', 'infrared', 'zone', 'select', 'image_processing', 'trace', 'humidity', 'alarm_control_panel', 'image', 'window', 'input_text', 'schedule', 'conversation', 'air_quality', 'valve', 'temperature', 'garage_door', 'button', 'notify', 'switch', 'humidifier', 'input_datetime', 'ai_task', 'script', 'input_select', 'weather', 'application_credentials', 'timer', 'analytics', 'occupancy', 'datetime', 'vacuum', 'illuminance', 'event', 'gate', 'device_tracker', 'radio_browser', 'input_number', 'logbook', 'power', 'hardware', 'binary_sensor', 'battery', 'tts', 'tag', 'person', 'siren', 'cover', 'number', 'text', 'time', 'scene', 'input_button', 'moisture', 'sensor', 'sun', 'wake_word', 'water_heater', 'light', 'camera', 'met'}; already set up: {'frontend', 'network', 'api', 'labs', 'logger', 'http'}\nDependencies: {'media_source', 'assist_pipeline', 'web_rtc', 'image_upload', 'blueprint', 'intent', 'ffmpeg'}; already set up: {'system_log', 'search', 'frontend', 'api', 'websocket_api', 'recorder', 'device_automation', 'lovelace', 'diagnostics', 'config', 'auth', 'repairs', 'file_upload', 'http', 'onboarding'}\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.setup] Setting up climate\n2026-04-21 01:51:30.344 INFO (MainThread) [homeassistant.setup] Setup of domain climate took 0.00 seconds\n2026-04-21 01:51:30.345 INFO (MainThread) [homeassistant.setup] Setting up media_player\n2026-04-21 01:51:30.346 INFO (MainThread) [homeassistant.setup] Setup of domain media_player took 0.00 seconds\n2026-04-21 01:51:30.346 INFO (MainThread) [homeassistant.setup] Setting up lock\n2026-04-21 01:51:30.346 INFO (MainThread) [homeassistant.setup] Setup of domain lock took 0.00 seconds\n2026-04-21 01:51:30.346 INFO (MainThread) [homeassistant.setup] Setting up fan\n2026-04-21 01:51:30.347 INFO (MainThread) [homeassistant.setup] Setup of domain fan took 0.00 seconds\n2026-04-21 01:51:30.347 INFO (MainThread) [homeassistant.setup] Setting up alarm_control_panel\n2026-04-21 01:51:30.347 INFO (MainThread) [homeassistant.setup] Setup of domain alarm_control_panel took 0.00 seconds\n2026-04-21 01:51:30.347 INFO (MainThread) [homeassistant.setup] Setting up valve\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setup of domain valve took 0.00 seconds\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setting up button\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setup of domain button took 0.00 seconds\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setting up notify\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setup of domain notify took 0.00 seconds\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setting up switch\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setup of domain switch took 0.00 seconds\n2026-04-21 01:51:30.348 INFO (MainThread) [homeassistant.setup] Setting up vacuum\n2026-04-21 01:51:30.349 INFO (MainThread) [homeassistant.setup] Setup of domain vacuum took 0.00 seconds\n2026-04-21 01:51:30.349 INFO (MainThread) [homeassistant.setup] Setting up event\n2026-04-21 01:51:30.349 INFO (MainThread) [homeassistant.setup] Setup of domain event took 0.00 seconds\n2026-04-21 01:51:30.349 INFO (MainThread) [homeassistant.setup] Setting up zone\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setup of domain zone took 0.00 seconds\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setting up device_tracker\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setup of domain device_tracker took 0.00 seconds\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setting up binary_sensor\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setup of domain binary_sensor took 0.00 seconds\n2026-04-21 01:51:30.350 INFO (MainThread) [homeassistant.setup] Setting up cover\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.setup] Setup of domain cover took 0.00 seconds\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.setup] Setting up number\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.setup] Setup of domain number took 0.00 seconds\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.setup] Setting up scene\n2026-04-21 01:51:30.351 INFO (MainThread) [homeassistant.components.scene] Setting up homeassistant.scene\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setup of domain scene took 0.00 seconds\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setting up sensor\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setup of domain sensor took 0.00 seconds\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setting up water_heater\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setup of domain water_heater took 0.00 seconds\n2026-04-21 01:51:30.352 INFO (MainThread) [homeassistant.setup] Setting up light\n2026-04-21 01:51:30.353 INFO (MainThread) [homeassistant.setup] Setup of domain light took 0.00 seconds\n2026-04-21 01:51:30.354 INFO (MainThread) [homeassistant.setup] Setting up backup\n2026-04-21 01:51:30.354 INFO (MainThread) [homeassistant.setup] Setting up system_health\n2026-04-21 01:51:30.354 INFO (MainThread) [homeassistant.setup] Setup of domain system_health took 0.00 seconds\n2026-04-21 01:51:30.354 INFO (MainThread) [homeassistant.setup] Setting up image_upload\n2026-04-21 01:51:30.355 INFO (MainThread) [homeassistant.setup] Setup of domain image_upload took 0.00 seconds\n2026-04-21 01:51:30.355 INFO (MainThread) [homeassistant.setup] Setting up history\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setup of domain history took 0.00 seconds\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setting up blueprint\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setup of domain blueprint took 0.00 seconds\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setting up trace\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setup of domain trace took 0.00 seconds\n2026-04-21 01:51:30.356 INFO (MainThread) [homeassistant.setup] Setting up automation\n2026-04-21 01:51:30.357 INFO (MainThread) [homeassistant.setup] Setup of domain automation took 0.00 seconds\n2026-04-21 01:51:30.357 INFO (MainThread) [homeassistant.setup] Setting up script\n2026-04-21 01:51:30.358 INFO (MainThread) [homeassistant.setup] Setup of domain script took 0.00 seconds\n2026-04-21 01:51:30.358 INFO (MainThread) [homeassistant.setup] Setting up input_number\n2026-04-21 01:51:30.359 INFO (MainThread) [homeassistant.setup] Setup of domain input_number took 0.00 seconds\n2026-04-21 01:51:30.359 INFO (MainThread) [homeassistant.setup] Setting up logbook\n2026-04-21 01:51:30.361 INFO (MainThread) [homeassistant.setup] Setup of domain logbook took 0.00 seconds\n2026-04-21 01:51:30.361 INFO (MainThread) [homeassistant.setup] Setting up person\n2026-04-21 01:51:30.363 INFO (MainThread) [homeassistant.setup] Setup of domain person took 0.00 seconds\n2026-04-21 01:51:30.365 INFO (MainThread) [homeassistant.setup] Setup of domain backup took 0.01 seconds\n2026-04-21 01:51:30.372 INFO (MainThread) [homeassistant.setup] Setting up update\n2026-04-21 01:51:30.373 INFO (MainThread) [homeassistant.setup] Setup of domain update took 0.00 seconds\n2026-04-21 01:51:30.384 INFO (MainThread) [homeassistant.setup] Setting up intent\n2026-04-21 01:51:30.384 INFO (MainThread) [homeassistant.setup] Setup of domain intent took 0.00 seconds\n2026-04-21 01:51:30.388 INFO (MainThread) [homeassistant.setup] Setting up stt\n2026-04-21 01:51:30.388 INFO (MainThread) [homeassistant.setup] Setup of domain stt took 0.00 seconds\n2026-04-21 01:51:30.392 INFO (MainThread) [homeassistant.setup] Setting up ffmpeg\n2026-04-21 01:51:30.392 INFO (MainThread) [homeassistant.setup] Setup of domain ffmpeg took 0.00 seconds\n2026-04-21 01:51:30.393 INFO (MainThread) [homeassistant.setup] Setting up wake_word\n2026-04-21 01:51:30.393 INFO (MainThread) [homeassistant.setup] Setup of domain wake_word took 0.00 seconds\n2026-04-21 01:51:30.395 INFO (MainThread) [homeassistant.setup] Setting up lawn_mower\n2026-04-21 01:51:30.395 INFO (MainThread) [homeassistant.setup] Setup of domain lawn_mower took 0.00 seconds\n2026-04-21 01:51:30.397 INFO (MainThread) [homeassistant.setup] Setting up remote\n2026-04-21 01:51:30.397 INFO (MainThread) [homeassistant.setup] Setup of domain remote took 0.00 seconds\n2026-04-21 01:51:30.399 INFO (MainThread) [homeassistant.setup] Setting up date\n2026-04-21 01:51:30.399 INFO (MainThread) [homeassistant.setup] Setup of domain date took 0.00 seconds\n2026-04-21 01:51:30.400 INFO (MainThread) [homeassistant.setup] Setting up geo_location\n2026-04-21 01:51:30.400 INFO (MainThread) [homeassistant.setup] Setup of domain geo_location took 0.00 seconds\n2026-04-21 01:51:30.403 INFO (MainThread) [homeassistant.setup] Setting up infrared\n2026-04-21 01:51:30.403 INFO (MainThread) [homeassistant.setup] Setup of domain infrared took 0.00 seconds\n2026-04-21 01:51:30.405 INFO (MainThread) [homeassistant.setup] Setting up select\n2026-04-21 01:51:30.405 INFO (MainThread) [homeassistant.setup] Setup of domain select took 0.00 seconds\n2026-04-21 01:51:30.406 INFO (MainThread) [homeassistant.setup] Setting up web_rtc\n2026-04-21 01:51:30.406 INFO (MainThread) [homeassistant.setup] Setup of domain web_rtc took 0.00 seconds\n2026-04-21 01:51:30.541 WARNING (ImportExecutor_0) [py.warnings] /usr/local/lib/python3.14/site-packages/rich/segment.py:547: SyntaxWarning: 'return' in a 'finally' block\n return\n\n2026-04-21 01:51:30.710 INFO (MainThread) [homeassistant.setup] Setting up image\n2026-04-21 01:51:30.711 INFO (MainThread) [homeassistant.setup] Setup of domain image took 0.00 seconds\n2026-04-21 01:51:30.714 INFO (MainThread) [homeassistant.setup] Setting up air_quality\n2026-04-21 01:51:30.714 INFO (MainThread) [homeassistant.setup] Setup of domain air_quality took 0.00 seconds\n2026-04-21 01:51:30.718 INFO (MainThread) [homeassistant.setup] Setting up humidifier\n2026-04-21 01:51:30.718 INFO (MainThread) [homeassistant.setup] Setup of domain humidifier took 0.00 seconds\n2026-04-21 01:51:30.718 INFO (MainThread) [homeassistant.setup] Setting up media_source\n2026-04-21 01:51:30.719 INFO (MainThread) [homeassistant.setup] Setup of domain media_source took 0.00 seconds\n2026-04-21 01:51:30.721 INFO (MainThread) [homeassistant.setup] Setting up weather\n2026-04-21 01:51:30.722 INFO (MainThread) [homeassistant.setup] Setup of domain weather took 0.00 seconds\n2026-04-21 01:51:30.723 INFO (MainThread) [homeassistant.setup] Setting up datetime\n2026-04-21 01:51:30.723 INFO (MainThread) [homeassistant.setup] Setup of domain datetime took 0.00 seconds\n2026-04-21 01:51:30.726 INFO (MainThread) [homeassistant.setup] Setting up siren\n2026-04-21 01:51:30.726 INFO (MainThread) [homeassistant.setup] Setup of domain siren took 0.00 seconds\n2026-04-21 01:51:30.729 INFO (MainThread) [homeassistant.setup] Setting up text\n2026-04-21 01:51:30.729 INFO (MainThread) [homeassistant.setup] Setup of domain text took 0.00 seconds\n2026-04-21 01:51:30.730 INFO (MainThread) [homeassistant.setup] Setting up time\n2026-04-21 01:51:30.731 INFO (MainThread) [homeassistant.setup] Setup of domain time took 0.00 seconds\n2026-04-21 01:51:30.733 INFO (MainThread) [homeassistant.setup] Setting up door\n2026-04-21 01:51:30.733 INFO (MainThread) [homeassistant.setup] Setup of domain door took 0.00 seconds\n2026-04-21 01:51:30.734 INFO (MainThread) [homeassistant.setup] Setting up counter\n2026-04-21 01:51:30.735 INFO (MainThread) [homeassistant.setup] Setup of domain counter took 0.00 seconds\n2026-04-21 01:51:30.736 INFO (MainThread) [homeassistant.setup] Setting up motion\n2026-04-21 01:51:30.736 INFO (MainThread) [homeassistant.setup] Setup of domain motion took 0.00 seconds\n2026-04-21 01:51:30.737 INFO (MainThread) [homeassistant.setup] Setting up brands\n2026-04-21 01:51:30.738 INFO (MainThread) [homeassistant.setup] Setup of domain brands took 0.00 seconds\n2026-04-21 01:51:30.738 INFO (MainThread) [homeassistant.setup] Setting up input_boolean\n2026-04-21 01:51:30.738 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test\n2026-04-21 01:51:30.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async\n2026-04-21 01:51:30.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_2\n2026-04-21 01:51:30.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_2\n2026-04-21 01:51:30.739 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_3\n2026-04-21 01:51:30.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_3\n2026-04-21 01:51:30.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_4\n2026-04-21 01:51:30.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_4\n2026-04-21 01:51:30.740 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_5\n2026-04-21 01:51:30.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_5\n2026-04-21 01:51:30.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_6\n2026-04-21 01:51:30.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_6\n2026-04-21 01:51:30.741 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_7\n2026-04-21 01:51:30.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_7\n2026-04-21 01:51:30.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_8\n2026-04-21 01:51:30.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_8\n2026-04-21 01:51:30.742 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_9\n2026-04-21 01:51:30.744 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_9\n2026-04-21 01:51:30.744 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_10\n2026-04-21 01:51:30.744 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_10\n2026-04-21 01:51:30.745 INFO (MainThread) [homeassistant.setup] Setup of domain input_boolean took 0.01 seconds\n2026-04-21 01:51:30.746 INFO (MainThread) [homeassistant.setup] Setting up humidity\n2026-04-21 01:51:30.746 INFO (MainThread) [homeassistant.setup] Setup of domain humidity took 0.00 seconds\n2026-04-21 01:51:30.747 INFO (MainThread) [homeassistant.setup] Setting up window\n2026-04-21 01:51:30.747 INFO (MainThread) [homeassistant.setup] Setup of domain window took 0.00 seconds\n2026-04-21 01:51:30.747 INFO (MainThread) [homeassistant.setup] Setting up input_text\n2026-04-21 01:51:30.748 INFO (MainThread) [homeassistant.setup] Setup of domain input_text took 0.00 seconds\n2026-04-21 01:51:30.751 INFO (MainThread) [homeassistant.setup] Setting up schedule\n2026-04-21 01:51:30.752 INFO (MainThread) [homeassistant.setup] Setup of domain schedule took 0.00 seconds\n2026-04-21 01:51:30.754 INFO (MainThread) [homeassistant.setup] Setting up temperature\n2026-04-21 01:51:30.754 INFO (MainThread) [homeassistant.setup] Setup of domain temperature took 0.00 seconds\n2026-04-21 01:51:30.755 INFO (MainThread) [homeassistant.setup] Setting up garage_door\n2026-04-21 01:51:30.755 INFO (MainThread) [homeassistant.setup] Setup of domain garage_door took 0.00 seconds\n2026-04-21 01:51:30.756 INFO (MainThread) [homeassistant.setup] Setting up input_datetime\n2026-04-21 01:51:30.757 INFO (MainThread) [homeassistant.setup] Setup of domain input_datetime took 0.00 seconds\n2026-04-21 01:51:30.757 INFO (MainThread) [homeassistant.setup] Setting up input_select\n2026-04-21 01:51:30.758 INFO (MainThread) [homeassistant.setup] Setup of domain input_select took 0.00 seconds\n2026-04-21 01:51:30.760 INFO (MainThread) [homeassistant.setup] Setting up application_credentials\n2026-04-21 01:51:30.760 INFO (MainThread) [homeassistant.setup] Setup of domain application_credentials took 0.00 seconds\n2026-04-21 01:51:30.761 INFO (MainThread) [homeassistant.setup] Setting up timer\n2026-04-21 01:51:30.762 INFO (MainThread) [homeassistant.setup] Setup of domain timer took 0.00 seconds\n2026-04-21 01:51:31.150 INFO (MainThread) [homeassistant.setup] Setting up analytics\n2026-04-21 01:51:31.152 INFO (MainThread) [homeassistant.setup] Setup of domain analytics took 0.00 seconds\n2026-04-21 01:51:31.152 INFO (MainThread) [homeassistant.setup] Setting up occupancy\n2026-04-21 01:51:31.152 INFO (MainThread) [homeassistant.setup] Setup of domain occupancy took 0.00 seconds\n2026-04-21 01:51:31.153 INFO (MainThread) [homeassistant.setup] Setting up illuminance\n2026-04-21 01:51:31.153 INFO (MainThread) [homeassistant.setup] Setup of domain illuminance took 0.00 seconds\n2026-04-21 01:51:31.154 INFO (MainThread) [homeassistant.setup] Setting up gate\n2026-04-21 01:51:31.154 INFO (MainThread) [homeassistant.setup] Setup of domain gate took 0.00 seconds\n2026-04-21 01:51:31.205 INFO (MainThread) [homeassistant.setup] Setting up radio_browser\n2026-04-21 01:51:31.205 INFO (MainThread) [homeassistant.setup] Setup of domain radio_browser took 0.00 seconds\n2026-04-21 01:51:31.207 INFO (MainThread) [homeassistant.setup] Setting up power\n2026-04-21 01:51:31.207 INFO (MainThread) [homeassistant.setup] Setup of domain power took 0.00 seconds\n2026-04-21 01:51:31.210 INFO (MainThread) [homeassistant.setup] Setting up hardware\n2026-04-21 01:51:31.220 INFO (MainThread) [homeassistant.setup] Setting up battery\n2026-04-21 01:51:31.220 INFO (MainThread) [homeassistant.setup] Setup of domain battery took 0.00 seconds\n2026-04-21 01:51:31.230 INFO (MainThread) [homeassistant.setup] Setting up tag\n2026-04-21 01:51:31.230 INFO (MainThread) [homeassistant.setup] Setup of domain tag took 0.00 seconds\n2026-04-21 01:51:31.230 INFO (MainThread) [homeassistant.setup] Setting up input_button\n2026-04-21 01:51:31.230 INFO (MainThread) [homeassistant.setup] Setup of domain input_button took 0.00 seconds\n2026-04-21 01:51:31.244 INFO (MainThread) [homeassistant.setup] Setting up moisture\n2026-04-21 01:51:31.244 INFO (MainThread) [homeassistant.setup] Setup of domain moisture took 0.00 seconds\n2026-04-21 01:51:31.247 INFO (MainThread) [homeassistant.setup] Setting up sun\n2026-04-21 01:51:31.247 INFO (MainThread) [homeassistant.setup] Setup of domain sun took 0.00 seconds\n2026-04-21 01:51:31.248 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:31.248 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new binary_sensor.sun entity: binary_sensor.sun_solar_rising\n2026-04-21 01:51:31.248 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:31.250 INFO (MainThread) [homeassistant.setup] Setup of domain hardware took 0.04 seconds\n2026-04-21 01:51:31.257 INFO (MainThread) [homeassistant.setup] Setting up met\n2026-04-21 01:51:31.257 INFO (MainThread) [homeassistant.setup] Setup of domain met took 0.00 seconds\n2026-04-21 01:51:31.333 INFO (MainThread) [homeassistant.setup] Setting up conversation\n2026-04-21 01:51:31.333 INFO (MainThread) [homeassistant.setup] Setup of domain conversation took 0.00 seconds\n2026-04-21 01:51:31.387 INFO (MainThread) [homeassistant.setup] Setting up tts\n2026-04-21 01:51:31.388 INFO (SyncWorker_2) [homeassistant.components.tts] Create cache dir /config/tts\n2026-04-21 01:51:31.391 INFO (MainThread) [homeassistant.setup] Setup of domain tts took 0.00 seconds\n2026-04-21 01:51:31.589 INFO (MainThread) [homeassistant.setup] Setting up camera\n2026-04-21 01:51:31.591 INFO (MainThread) [homeassistant.setup] Setup of domain camera took 0.00 seconds\n2026-04-21 01:51:31.602 INFO (MainThread) [homeassistant.setup] Setting up assist_pipeline\n2026-04-21 01:51:31.603 INFO (MainThread) [homeassistant.setup] Setup of domain assist_pipeline took 0.00 seconds\n2026-04-21 01:51:31.606 INFO (MainThread) [homeassistant.setup] Setting up ai_task\n2026-04-21 01:51:31.606 INFO (MainThread) [homeassistant.setup] Setup of domain ai_task took 0.00 seconds\n2026-04-21 01:51:31.609 INFO (MainThread) [homeassistant.setup] Setting up image_processing\n2026-04-21 01:51:31.609 INFO (MainThread) [homeassistant.setup] Setup of domain image_processing took 0.00 seconds\n2026-04-21 01:51:31.613 INFO (MainThread) [homeassistant.setup] Setting up assist_satellite\n2026-04-21 01:51:31.614 INFO (MainThread) [homeassistant.setup] Setup of domain assist_satellite took 0.00 seconds\n2026-04-21 01:51:31.840 INFO (MainThread) [homeassistant.components.weather] Setting up met.weather\n2026-04-21 01:51:31.843 INFO (MainThread) [homeassistant.bootstrap] Home Assistant initialized in 1.66s\n2026-04-21 01:51:31.843 INFO (MainThread) [homeassistant.core] Starting Home Assistant 2026.4.3\n2026-04-21 01:51:31.854 INFO (MainThread) [homeassistant.components.event] Setting up backup.event\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new event.backup entity: event.backup_automatic_backup\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.components.sensor] Setting up backup.sensor\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.backup entity: sensor.backup_backup_manager_state\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.backup entity: sensor.backup_next_scheduled_automatic_backup\n2026-04-21 01:51:31.855 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.backup entity: sensor.backup_last_successful_automatic_backup\n2026-04-21 01:51:31.856 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new sensor.backup entity: sensor.backup_last_attempted_automatic_backup\n2026-04-21 01:51:53.506 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140304549474880] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.510 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303789884416] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.651 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790196832] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.660 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790197152] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.702 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790197792] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.708 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790199552] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.711 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790199872] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.714 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790199712] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.717 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790731520] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.720 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200192] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.723 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200352] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.727 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200512] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.731 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200032] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.734 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200832] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.737 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200992] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.740 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790201152] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.743 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790200672] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.748 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790201472] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.829 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303790201312] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.860 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769688864] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.887 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769688704] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.894 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769689664] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.898 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769689984] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.901 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690144] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.906 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:53.906 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:53.909 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690304] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.915 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:53.915 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:53.917 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769689184] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.920 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140304732312800] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.924 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690784] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.929 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691744] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.933 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690624] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.938 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140304540154624] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.942 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692064] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.945 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691904] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:53.950 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692224] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.045 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691584] An action which does not return responses can't be called with return_response=True\n2026-04-21 01:51:54.047 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691584] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.053 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692544] An action which does not return responses can't be called with return_response=True\n2026-04-21 01:51:54.054 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692544] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.059 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693024] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.095 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769692384] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.110 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693504] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.123 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693184] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.127 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693824] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.161 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694144] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.169 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693664] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.178 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694304] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.180 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_11\n2026-04-21 01:51:54.183 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769693984] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.186 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140304732312160] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.195 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694624] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.205 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694944] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.210 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async_11\n2026-04-21 01:51:54.212 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769695424] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.216 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/'. (niquests/3.18.4)\n2026-04-21 01:51:54.219 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/websocket'. (niquests/3.18.4)\n2026-04-21 01:51:54.221 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/websocket'. (niquests/3.18.4)\n2026-04-21 01:51:54.223 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/'. (niquests/3.18.4)\n2026-04-21 01:51:54.265 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696384] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.267 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696544] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.270 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696064] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.273 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696704] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.277 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769696864] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.281 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697024] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:54.286 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697184] Initialized trigger\n2026-04-21 01:51:55.066 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697184] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:55.095 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:55.095 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:55.104 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697344] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:55.112 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 01:51:55.113 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 01:51:55.115 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769697984] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 01:51:55.121 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691264] Initialized trigger\n2026-04-21 01:51:56.326 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769691264] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:06:32.460 INFO (MainThread) [homeassistant.components.analytics] Submitted analytics to Home Assistant servers. Information submitted includes {'uuid': '7b023d740661490db49ce807f6e76fdc', 'version': '2026.4.3', 'installation_type': 'Home Assistant Container', 'certificate': False, 'integrations': ['backup', 'history', 'input_boolean', 'http', 'notify', 'weather', 'timer', 'radio_browser', 'logbook', 'api', 'person', 'sun', 'counter', 'trace', 'input_text', 'input_datetime', 'input_number', 'tag', 'logger', 'met'], 'custom_integrations': [], 'recorder': {'engine': 'sqlite', 'version': }, 'state_count': 37, 'automation_count': 0, 'integration_count': 20, 'user_count': 1}\n2026-04-21 02:48:30.640 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769214848] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.645 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769214208] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.791 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769214048] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.799 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769211968] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.827 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769213888] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.832 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769216448] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.837 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769216608] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.841 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769216768] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.846 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769695904] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.851 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217088] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.857 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217248] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.863 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217408] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.869 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769216928] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.876 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217728] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.883 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217888] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.889 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218048] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.894 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769217568] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.900 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218368] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.925 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218208] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.935 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218688] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.976 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218528] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.984 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219008] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.989 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219168] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:30.996 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219328] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.004 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:48:31.004 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:48:31.007 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769218848] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.016 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:48:31.016 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:48:31.019 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769690944] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.023 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219648] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.028 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769208928] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.035 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220288] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.039 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219488] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.044 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769208768] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.051 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220608] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.057 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220448] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:48:31.066 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220768] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.171 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220928] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.188 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769222528] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.324 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769221888] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.333 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219808] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.370 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769222208] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.375 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769221088] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.381 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766390720] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.387 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766390880] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.393 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391040] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.397 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391200] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.402 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766390560] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.410 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391520] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.420 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391680] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.428 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391840] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.433 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392000] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.438 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766391360] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.444 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392320] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.451 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392480] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.474 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392160] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.485 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392800] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.512 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392960] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.525 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766392640] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.532 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393280] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.537 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393440] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.558 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:55:04.558 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:55:04.561 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393600] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.568 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:55:04.568 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:55:04.571 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769214368] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.575 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769220128] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.586 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393120] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.594 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394400] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.600 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394240] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.605 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766393920] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.610 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769219968] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.618 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394720] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.629 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394880] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.753 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394560] An action which does not return responses can't be called with return_response=True\n2026-04-21 02:55:04.756 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766394560] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.763 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395200] An action which does not return responses can't be called with return_response=True\n2026-04-21 02:55:04.765 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395200] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.772 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395360] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.816 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395040] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.835 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395680] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.849 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395840] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.855 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766395520] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.911 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396160] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.919 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396320] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.928 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396480] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.942 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test\n2026-04-21 02:55:04.948 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396640] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.958 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766396000] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.964 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397440] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.973 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397280] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:04.983 INFO (MainThread) [homeassistant.helpers.entity_registry] Registered new input_boolean.input_boolean entity: input_boolean.smoke_registry_remove_test_async\n2026-04-21 02:55:04.992 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397600] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.002 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/'. (niquests/3.18.4)\n2026-04-21 02:55:05.011 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/websocket'. (niquests/3.18.4)\n2026-04-21 02:55:05.022 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/websocket'. (niquests/3.18.4)\n2026-04-21 02:55:05.028 WARNING (MainThread) [homeassistant.components.http.ban] Login attempt or request with invalid authentication from ce67a7913d8b (10.89.0.2). Requested URL: '/api/'. (niquests/3.18.4)\n2026-04-21 02:55:05.098 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769694464] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.101 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766398400] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.105 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766398560] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.109 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766398720] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.115 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766398880] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.122 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766399040] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:05.128 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766399200] Initialized trigger\n2026-04-21 02:55:06.188 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766399200] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:06.196 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:55:06.196 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:55:06.199 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303769221408] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:06.207 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up sun.binary_sensor\n2026-04-21 02:55:06.207 INFO (MainThread) [homeassistant.components.sensor] Setting up sun.sensor\n2026-04-21 02:55:06.212 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766399360] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:55:06.222 INFO (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397120] Initialized trigger\n2026-04-21 02:55:07.204 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766397120] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:58:30.332 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766401280] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n2026-04-21 02:58:30.339 WARNING (MainThread) [homeassistant.components.websocket_api.http.connection] [140303766402080] Test User from 10.89.0.2 (niquests/3.18.4): Disconnected: Received error message during command phase: Invalid close code: 0\n" + }, + "protocol": null, + "url": "http://localhost:8123/api/error_log" + }, + "recorded_at": "2026-04-21T02:58:30.353117+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_events.json b/tests/cassettes/test_endpoints/test_get_events.json new file mode 100644 index 00000000..7e0ad776 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_events.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.923812+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/events", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "219" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"event\":\"*\",\"listener_count\":1},{\"event\":\"logging_changed\",\"listener_count\":1},{\"event\":\"entity_registry_updated\",\"listener_count\":6},{\"event\":\"homeassistant_start\",\"listener_count\":1},{\"event\":\"homeassistant_stop\",\"listener_count\":52},{\"event\":\"core_config_updated\",\"listener_count\":3},{\"event\":\"floor_registry_updated\",\"listener_count\":1},{\"event\":\"label_registry_updated\",\"listener_count\":3},{\"event\":\"device_registry_updated\",\"listener_count\":2},{\"event\":\"labs_updated\",\"listener_count\":5},{\"event\":\"component_loaded\",\"listener_count\":1},{\"event\":\"category_registry_updated\",\"listener_count\":1},{\"event\":\"homeassistant_final_write\",\"listener_count\":4},{\"event\":\"homeassistant_close\",\"listener_count\":6},{\"event\":\"state_changed\",\"listener_count\":3},{\"event\":\"user_removed\",\"listener_count\":1}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/events" + }, + "recorded_at": "2026-04-21T02:58:30.924812+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_logbook_entries.json b/tests/cassettes/test_endpoints/test_get_logbook_entries.json new file mode 100644 index 00000000..671b0d92 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_logbook_entries.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.374629+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/logbook/2020-01-01T00:00:00+00:00?entity=sun.red_sun&end_time=2030-01-01T00%3A00%3A00%2B00%3A00", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "1224" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:42:57.253045+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:42:57.255084+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:43:35.727279+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:43:37.465382+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T00:43:37.469311+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:38:00.874260+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:38:02.077616+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:38:02.079600+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:49:24.133682+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:49:26.296678+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-05T03:49:26.298983+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T06:57:00.262568+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T06:57:00.265797+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:02:10.770833+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:02:11.513315+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:02:11.516677+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:05:57.223587+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:05:57.966241+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:05:57.969502+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:09:51.891525+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:09:52.657550+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:09:52.660772+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:18:37.650155+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:18:39.344208+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:18:39.349195+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:11.303211+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:13.228810+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:13.233539+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:29.117210+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:29.482204+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:19:29.484149+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:30:59.574324+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:31:01.402084+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:31:01.404785+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:36:47.076982+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:36:49.411149+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-07T07:36:49.420321+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:11:23.520470+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:11:23.524980+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:12:16.812464+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:12:18.258279+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-09T06:12:18.265813+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T16:55:41.110963+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T16:55:41.119621+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T17:19:22.358232+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T17:19:24.477027+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T17:19:24.480650+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T19:59:32.543524+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T19:59:34.106033+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T19:59:34.114379+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:00:38.304081+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:00:40.452651+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:00:40.456491+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:12:20.215130+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:12:22.485769+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:12:22.488968+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:13:22.126108+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:13:22.129912+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:14:24.748612+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:14:26.151747+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T20:14:26.157637+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T21:53:31.380533+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T21:53:33.198160+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T21:53:33.202674+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:09:48.532848+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:09:50.235887+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:09:50.238504+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:49:52.990232+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:49:55.304099+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-12T22:49:55.306463+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:07:35.095384+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:07:37.123731+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:07:37.127154+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:13:26.326392+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:13:26.329639+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:43:47.778724+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:43:49.457976+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:43:49.460006+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:47:33.561670+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:47:35.331567+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:47:35.333591+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:50:58.591940+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:50:59.336033+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:50:59.338197+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:05.718969+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:06.453867+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:06.456042+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:23.190762+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:25.433029+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:51:25.437129+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:53:18.332242+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:53:20.410392+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T02:53:20.412448+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T08:05:24.482360+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-13T08:05:24.489120+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T01:51:56.337253+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T01:51:56.341620+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"beyond_our_solar_system\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T02:55:04.866614+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of your hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T02:55:07.229225+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},{\"state\":\"In the palm of my hand.\",\"entity_id\":\"sun.red_sun\",\"name\":\"red sun\",\"when\":\"2026-04-21T02:55:07.237500+00:00\",\"context_user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/logbook/2020-01-01T00:00:00+00:00?entity=sun.red_sun&end_time=2030-01-01T00%3A00%3A00%2B00%3A00" + }, + "recorded_at": "2026-04-21T02:58:30.391665+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_nonuser_flows_in_progress.json b/tests/cassettes/test_endpoints/test_get_nonuser_flows_in_progress.json new file mode 100644 index 00000000..b5a13dad --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_nonuser_flows_in_progress.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.661881+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/flow/progress\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_rendered_template.json b/tests/cassettes/test_endpoints/test_get_rendered_template.json new file mode 100644 index 00000000..868b42fb --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_rendered_template.json @@ -0,0 +1,95 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.433566+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/template", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "29" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "The sun is below the horizon." + }, + "protocol": null, + "url": "http://localhost:8123/api/template" + }, + "recorded_at": "2026-04-21T02:58:30.434759+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_state.json b/tests/cassettes/test_endpoints/test_get_state.json new file mode 100644 index 00000000..12611565 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_state.json @@ -0,0 +1,95 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.904934+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "638" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.87,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:30.694375+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694375+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694375+00:00\",\"context\":{\"id\":\"01KPPZK7N6E57Y9G46N8YKSHDA\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.sun" + }, + "recorded_at": "2026-04-21T02:58:30.905810+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_get_states.json b/tests/cassettes/test_endpoints/test_get_states.json new file mode 100644 index 00000000..57cd256c --- /dev/null +++ b/tests/cassettes/test_endpoints/test_get_states.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.888830+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "2708" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:58:30.694874+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694874+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694874+00:00\",\"context\":{\"id\":\"01KPPZK7N6W1WFPM8QQ4FJXM0V\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:58:30.694949+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694949+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694949+00:00\",\"context\":{\"id\":\"01KPPZK7N64E2JRX9KBD5FTXZD\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:58:30.695014+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695014+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695014+00:00\",\"context\":{\"id\":\"01KPPZK7N79YT9DFB621KVAAW3\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:58:30.695086+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695086+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695086+00:00\",\"context\":{\"id\":\"01KPPZK7N76N7VRN27TMDCKS2N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:58:30.695150+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695150+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695150+00:00\",\"context\":{\"id\":\"01KPPZK7N7WDJ5VHA4DNTKCSY2\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:58:30.695213+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695213+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695213+00:00\",\"context\":{\"id\":\"01KPPZK7N7W6EF4A44CF7YD3QF\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.87,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:30.694375+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694375+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694375+00:00\",\"context\":{\"id\":\"01KPPZK7N6E57Y9G46N8YKSHDA\",\"parent_id\":null,\"user_id\":null}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/states" + }, + "recorded_at": "2026-04-21T02:58:30.889863+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_ignore_config_flow.json b/tests/cassettes/test_endpoints/test_ignore_config_flow.json new file mode 100644 index 00000000..53fd991e --- /dev/null +++ b/tests/cassettes/test_endpoints/test_ignore_config_flow.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.700273+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"flow_id\": \"\", \"title\": \"\", \"id\": 2, \"type\": \"config_entries/ignore_flow\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":false,\"error\":{\"code\":\"not_found\",\"message\":\"Config entry not found\"}}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_set_state.json b/tests/cassettes/test_endpoints/test_set_state.json new file mode 100644 index 00000000..54e6aa50 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_set_state.json @@ -0,0 +1,101 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.914675+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/states/sun.red_sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Location": [ + "/api/states/sun.red_sun" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "219" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.red_sun\",\"state\":\"beyond_our_solar_system\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:58:30.916545+00:00\",\"last_reported\":\"2026-04-21T02:58:30.916545+00:00\",\"last_updated\":\"2026-04-21T02:58:30.916545+00:00\",\"context\":{\"id\":\"01KPPZK7W4XQ5ADNCS7MNSGXAN\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.red_sun" + }, + "recorded_at": "2026-04-21T02:58:30.917366+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_trigger_service.json b/tests/cassettes/test_endpoints/test_trigger_service.json new file mode 100644 index 00000000..ae7b079a --- /dev/null +++ b/tests/cassettes/test_endpoints/test_trigger_service.json @@ -0,0 +1,190 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.759398+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:30.761373+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/services/notify/persistent_notification?return_response", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 400, + "message": "Bad Request" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "82" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"Service does not support responses. Remove return_response from request.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/services/notify/persistent_notification?return_response" + }, + "recorded_at": "2026-04-21T02:58:30.766000+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/services/notify/persistent_notification", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "10" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services/notify/persistent_notification" + }, + "recorded_at": "2026-04-21T02:58:30.767506+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_trigger_service_with_response.json b/tests/cassettes/test_endpoints/test_trigger_service_with_response.json new file mode 100644 index 00000000..fbdc6db1 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_trigger_service_with_response.json @@ -0,0 +1,144 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:30.826878+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:30.828814+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/services/weather/get_forecasts?return_response", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "1219" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:30 GMT" + ] + }, + "body": { + "string": "{\"changed_states\":[],\"service_response\":{\"weather.forecast_home\":{\"forecast\":[{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T02:00:00+00:00\",\"wind_bearing\":52.3,\"cloud_coverage\":7.8,\"uv_index\":0.0,\"temperature\":-0.3,\"wind_speed\":17.6,\"precipitation\":0.0,\"humidity\":82},{\"condition\":\"partlycloudy\",\"datetime\":\"2026-04-21T03:00:00+00:00\",\"wind_bearing\":55.2,\"cloud_coverage\":13.3,\"uv_index\":0.0,\"temperature\":-0.9,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T04:00:00+00:00\",\"wind_bearing\":53.7,\"cloud_coverage\":5.5,\"uv_index\":0.0,\"temperature\":-1.2,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":86},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T05:00:00+00:00\",\"wind_bearing\":56.8,\"cloud_coverage\":3.9,\"uv_index\":0.1,\"temperature\":-1.4,\"wind_speed\":19.1,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T06:00:00+00:00\",\"wind_bearing\":59.0,\"cloud_coverage\":0.0,\"uv_index\":0.3,\"temperature\":-0.8,\"wind_speed\":21.2,\"precipitation\":0.0,\"humidity\":81},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T07:00:00+00:00\",\"wind_bearing\":60.3,\"cloud_coverage\":0.0,\"uv_index\":0.8,\"temperature\":-0.0,\"wind_speed\":22.0,\"precipitation\":0.0,\"humidity\":72},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T08:00:00+00:00\",\"wind_bearing\":59.1,\"cloud_coverage\":0.0,\"uv_index\":1.6,\"temperature\":0.9,\"wind_speed\":21.6,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T09:00:00+00:00\",\"wind_bearing\":58.1,\"cloud_coverage\":0.0,\"uv_index\":2.5,\"temperature\":1.9,\"wind_speed\":20.5,\"precipitation\":0.0,\"humidity\":61},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T10:00:00+00:00\",\"wind_bearing\":56.9,\"cloud_coverage\":0.0,\"uv_index\":3.3,\"temperature\":3.0,\"wind_speed\":20.9,\"precipitation\":0.0,\"humidity\":60},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T11:00:00+00:00\",\"wind_bearing\":55.7,\"cloud_coverage\":0.0,\"uv_index\":3.8,\"temperature\":4.0,\"wind_speed\":22.3,\"precipitation\":0.0,\"humidity\":60},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T12:00:00+00:00\",\"wind_bearing\":54.6,\"cloud_coverage\":0.0,\"uv_index\":3.9,\"temperature\":4.9,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T13:00:00+00:00\",\"wind_bearing\":53.7,\"cloud_coverage\":0.0,\"uv_index\":3.4,\"temperature\":5.6,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T14:00:00+00:00\",\"wind_bearing\":53.6,\"cloud_coverage\":0.0,\"uv_index\":2.6,\"temperature\":6.1,\"wind_speed\":23.0,\"precipitation\":0.0,\"humidity\":48},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T15:00:00+00:00\",\"wind_bearing\":52.5,\"cloud_coverage\":0.0,\"uv_index\":1.7,\"temperature\":6.2,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":47},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T16:00:00+00:00\",\"wind_bearing\":51.3,\"cloud_coverage\":0.0,\"uv_index\":0.9,\"temperature\":6.1,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":48},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T17:00:00+00:00\",\"wind_bearing\":51.3,\"cloud_coverage\":0.0,\"uv_index\":0.4,\"temperature\":5.6,\"wind_speed\":21.6,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T18:00:00+00:00\",\"wind_bearing\":51.0,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":4.6,\"wind_speed\":19.4,\"precipitation\":0.0,\"humidity\":59},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T19:00:00+00:00\",\"wind_bearing\":54.5,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.5,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T20:00:00+00:00\",\"wind_bearing\":52.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.0,\"wind_speed\":18.4,\"precipitation\":0.0,\"humidity\":70},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T21:00:00+00:00\",\"wind_bearing\":51.9,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.5,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T22:00:00+00:00\",\"wind_bearing\":53.6,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.0,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":79},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T23:00:00+00:00\",\"wind_bearing\":58.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.5,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T00:00:00+00:00\",\"wind_bearing\":64.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.0,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T01:00:00+00:00\",\"wind_bearing\":67.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":0.4,\"wind_speed\":15.1,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T02:00:00+00:00\",\"wind_bearing\":62.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.0,\"wind_speed\":14.4,\"precipitation\":0.0,\"humidity\":81},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T03:00:00+00:00\",\"wind_bearing\":63.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.4,\"wind_speed\":14.0,\"precipitation\":0.0,\"humidity\":82},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T04:00:00+00:00\",\"wind_bearing\":65.1,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.9,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T05:00:00+00:00\",\"wind_bearing\":69.0,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":-1.1,\"wind_speed\":13.0,\"precipitation\":0.0,\"humidity\":86},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T06:00:00+00:00\",\"wind_bearing\":70.5,\"cloud_coverage\":0.0,\"uv_index\":0.3,\"temperature\":-0.1,\"wind_speed\":13.7,\"precipitation\":0.0,\"humidity\":84},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T07:00:00+00:00\",\"wind_bearing\":70.5,\"cloud_coverage\":0.0,\"uv_index\":0.9,\"temperature\":1.3,\"wind_speed\":13.7,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T08:00:00+00:00\",\"wind_bearing\":67.4,\"cloud_coverage\":0.0,\"uv_index\":1.7,\"temperature\":3.0,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":71},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T09:00:00+00:00\",\"wind_bearing\":66.6,\"cloud_coverage\":0.0,\"uv_index\":2.7,\"temperature\":4.7,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":65},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T10:00:00+00:00\",\"wind_bearing\":69.3,\"cloud_coverage\":0.0,\"uv_index\":3.6,\"temperature\":6.1,\"wind_speed\":14.4,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T11:00:00+00:00\",\"wind_bearing\":64.3,\"cloud_coverage\":0.0,\"uv_index\":4.1,\"temperature\":6.8,\"wind_speed\":15.5,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T12:00:00+00:00\",\"wind_bearing\":57.9,\"cloud_coverage\":0.0,\"uv_index\":4.2,\"temperature\":7.3,\"wind_speed\":15.8,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T13:00:00+00:00\",\"wind_bearing\":55.9,\"cloud_coverage\":0.0,\"uv_index\":3.7,\"temperature\":7.6,\"wind_speed\":16.2,\"precipitation\":0.0,\"humidity\":50},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T14:00:00+00:00\",\"wind_bearing\":52.8,\"cloud_coverage\":0.0,\"uv_index\":2.8,\"temperature\":7.8,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T15:00:00+00:00\",\"wind_bearing\":48.9,\"cloud_coverage\":0.0,\"uv_index\":1.8,\"temperature\":7.8,\"wind_speed\":17.6,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T16:00:00+00:00\",\"wind_bearing\":45.9,\"cloud_coverage\":0.0,\"uv_index\":1.0,\"temperature\":7.7,\"wind_speed\":18.4,\"precipitation\":0.0,\"humidity\":54},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T17:00:00+00:00\",\"wind_bearing\":43.4,\"cloud_coverage\":0.0,\"uv_index\":0.4,\"temperature\":7.2,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T18:00:00+00:00\",\"wind_bearing\":38.7,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":6.2,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T19:00:00+00:00\",\"wind_bearing\":38.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":4.7,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":71},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T20:00:00+00:00\",\"wind_bearing\":48.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.7,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":75},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T21:00:00+00:00\",\"wind_bearing\":55.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.0,\"wind_speed\":14.8,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T22:00:00+00:00\",\"wind_bearing\":60.2,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.3,\"wind_speed\":11.5,\"precipitation\":0.0,\"humidity\":79},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T23:00:00+00:00\",\"wind_bearing\":54.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.4,\"wind_speed\":8.3,\"precipitation\":0.0,\"humidity\":83},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-23T00:00:00+00:00\",\"wind_bearing\":33.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":0.6,\"wind_speed\":6.8,\"precipitation\":0.0,\"humidity\":87},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-23T01:00:00+00:00\",\"wind_bearing\":17.1,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.0,\"wind_speed\":7.9,\"precipitation\":0.0,\"humidity\":90}]}}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/services/weather/get_forecasts?return_response" + }, + "recorded_at": "2026-04-21T02:58:30.834362+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_config.json b/tests/cassettes/test_endpoints/test_websocket_get_config.json new file mode 100644 index 00000000..b1a1a34a --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_config.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.479007+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_config\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"allowlist_external_dirs\":[\"/media\",\"/config/www\"],\"allowlist_external_urls\":[],\"components\":[\"climate\",\"lock\",\"fan\",\"update\",\"stt\",\"homeassistant.scene\",\"backup\",\"remote\",\"network\",\"system_health\",\"brands\",\"history\",\"labs\",\"date\",\"input_boolean\",\"http\",\"image_processing\",\"humidity\",\"sun.binary_sensor\",\"intent\",\"met.weather\",\"search\",\"sun.sensor\",\"conversation\",\"valve\",\"air_quality\",\"temperature\",\"button\",\"diagnostics\",\"notify\",\"switch\",\"humidifier\",\"device_automation\",\"weather\",\"application_credentials\",\"auth\",\"repairs\",\"timer\",\"onboarding\",\"datetime\",\"vacuum\",\"illuminance\",\"event\",\"gate\",\"ffmpeg\",\"radio_browser\",\"media_source\",\"frontend\",\"logbook\",\"power\",\"api\",\"hardware\",\"binary_sensor\",\"battery\",\"person\",\"siren\",\"cover\",\"number\",\"input_button\",\"sensor\",\"wake_word\",\"sun\",\"water_heater\",\"camera\",\"file_upload\",\"media_player\",\"assist_satellite\",\"lovelace\",\"door\",\"lawn_mower\",\"counter\",\"motion\",\"image_upload\",\"geo_location\",\"automation\",\"infrared\",\"zone\",\"select\",\"alarm_control_panel\",\"trace\",\"image\",\"web_rtc\",\"persistent_notification\",\"window\",\"input_text\",\"schedule\",\"garage_door\",\"input_datetime\",\"ai_task\",\"websocket_api\",\"recorder\",\"script\",\"input_select\",\"analytics\",\"occupancy\",\"device_tracker\",\"system_log\",\"input_number\",\"tts\",\"backup.sensor\",\"tag\",\"logger\",\"text\",\"backup.event\",\"time\",\"scene\",\"moisture\",\"assist_pipeline\",\"config\",\"blueprint\",\"light\",\"homeassistant\",\"met\"],\"config_dir\":\"/config\",\"config_source\":\"storage\",\"country\":\"US\",\"currency\":\"USD\",\"debug\":false,\"elevation\":1000,\"external_url\":null,\"internal_url\":null,\"language\":\"en\",\"latitude\":52.3731339,\"location_name\":\"Testing Server\",\"longitude\":4.8903147,\"radius\":100,\"recovery_mode\":false,\"safe_mode\":false,\"state\":\"RUNNING\",\"time_zone\":\"America/Chicago\",\"unit_system\":{\"length\":\"km\",\"accumulated_precipitation\":\"mm\",\"area\":\"m²\",\"mass\":\"g\",\"pressure\":\"Pa\",\"temperature\":\"°C\",\"volume\":\"L\",\"wind_speed\":\"m/s\"},\"version\":\"2026.4.3\",\"whitelist_external_dirs\":[\"/media\",\"/config/www\"]}}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_domain.json b/tests/cassettes/test_endpoints/test_websocket_get_domain.json new file mode 100644 index 00000000..fcf600b3 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_domain.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.626827+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_services\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"homeassistant\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}},\"persistent_notification\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}},\"system_log\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"logger\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}},\"frontend\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}},\"recorder\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}},\"climate\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}},\"media_player\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}},\"lock\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}},\"fan\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}},\"alarm_control_panel\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}},\"valve\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}},\"button\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}},\"notify\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}},\"switch\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}},\"vacuum\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}},\"zone\":{\"reload\":{\"fields\":{}}},\"cover\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}},\"number\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}},\"scene\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}},\"water_heater\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}},\"light\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}},\"automation\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}},\"script\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}},\"input_number\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}},\"logbook\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"device_tracker\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}},\"person\":{\"reload\":{\"fields\":{}}},\"backup\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}},\"update\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}},\"ffmpeg\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}},\"lawn_mower\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}},\"remote\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}},\"date\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}},\"select\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}},\"image\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}},\"humidifier\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}},\"weather\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}},\"datetime\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}},\"siren\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}},\"text\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}},\"time\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}},\"counter\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}},\"input_boolean\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}},\"input_text\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}},\"schedule\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}},\"input_datetime\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}},\"input_select\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}},\"timer\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}},\"input_button\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}},\"conversation\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}},\"tts\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}},\"camera\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}},\"ai_task\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}},\"image_processing\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}},\"assist_satellite\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_domains.json b/tests/cassettes/test_endpoints/test_websocket_get_domains.json new file mode 100644 index 00000000..624ca6b4 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_domains.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.587977+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_services\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"homeassistant\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}},\"persistent_notification\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}},\"system_log\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"logger\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}},\"frontend\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}},\"recorder\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}},\"climate\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}},\"media_player\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}},\"lock\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}},\"fan\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}},\"alarm_control_panel\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}},\"valve\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}},\"button\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}},\"notify\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}},\"switch\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}},\"vacuum\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}},\"zone\":{\"reload\":{\"fields\":{}}},\"cover\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}},\"number\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}},\"scene\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}},\"water_heater\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}},\"light\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}},\"automation\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}},\"script\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}},\"input_number\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}},\"logbook\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"device_tracker\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}},\"person\":{\"reload\":{\"fields\":{}}},\"backup\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}},\"update\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}},\"ffmpeg\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}},\"lawn_mower\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}},\"remote\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}},\"date\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}},\"select\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}},\"image\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}},\"humidifier\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}},\"weather\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}},\"datetime\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}},\"siren\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}},\"text\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}},\"time\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}},\"counter\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}},\"input_boolean\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}},\"input_text\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}},\"schedule\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}},\"input_datetime\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}},\"input_select\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}},\"timer\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}},\"input_button\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}},\"conversation\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}},\"tts\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}},\"camera\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}},\"ai_task\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}},\"image_processing\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}},\"assist_satellite\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_entities.json b/tests/cassettes/test_endpoints/test_websocket_get_entities.json new file mode 100644 index 00000000..6edc8960 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_entities.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.554651+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_entity_by_entity_id.json b/tests/cassettes/test_endpoints/test_websocket_get_entity_by_entity_id.json new file mode 100644 index 00000000..f3533204 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_entity_by_entity_id.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.506113+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_entity_by_group_slug.json b/tests/cassettes/test_endpoints/test_websocket_get_entity_by_group_slug.json new file mode 100644 index 00000000..eabc44a1 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_entity_by_group_slug.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.499511+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_entity_no_args.json b/tests/cassettes/test_endpoints/test_websocket_get_entity_no_args.json new file mode 100644 index 00000000..766c96e6 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_entity_no_args.json @@ -0,0 +1,43 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.513914+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_rendered_template.json b/tests/cassettes/test_endpoints/test_websocket_get_rendered_template.json new file mode 100644 index 00000000..df753bb8 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_rendered_template.json @@ -0,0 +1,73 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.442739+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"template\": \"The sun is {{ states(\\\"sun.sun\\\").replace(\\\"_\\\", \\\" the \\\") }}.\", \"report_errors\": true, \"id\": 2, \"type\": \"render_template\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":{\"result\":\"The sun is below the horizon.\",\"listeners\":{\"all\":false,\"entities\":[\"sun.sun\"],\"domains\":[],\"time\":false}}}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 2, \"id\": 3, \"type\": \"unsubscribe_events\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 3 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_state.json b/tests/cassettes/test_endpoints/test_websocket_get_state.json new file mode 100644 index 00000000..0667e9ba --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_state.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.494928+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_state_not_found.json b/tests/cassettes/test_endpoints/test_websocket_get_state_not_found.json new file mode 100644 index 00000000..20b53916 --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_state_not_found.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.546808+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:55:06.208211+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977769+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208211+00:00\",\"context\":{\"id\":\"01KPPZCZZ0BWZKVQ0Q0GKA1Z8Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:55:06.208317+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977873+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208317+00:00\",\"context\":{\"id\":\"01KPPZCZZ00PDHED8AKMRB3178\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:55:06.208386+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977908+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208386+00:00\",\"context\":{\"id\":\"01KPPZCZZ0CYDJHMSWYPQ8YNT4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:55:06.208448+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977938+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208448+00:00\",\"context\":{\"id\":\"01KPPZCZZ00NJJMY1HVZHWVSBJ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:55:06.208513+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977967+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208513+00:00\",\"context\":{\"id\":\"01KPPZCZZ0S2D1WQG0B859CDVV\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:55:06.208578+00:00\",\"last_reported\":\"2026-04-21T02:57:12.977993+00:00\",\"last_updated\":\"2026-04-21T02:55:06.208578+00:00\",\"context\":{\"id\":\"01KPPZCZZ0SR6VM3A8NCGHQ5DY\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-13.02,\"azimuth\":49.81,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_reported\":\"2026-04-21T02:58:21.247287+00:00\",\"last_updated\":\"2026-04-21T02:57:12.977047+00:00\",\"context\":{\"id\":\"01KPPZGVRHTX3QD40M1KRA1Q8E\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 3 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_get_states.json b/tests/cassettes/test_endpoints/test_websocket_get_states.json new file mode 100644 index 00000000..bf45177a --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_get_states.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.896796+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:58:30.694874+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694874+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694874+00:00\",\"context\":{\"id\":\"01KPPZK7N6W1WFPM8QQ4FJXM0V\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:58:30.694949+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694949+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694949+00:00\",\"context\":{\"id\":\"01KPPZK7N64E2JRX9KBD5FTXZD\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:58:30.695014+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695014+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695014+00:00\",\"context\":{\"id\":\"01KPPZK7N79YT9DFB621KVAAW3\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:58:30.695086+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695086+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695086+00:00\",\"context\":{\"id\":\"01KPPZK7N76N7VRN27TMDCKS2N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:58:30.695150+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695150+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695150+00:00\",\"context\":{\"id\":\"01KPPZK7N7WDJ5VHA4DNTKCSY2\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:58:30.695213+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695213+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695213+00:00\",\"context\":{\"id\":\"01KPPZK7N7W6EF4A44CF7YD3QF\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.87,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:30.694375+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694375+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694375+00:00\",\"context\":{\"id\":\"01KPPZK7N6E57Y9G46N8YKSHDA\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_trigger_service.json b/tests/cassettes/test_endpoints/test_websocket_trigger_service.json new file mode 100644 index 00000000..facb907c --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_trigger_service.json @@ -0,0 +1,79 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.790722+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_services\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"homeassistant\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}},\"persistent_notification\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}},\"system_log\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"logger\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}},\"frontend\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}},\"recorder\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}},\"climate\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}},\"media_player\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}},\"lock\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}},\"fan\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}},\"alarm_control_panel\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}},\"valve\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}},\"button\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}},\"notify\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}},\"switch\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}},\"vacuum\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}},\"zone\":{\"reload\":{\"fields\":{}}},\"cover\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}},\"number\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}},\"scene\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}},\"water_heater\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}},\"light\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}},\"automation\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}},\"script\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}},\"input_number\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}},\"logbook\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"device_tracker\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}},\"person\":{\"reload\":{\"fields\":{}}},\"backup\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}},\"update\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}},\"ffmpeg\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}},\"lawn_mower\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}},\"remote\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}},\"date\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}},\"select\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}},\"image\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}},\"humidifier\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}},\"weather\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}},\"datetime\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}},\"siren\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}},\"text\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}},\"time\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}},\"counter\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}},\"input_boolean\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}},\"input_text\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}},\"schedule\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}},\"input_datetime\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}},\"input_select\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}},\"timer\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}},\"input_button\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}},\"conversation\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}},\"tts\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}},\"camera\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}},\"ai_task\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}},\"image_processing\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}},\"assist_satellite\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"domain\": \"notify\", \"service\": \"persistent_notification\", \"service_data\": {\"message\": \"Your API Test Suite just said hello!\", \"title\": \"Test Suite Notifcation\"}, \"return_response\": true, \"id\": 3, \"type\": \"call_service\"}", + "offset_ms": 4 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":false,\"error\":{\"code\":\"service_validation_error\",\"message\":\"Validation error: An action which does not return responses can't be called with return_response=True\",\"translation_key\":\"service_does_not_support_response\",\"translation_placeholders\":{\"return_response\":\"return_response=True\"},\"translation_domain\":\"homeassistant\"}}", + "offset_ms": 5 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"domain\": \"notify\", \"service\": \"persistent_notification\", \"service_data\": {\"message\": \"Your API Test Suite just said hello!\", \"title\": \"Test Suite Notifcation\"}, \"return_response\": false, \"id\": 4, \"type\": \"call_service\"}", + "offset_ms": 5 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":{\"context\":{\"id\":\"01KPPZK7RCZWX2FKT4JW54QS8H\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}}", + "offset_ms": 5 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_trigger_service_with_entity_id.json b/tests/cassettes/test_endpoints/test_websocket_trigger_service_with_entity_id.json new file mode 100644 index 00000000..6ab5ac3f --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_trigger_service_with_entity_id.json @@ -0,0 +1,79 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.816311+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_states\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:58:30.694874+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694874+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694874+00:00\",\"context\":{\"id\":\"01KPPZK7N6W1WFPM8QQ4FJXM0V\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:58:30.694949+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694949+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694949+00:00\",\"context\":{\"id\":\"01KPPZK7N64E2JRX9KBD5FTXZD\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:58:30.695014+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695014+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695014+00:00\",\"context\":{\"id\":\"01KPPZK7N79YT9DFB621KVAAW3\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:58:30.695086+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695086+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695086+00:00\",\"context\":{\"id\":\"01KPPZK7N76N7VRN27TMDCKS2N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:58:30.695150+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695150+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695150+00:00\",\"context\":{\"id\":\"01KPPZK7N7WDJ5VHA4DNTKCSY2\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:58:30.695213+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695213+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695213+00:00\",\"context\":{\"id\":\"01KPPZK7N7W6EF4A44CF7YD3QF\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.87,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:30.694375+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694375+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694375+00:00\",\"context\":{\"id\":\"01KPPZK7N6E57Y9G46N8YKSHDA\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"domain\": \"homeassistant\", \"service\": \"update_entity\", \"service_data\": {\"entity_id\": \"sun.sun\"}, \"return_response\": false, \"id\": 3, \"type\": \"call_service\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"context\":{\"id\":\"01KPPZK7S309NZAXM523ZDJ2NZ\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}}", + "offset_ms": 4 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 4, \"type\": \"get_states\"}", + "offset_ms": 4 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":[{\"entity_id\":\"zone.home\",\"state\":\"0\",\"attributes\":{\"latitude\":52.3731339,\"longitude\":4.8903147,\"radius\":100,\"passive\":false,\"persons\":[],\"editable\":true,\"icon\":\"mdi:home\",\"friendly_name\":\"Testing Server\"},\"last_changed\":\"2026-04-21T01:51:30.350164+00:00\",\"last_reported\":\"2026-04-21T01:51:30.350164+00:00\",\"last_updated\":\"2026-04-21T01:51:30.350164+00:00\",\"context\":{\"id\":\"01KPPVRHHENK82VRW7705GA5FS\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.739566+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739566+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739566+00:00\",\"context\":{\"id\":\"01KPPVRHXKQYT57JJS87ARBR18\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.739785+00:00\",\"last_reported\":\"2026-04-21T01:51:30.739785+00:00\",\"last_updated\":\"2026-04-21T01:51:30.739785+00:00\",\"context\":{\"id\":\"01KPPVRHXK55V9T0KGYSY09D3K\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740027+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740027+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740027+00:00\",\"context\":{\"id\":\"01KPPVRHXMNZXYFMKZJSNGAV95\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740251+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740251+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740251+00:00\",\"context\":{\"id\":\"01KPPVRHXMB3DYMAWN7PHYN69X\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740486+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740486+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740486+00:00\",\"context\":{\"id\":\"01KPPVRHXMZ9V1A8XK5QDTAKDP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.740713+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740713+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740713+00:00\",\"context\":{\"id\":\"01KPPVRHXMCTWV0M1N8DAANCY4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.740933+00:00\",\"last_reported\":\"2026-04-21T01:51:30.740933+00:00\",\"last_updated\":\"2026-04-21T01:51:30.740933+00:00\",\"context\":{\"id\":\"01KPPVRHXMYYG74M4RPN3K5FV1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741174+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741174+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741174+00:00\",\"context\":{\"id\":\"01KPPVRHXN41KGJ7QKY2X7T61F\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741412+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741412+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741412+00:00\",\"context\":{\"id\":\"01KPPVRHXNA7VK1D3SV5YSZA5C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.741652+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741652+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741652+00:00\",\"context\":{\"id\":\"01KPPVRHXNM75E5VC8Q9F2SDMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.741910+00:00\",\"last_reported\":\"2026-04-21T01:51:30.741910+00:00\",\"last_updated\":\"2026-04-21T01:51:30.741910+00:00\",\"context\":{\"id\":\"01KPPVRHXNHZVZMWAW66E5RS4W\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742192+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742192+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742192+00:00\",\"context\":{\"id\":\"01KPPVRHXPFBMF04KXSHY5QVDN\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742450+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742450+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742450+00:00\",\"context\":{\"id\":\"01KPPVRHXPBG4M7PDSZXR7QWE7\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.742692+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742692+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742692+00:00\",\"context\":{\"id\":\"01KPPVRHXPMJMDNZT34W47EJMP\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.742944+00:00\",\"last_reported\":\"2026-04-21T01:51:30.742944+00:00\",\"last_updated\":\"2026-04-21T01:51:30.742944+00:00\",\"context\":{\"id\":\"01KPPVRHXP9P94RAQ4ZMDV8J0M\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744207+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744207+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744207+00:00\",\"context\":{\"id\":\"01KPPVRHXRNQE8HGGZ28JCJF42\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:30.744488+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744488+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744488+00:00\",\"context\":{\"id\":\"01KPPVRHXRTZ1NAZWDJ4EPKG4N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:30.744750+00:00\",\"last_reported\":\"2026-04-21T01:51:30.744750+00:00\",\"last_updated\":\"2026-04-21T01:51:30.744750+00:00\",\"context\":{\"id\":\"01KPPVRHXRKAGJECJZ60HD00C5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dawn\",\"state\":\"2026-04-21T03:45:01+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dawn\"},\"last_changed\":\"2026-04-21T02:58:30.694874+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694874+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694874+00:00\",\"context\":{\"id\":\"01KPPZK7N6W1WFPM8QQ4FJXM0V\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_dusk\",\"state\":\"2026-04-21T19:34:41+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next dusk\"},\"last_changed\":\"2026-04-21T02:58:30.694949+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694949+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694949+00:00\",\"context\":{\"id\":\"01KPPZK7N64E2JRX9KBD5FTXZD\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_midnight\",\"state\":\"2026-04-21T23:38:57+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next midnight\"},\"last_changed\":\"2026-04-21T02:58:30.695014+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695014+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695014+00:00\",\"context\":{\"id\":\"01KPPZK7N79YT9DFB621KVAAW3\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_noon\",\"state\":\"2026-04-21T11:39:14+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next noon\"},\"last_changed\":\"2026-04-21T02:58:30.695086+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695086+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695086+00:00\",\"context\":{\"id\":\"01KPPZK7N76N7VRN27TMDCKS2N\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_rising\",\"state\":\"2026-04-21T04:25:11+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next rising\"},\"last_changed\":\"2026-04-21T02:58:30.695150+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695150+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695150+00:00\",\"context\":{\"id\":\"01KPPZK7N7WDJ5VHA4DNTKCSY2\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.sun_next_setting\",\"state\":\"2026-04-21T18:54:15+00:00\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Sun Next setting\"},\"last_changed\":\"2026-04-21T02:58:30.695213+00:00\",\"last_reported\":\"2026-04-21T02:58:30.695213+00:00\",\"last_updated\":\"2026-04-21T02:58:30.695213+00:00\",\"context\":{\"id\":\"01KPPZK7N7W6EF4A44CF7YD3QF\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"conversation.home_assistant\",\"state\":\"unknown\",\"attributes\":{\"friendly_name\":\"Home Assistant\",\"supported_features\":1},\"last_changed\":\"2026-04-21T01:51:31.333588+00:00\",\"last_reported\":\"2026-04-21T01:51:31.333588+00:00\",\"last_updated\":\"2026-04-21T01:51:31.333588+00:00\",\"context\":{\"id\":\"01KPPVRJG5BEYVSD95HCWM5WXC\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"weather.forecast_home\",\"state\":\"partlycloudy\",\"attributes\":{\"temperature\":0.4,\"dew_point\":-2.9,\"temperature_unit\":\"°C\",\"humidity\":80,\"cloud_coverage\":29.7,\"uv_index\":0.0,\"pressure\":1024.7,\"pressure_unit\":\"hPa\",\"wind_bearing\":49.0,\"wind_speed\":18.0,\"wind_speed_unit\":\"km/h\",\"visibility_unit\":\"km\",\"precipitation_unit\":\"mm\",\"attribution\":\"Weather forecast from met.no, delivered by the Norwegian Meteorological Institute.\",\"friendly_name\":\"Forecast Home\",\"supported_features\":3},\"last_changed\":\"2026-04-21T01:51:31.841539+00:00\",\"last_reported\":\"2026-04-21T01:51:31.847217+00:00\",\"last_updated\":\"2026-04-21T01:51:31.841539+00:00\",\"context\":{\"id\":\"01KPPVRK01NBBRWMPYTPJ0Q7CQ\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"event.backup_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"event_types\":[\"completed\",\"failed\",\"in_progress\"],\"event_type\":null,\"friendly_name\":\"Backup Automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855174+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855243+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855174+00:00\",\"context\":{\"id\":\"01KPPVRK0FZ18VMTZHSW824DH4\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_backup_manager_state\",\"state\":\"idle\",\"attributes\":{\"options\":[\"idle\",\"create_backup\",\"blocked\",\"receive_backup\",\"restore_backup\"],\"device_class\":\"enum\",\"friendly_name\":\"Backup Backup Manager state\"},\"last_changed\":\"2026-04-21T01:51:31.855576+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855635+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855576+00:00\",\"context\":{\"id\":\"01KPPVRK0FQCJ9TY7VSTTCBPDW\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Next scheduled automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855771+00:00\",\"last_reported\":\"2026-04-21T01:51:31.855819+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855771+00:00\",\"context\":{\"id\":\"01KPPVRK0FR3JBKXNTYJAQ4Y0Q\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last successful automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.855948+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856007+00:00\",\"last_updated\":\"2026-04-21T01:51:31.855948+00:00\",\"context\":{\"id\":\"01KPPVRK0F7F4X6BX2X6R6FXS5\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"state\":\"unknown\",\"attributes\":{\"device_class\":\"timestamp\",\"friendly_name\":\"Backup Last attempted automatic backup\"},\"last_changed\":\"2026-04-21T01:51:31.856153+00:00\",\"last_reported\":\"2026-04-21T01:51:31.856200+00:00\",\"last_updated\":\"2026-04-21T01:51:31.856153+00:00\",\"context\":{\"id\":\"01KPPVRK0GFFZS3EDSM99EB93A\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:07.237500+00:00\",\"last_reported\":\"2026-04-21T02:55:07.237500+00:00\",\"last_updated\":\"2026-04-21T02:55:07.237500+00:00\",\"context\":{\"id\":\"01KPPZD0Z5ZZVJ3FSA5B82TXEK\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test\"},\"last_changed\":\"2026-04-21T01:51:54.180970+00:00\",\"last_reported\":\"2026-04-21T01:51:54.181042+00:00\",\"last_updated\":\"2026-04-21T01:51:54.180970+00:00\",\"context\":{\"id\":\"01KPPVS8T4XE4XDMTECDMY224C\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"state\":\"off\",\"attributes\":{\"editable\":true,\"friendly_name\":\"smoke_registry_remove_test_async\"},\"last_changed\":\"2026-04-21T01:51:54.210289+00:00\",\"last_reported\":\"2026-04-21T01:51:54.210364+00:00\",\"last_updated\":\"2026-04-21T01:51:54.210289+00:00\",\"context\":{\"id\":\"01KPPVS8V2NMMTNFP14HC232Y1\",\"parent_id\":null,\"user_id\":null}},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.87,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:30.694375+00:00\",\"last_reported\":\"2026-04-21T02:58:30.694375+00:00\",\"last_updated\":\"2026-04-21T02:58:30.694375+00:00\",\"context\":{\"id\":\"01KPPZK7N6E57Y9G46N8YKSHDA\",\"parent_id\":null,\"user_id\":null}}]}", + "offset_ms": 5 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_endpoints/test_websocket_trigger_service_with_response.json b/tests/cassettes/test_endpoints/test_websocket_trigger_service_with_response.json new file mode 100644 index 00000000..3c5ed6eb --- /dev/null +++ b/tests/cassettes/test_endpoints/test_websocket_trigger_service_with_response.json @@ -0,0 +1,67 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.864690+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"get_services\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"homeassistant\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}},\"persistent_notification\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}},\"system_log\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"logger\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}},\"frontend\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}},\"recorder\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}},\"climate\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}},\"media_player\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}},\"lock\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}},\"fan\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}},\"alarm_control_panel\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}},\"valve\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}},\"button\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}},\"notify\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}},\"switch\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}},\"vacuum\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}},\"zone\":{\"reload\":{\"fields\":{}}},\"cover\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}},\"number\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}},\"scene\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}},\"water_heater\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}},\"light\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}},\"automation\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}},\"script\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}},\"input_number\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}},\"logbook\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}},\"device_tracker\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}},\"person\":{\"reload\":{\"fields\":{}}},\"backup\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}},\"update\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}},\"ffmpeg\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}},\"lawn_mower\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}},\"remote\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}},\"date\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}},\"select\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}},\"image\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}},\"humidifier\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}},\"weather\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}},\"datetime\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}},\"siren\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}},\"text\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}},\"time\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}},\"counter\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}},\"input_boolean\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}},\"input_text\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}},\"schedule\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}},\"input_datetime\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}},\"input_select\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}},\"timer\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}},\"input_button\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}},\"conversation\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}},\"tts\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}},\"camera\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}},\"ai_task\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}},\"image_processing\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}},\"assist_satellite\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"domain\": \"weather\", \"service\": \"get_forecasts\", \"service_data\": {\"entity_id\": \"weather.forecast_home\", \"type\": \"hourly\"}, \"return_response\": true, \"id\": 3, \"type\": \"call_service\"}", + "offset_ms": 4 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"context\":{\"id\":\"01KPPZK7TNKJCZV5NVG5M13MKZ\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"},\"response\":{\"weather.forecast_home\":{\"forecast\":[{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T02:00:00+00:00\",\"wind_bearing\":52.3,\"cloud_coverage\":7.8,\"uv_index\":0.0,\"temperature\":-0.3,\"wind_speed\":17.6,\"precipitation\":0.0,\"humidity\":82},{\"condition\":\"partlycloudy\",\"datetime\":\"2026-04-21T03:00:00+00:00\",\"wind_bearing\":55.2,\"cloud_coverage\":13.3,\"uv_index\":0.0,\"temperature\":-0.9,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T04:00:00+00:00\",\"wind_bearing\":53.7,\"cloud_coverage\":5.5,\"uv_index\":0.0,\"temperature\":-1.2,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":86},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T05:00:00+00:00\",\"wind_bearing\":56.8,\"cloud_coverage\":3.9,\"uv_index\":0.1,\"temperature\":-1.4,\"wind_speed\":19.1,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T06:00:00+00:00\",\"wind_bearing\":59.0,\"cloud_coverage\":0.0,\"uv_index\":0.3,\"temperature\":-0.8,\"wind_speed\":21.2,\"precipitation\":0.0,\"humidity\":81},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T07:00:00+00:00\",\"wind_bearing\":60.3,\"cloud_coverage\":0.0,\"uv_index\":0.8,\"temperature\":-0.0,\"wind_speed\":22.0,\"precipitation\":0.0,\"humidity\":72},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T08:00:00+00:00\",\"wind_bearing\":59.1,\"cloud_coverage\":0.0,\"uv_index\":1.6,\"temperature\":0.9,\"wind_speed\":21.6,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T09:00:00+00:00\",\"wind_bearing\":58.1,\"cloud_coverage\":0.0,\"uv_index\":2.5,\"temperature\":1.9,\"wind_speed\":20.5,\"precipitation\":0.0,\"humidity\":61},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T10:00:00+00:00\",\"wind_bearing\":56.9,\"cloud_coverage\":0.0,\"uv_index\":3.3,\"temperature\":3.0,\"wind_speed\":20.9,\"precipitation\":0.0,\"humidity\":60},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T11:00:00+00:00\",\"wind_bearing\":55.7,\"cloud_coverage\":0.0,\"uv_index\":3.8,\"temperature\":4.0,\"wind_speed\":22.3,\"precipitation\":0.0,\"humidity\":60},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T12:00:00+00:00\",\"wind_bearing\":54.6,\"cloud_coverage\":0.0,\"uv_index\":3.9,\"temperature\":4.9,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T13:00:00+00:00\",\"wind_bearing\":53.7,\"cloud_coverage\":0.0,\"uv_index\":3.4,\"temperature\":5.6,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T14:00:00+00:00\",\"wind_bearing\":53.6,\"cloud_coverage\":0.0,\"uv_index\":2.6,\"temperature\":6.1,\"wind_speed\":23.0,\"precipitation\":0.0,\"humidity\":48},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T15:00:00+00:00\",\"wind_bearing\":52.5,\"cloud_coverage\":0.0,\"uv_index\":1.7,\"temperature\":6.2,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":47},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T16:00:00+00:00\",\"wind_bearing\":51.3,\"cloud_coverage\":0.0,\"uv_index\":0.9,\"temperature\":6.1,\"wind_speed\":23.4,\"precipitation\":0.0,\"humidity\":48},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T17:00:00+00:00\",\"wind_bearing\":51.3,\"cloud_coverage\":0.0,\"uv_index\":0.4,\"temperature\":5.6,\"wind_speed\":21.6,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-21T18:00:00+00:00\",\"wind_bearing\":51.0,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":4.6,\"wind_speed\":19.4,\"precipitation\":0.0,\"humidity\":59},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T19:00:00+00:00\",\"wind_bearing\":54.5,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.5,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T20:00:00+00:00\",\"wind_bearing\":52.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.0,\"wind_speed\":18.4,\"precipitation\":0.0,\"humidity\":70},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T21:00:00+00:00\",\"wind_bearing\":51.9,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.5,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T22:00:00+00:00\",\"wind_bearing\":53.6,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.0,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":79},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-21T23:00:00+00:00\",\"wind_bearing\":58.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.5,\"wind_speed\":18.0,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T00:00:00+00:00\",\"wind_bearing\":64.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.0,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T01:00:00+00:00\",\"wind_bearing\":67.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":0.4,\"wind_speed\":15.1,\"precipitation\":0.0,\"humidity\":80},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T02:00:00+00:00\",\"wind_bearing\":62.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.0,\"wind_speed\":14.4,\"precipitation\":0.0,\"humidity\":81},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T03:00:00+00:00\",\"wind_bearing\":63.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.4,\"wind_speed\":14.0,\"precipitation\":0.0,\"humidity\":82},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T04:00:00+00:00\",\"wind_bearing\":65.1,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.9,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":85},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T05:00:00+00:00\",\"wind_bearing\":69.0,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":-1.1,\"wind_speed\":13.0,\"precipitation\":0.0,\"humidity\":86},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T06:00:00+00:00\",\"wind_bearing\":70.5,\"cloud_coverage\":0.0,\"uv_index\":0.3,\"temperature\":-0.1,\"wind_speed\":13.7,\"precipitation\":0.0,\"humidity\":84},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T07:00:00+00:00\",\"wind_bearing\":70.5,\"cloud_coverage\":0.0,\"uv_index\":0.9,\"temperature\":1.3,\"wind_speed\":13.7,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T08:00:00+00:00\",\"wind_bearing\":67.4,\"cloud_coverage\":0.0,\"uv_index\":1.7,\"temperature\":3.0,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":71},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T09:00:00+00:00\",\"wind_bearing\":66.6,\"cloud_coverage\":0.0,\"uv_index\":2.7,\"temperature\":4.7,\"wind_speed\":13.3,\"precipitation\":0.0,\"humidity\":65},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T10:00:00+00:00\",\"wind_bearing\":69.3,\"cloud_coverage\":0.0,\"uv_index\":3.6,\"temperature\":6.1,\"wind_speed\":14.4,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T11:00:00+00:00\",\"wind_bearing\":64.3,\"cloud_coverage\":0.0,\"uv_index\":4.1,\"temperature\":6.8,\"wind_speed\":15.5,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T12:00:00+00:00\",\"wind_bearing\":57.9,\"cloud_coverage\":0.0,\"uv_index\":4.2,\"temperature\":7.3,\"wind_speed\":15.8,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T13:00:00+00:00\",\"wind_bearing\":55.9,\"cloud_coverage\":0.0,\"uv_index\":3.7,\"temperature\":7.6,\"wind_speed\":16.2,\"precipitation\":0.0,\"humidity\":50},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T14:00:00+00:00\",\"wind_bearing\":52.8,\"cloud_coverage\":0.0,\"uv_index\":2.8,\"temperature\":7.8,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":51},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T15:00:00+00:00\",\"wind_bearing\":48.9,\"cloud_coverage\":0.0,\"uv_index\":1.8,\"temperature\":7.8,\"wind_speed\":17.6,\"precipitation\":0.0,\"humidity\":52},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T16:00:00+00:00\",\"wind_bearing\":45.9,\"cloud_coverage\":0.0,\"uv_index\":1.0,\"temperature\":7.7,\"wind_speed\":18.4,\"precipitation\":0.0,\"humidity\":54},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T17:00:00+00:00\",\"wind_bearing\":43.4,\"cloud_coverage\":0.0,\"uv_index\":0.4,\"temperature\":7.2,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":56},{\"condition\":\"sunny\",\"datetime\":\"2026-04-22T18:00:00+00:00\",\"wind_bearing\":38.7,\"cloud_coverage\":0.0,\"uv_index\":0.1,\"temperature\":6.2,\"wind_speed\":16.9,\"precipitation\":0.0,\"humidity\":64},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T19:00:00+00:00\",\"wind_bearing\":38.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":4.7,\"wind_speed\":18.7,\"precipitation\":0.0,\"humidity\":71},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T20:00:00+00:00\",\"wind_bearing\":48.0,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.7,\"wind_speed\":17.3,\"precipitation\":0.0,\"humidity\":75},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T21:00:00+00:00\",\"wind_bearing\":55.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":3.0,\"wind_speed\":14.8,\"precipitation\":0.0,\"humidity\":77},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T22:00:00+00:00\",\"wind_bearing\":60.2,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":2.3,\"wind_speed\":11.5,\"precipitation\":0.0,\"humidity\":79},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-22T23:00:00+00:00\",\"wind_bearing\":54.8,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":1.4,\"wind_speed\":8.3,\"precipitation\":0.0,\"humidity\":83},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-23T00:00:00+00:00\",\"wind_bearing\":33.3,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":0.6,\"wind_speed\":6.8,\"precipitation\":0.0,\"humidity\":87},{\"condition\":\"clear-night\",\"datetime\":\"2026-04-23T01:00:00+00:00\",\"wind_bearing\":17.1,\"cloud_coverage\":0.0,\"uv_index\":0.0,\"temperature\":-0.0,\"wind_speed\":7.9,\"precipitation\":0.0,\"humidity\":90}]}}}}", + "offset_ms": 6 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_entity_registry/test_async_get_entity_registry_entry.json b/tests/cassettes/test_entity_registry/test_async_get_entity_registry_entry.json new file mode 100644 index 00000000..b21e90aa --- /dev/null +++ b/tests/cassettes/test_entity_registry/test_async_get_entity_registry_entry.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.996687+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entity_id\": \"sensor.sun_next_dawn\", \"id\": 2, \"type\": \"config/entity_registry/get\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740310.969806,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\",\"aliases\":[null],\"capabilities\":null,\"device_class\":null,\"original_device_class\":\"timestamp\",\"original_icon\":null}}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_entity_registry/test_async_list_entity_registry.json b/tests/cassettes/test_entity_registry/test_async_list_entity_registry.json new file mode 100644 index 00000000..cd68d4d7 --- /dev/null +++ b/tests/cassettes/test_entity_registry/test_async_list_entity_registry.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.989867+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config/entity_registry/list\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\": \"result\",\"success\":true,\"result\": [{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":0.0,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"person.test_user\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e6de57e591560fad68f1c3b52bf0b295\",\"labels\":[],\"modified_at\":1776736291.845863,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Test User\",\"platform\":\"person\",\"translation_key\":null,\"unique_id\":\"test_user\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740310.969806,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.78036,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dusk\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e1a35874a09227109783c6d1301a10cf\",\"labels\":[],\"modified_at\":1776740310.693602,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dusk\",\"platform\":\"sun\",\"translation_key\":\"next_dusk\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dusk\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780603,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_midnight\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"9ec059b13886380e2d5d4a9002e89879\",\"labels\":[],\"modified_at\":1776740310.693632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next midnight\",\"platform\":\"sun\",\"translation_key\":\"next_midnight\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_midnight\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780796,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_noon\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"04bc6ee0081da1191cb27e2ee5842148\",\"labels\":[],\"modified_at\":1776740310.693647,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next noon\",\"platform\":\"sun\",\"translation_key\":\"next_noon\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_noon\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780976,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"ec87eec8ebe365ec0cd1119962627570\",\"labels\":[],\"modified_at\":1776740310.69366,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next rising\",\"platform\":\"sun\",\"translation_key\":\"next_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781147,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_setting\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"594acbedee290ea279f1d63cf6efbb3b\",\"labels\":[],\"modified_at\":1776740310.693672,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next setting\",\"platform\":\"sun\",\"translation_key\":\"next_setting\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_setting\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.7813,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_elevation\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"0df1d222a5fedd8d5e62a2ff2be79094\",\"labels\":[],\"modified_at\":1776736291.249561,\"name\":null,\"options\":{},\"original_name\":\"Solar elevation\",\"platform\":\"sun\",\"translation_key\":\"solar_elevation\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_elevation\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781397,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_azimuth\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"104de75b64e950af398ec4fe9998338c\",\"labels\":[],\"modified_at\":1776736291.249615,\"name\":null,\"options\":{},\"original_name\":\"Solar azimuth\",\"platform\":\"sun\",\"translation_key\":\"solar_azimuth\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_azimuth\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781483,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"888993d87923ff452ad1e53f6b3a943f\",\"labels\":[],\"modified_at\":1734400728.781506,\"name\":null,\"options\":{},\"original_name\":\"Solar rising\",\"platform\":\"sun\",\"translation_key\":\"solar_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"config_subentry_id\":null,\"created_at\":1734714367.780994,\"device_id\":\"6586dbdeb10a88ae4603b47e600c6124\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"weather.forecast_home\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"6ae588672696a2601b0152f22ee235f3\",\"labels\":[],\"modified_at\":1776736291.847135,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Home\",\"platform\":\"met\",\"translation_key\":null,\"unique_id\":\"52.3731339-4.8903147\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739394,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"00afea76654579fe44dc26fa049f0d95\",\"labels\":[],\"modified_at\":1776736291.846123,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_2\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739625,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"04922e6ac54200e570db419df99ece8c\",\"labels\":[],\"modified_at\":1776736291.846168,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_2\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739845,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"2fe6d8fbdb29e850b38895c4c9cdda82\",\"labels\":[],\"modified_at\":1776736291.846208,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_3\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740082,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e8209dc22c78a45fd269e9880c55c1c2\",\"labels\":[],\"modified_at\":1776736291.846245,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_3\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740308,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"bd12146fa4bd2a889b1a6af4e7626212\",\"labels\":[],\"modified_at\":1776736291.846284,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_4\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740546,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"46f3d8c1dd22171b7330aeef56b43fd5\",\"labels\":[],\"modified_at\":1776736291.84632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_4\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740769,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"50d2eb521b8e66836d4a4b6d492734c0\",\"labels\":[],\"modified_at\":1776736291.846355,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_5\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740991,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"8473e2828ba5aaeeed5f94fe71e2a243\",\"labels\":[],\"modified_at\":1776736291.84639,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_5\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741233,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"f1c8d909ff67fe04402562d20849e2e2\",\"labels\":[],\"modified_at\":1776736291.846426,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_6\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.74147,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"1c8e78f816cee4aef5e31ed61671aad2\",\"labels\":[],\"modified_at\":1776736291.846466,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_6\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741714,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"29fb3aedbe5f30bcef57cbcf0deda1ea\",\"labels\":[],\"modified_at\":1776736291.846502,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_7\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741971,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"cf406eecc4ffb183e9439f263926eefc\",\"labels\":[],\"modified_at\":1776736291.846535,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_7\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.742259,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"805617f74b0acbf74de79160c359a31a\",\"labels\":[],\"modified_at\":1776736291.846566,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_8\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.74251,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"9c3e4bb50fdfc95e2daca6d689787628\",\"labels\":[],\"modified_at\":1776736291.846599,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_8\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.742757,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"05614c4c7602ec2854e502745849efbc\",\"labels\":[],\"modified_at\":1776736291.846632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_9\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.743972,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"d3697bf85b5699c9f5baf8cb290c6600\",\"labels\":[],\"modified_at\":1776736291.846665,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_9\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.744282,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"8054ad07121c6277f9ebe271800bb505\",\"labels\":[],\"modified_at\":1776736291.8467,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_10\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.744558,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e1c7742b493b9ec4a41b24e0078d0478\",\"labels\":[],\"modified_at\":1776736291.846735,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_10\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1776736291.248235,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"binary_sensor.sun_solar_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e6f88aa596671270f4e4b900bf0f54a2\",\"labels\":[],\"modified_at\":1776736291.248297,\"name\":null,\"options\":{},\"original_name\":\"Solar rising\",\"platform\":\"sun\",\"translation_key\":\"solar_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855019,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"event.backup_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"eefbc4a445ee9c5190783ee7d38e9ae1\",\"labels\":[],\"modified_at\":1776736291.855209,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Automatic backup\",\"platform\":\"backup\",\"translation_key\":\"automatic_backup_event\",\"unique_id\":\"automatic_backup_event\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855459,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_backup_manager_state\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"f89bf1b1b54ad27812e78f0d8eeae996\",\"labels\":[],\"modified_at\":1776736291.8556,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Backup Manager state\",\"platform\":\"backup\",\"translation_key\":\"backup_manager_state\",\"unique_id\":\"backup_manager_state\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855687,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"fd738ac93c990d68a2799f763ea8cf7f\",\"labels\":[],\"modified_at\":1776736291.855789,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next scheduled automatic backup\",\"platform\":\"backup\",\"translation_key\":\"next_scheduled_automatic_backup\",\"unique_id\":\"next_scheduled_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855869,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e33c7be41cc1186af3147b4c8c4634cb\",\"labels\":[],\"modified_at\":1776736291.855967,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Last successful automatic backup\",\"platform\":\"backup\",\"translation_key\":\"last_successful_automatic_backup\",\"unique_id\":\"last_successful_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.856067,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"db7784b53acf1895f02f84c4ba8f20ed\",\"labels\":[],\"modified_at\":1776736291.856172,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Last attempted automatic backup\",\"platform\":\"backup\",\"translation_key\":\"last_attempted_automatic_backup\",\"unique_id\":\"last_attempted_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736314.180845,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"94ec33809c121700cc4b95f4f7f7d078\",\"labels\":[],\"modified_at\":1776736314.181007,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_11\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736314.210126,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"55bd86616abf5593bcb28c935e8f8c0b\",\"labels\":[],\"modified_at\":1776736314.210327,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_11\"}]}", + "offset_ms": 3 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_entity_registry/test_async_remove_entity_registry_entry.json b/tests/cassettes/test_entity_registry/test_async_remove_entity_registry_entry.json new file mode 100644 index 00000000..c97faa18 --- /dev/null +++ b/tests/cassettes/test_entity_registry/test_async_remove_entity_registry_entry.json @@ -0,0 +1,79 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.008307+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"name\": \"smoke_registry_remove_test_async\", \"id\": 2, \"type\": \"input_boolean/create\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"id\":\"smoke_registry_remove_test_async_13\",\"name\":\"smoke_registry_remove_test_async\"}}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entity_id\": \"input_boolean.smoke_registry_remove_test_async\", \"id\": 3, \"type\": \"config/entity_registry/remove\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 4, \"type\": \"config/entity_registry/list\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\": \"result\",\"success\":true,\"result\": [{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":0.0,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"person.test_user\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e6de57e591560fad68f1c3b52bf0b295\",\"labels\":[],\"modified_at\":1776736291.845863,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Test User\",\"platform\":\"person\",\"translation_key\":null,\"unique_id\":\"test_user\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740311.003932,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.78036,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dusk\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e1a35874a09227109783c6d1301a10cf\",\"labels\":[],\"modified_at\":1776740310.693602,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dusk\",\"platform\":\"sun\",\"translation_key\":\"next_dusk\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dusk\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780603,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_midnight\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"9ec059b13886380e2d5d4a9002e89879\",\"labels\":[],\"modified_at\":1776740310.693632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next midnight\",\"platform\":\"sun\",\"translation_key\":\"next_midnight\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_midnight\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780796,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_noon\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"04bc6ee0081da1191cb27e2ee5842148\",\"labels\":[],\"modified_at\":1776740310.693647,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next noon\",\"platform\":\"sun\",\"translation_key\":\"next_noon\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_noon\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780976,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"ec87eec8ebe365ec0cd1119962627570\",\"labels\":[],\"modified_at\":1776740310.69366,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next rising\",\"platform\":\"sun\",\"translation_key\":\"next_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781147,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_setting\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"594acbedee290ea279f1d63cf6efbb3b\",\"labels\":[],\"modified_at\":1776740310.693672,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next setting\",\"platform\":\"sun\",\"translation_key\":\"next_setting\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_setting\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.7813,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_elevation\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"0df1d222a5fedd8d5e62a2ff2be79094\",\"labels\":[],\"modified_at\":1776736291.249561,\"name\":null,\"options\":{},\"original_name\":\"Solar elevation\",\"platform\":\"sun\",\"translation_key\":\"solar_elevation\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_elevation\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781397,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_azimuth\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"104de75b64e950af398ec4fe9998338c\",\"labels\":[],\"modified_at\":1776736291.249615,\"name\":null,\"options\":{},\"original_name\":\"Solar azimuth\",\"platform\":\"sun\",\"translation_key\":\"solar_azimuth\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_azimuth\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781483,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"888993d87923ff452ad1e53f6b3a943f\",\"labels\":[],\"modified_at\":1734400728.781506,\"name\":null,\"options\":{},\"original_name\":\"Solar rising\",\"platform\":\"sun\",\"translation_key\":\"solar_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"config_subentry_id\":null,\"created_at\":1734714367.780994,\"device_id\":\"6586dbdeb10a88ae4603b47e600c6124\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"weather.forecast_home\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"6ae588672696a2601b0152f22ee235f3\",\"labels\":[],\"modified_at\":1776736291.847135,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Home\",\"platform\":\"met\",\"translation_key\":null,\"unique_id\":\"52.3731339-4.8903147\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739394,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"00afea76654579fe44dc26fa049f0d95\",\"labels\":[],\"modified_at\":1776736291.846123,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_2\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739625,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"04922e6ac54200e570db419df99ece8c\",\"labels\":[],\"modified_at\":1776736291.846168,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_2\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739845,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"2fe6d8fbdb29e850b38895c4c9cdda82\",\"labels\":[],\"modified_at\":1776736291.846208,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_3\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740082,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e8209dc22c78a45fd269e9880c55c1c2\",\"labels\":[],\"modified_at\":1776736291.846245,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_3\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740308,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"bd12146fa4bd2a889b1a6af4e7626212\",\"labels\":[],\"modified_at\":1776736291.846284,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_4\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740546,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"46f3d8c1dd22171b7330aeef56b43fd5\",\"labels\":[],\"modified_at\":1776736291.84632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_4\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740769,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"50d2eb521b8e66836d4a4b6d492734c0\",\"labels\":[],\"modified_at\":1776736291.846355,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_5\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740991,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"8473e2828ba5aaeeed5f94fe71e2a243\",\"labels\":[],\"modified_at\":1776736291.84639,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_5\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741233,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"f1c8d909ff67fe04402562d20849e2e2\",\"labels\":[],\"modified_at\":1776736291.846426,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_6\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.74147,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"1c8e78f816cee4aef5e31ed61671aad2\",\"labels\":[],\"modified_at\":1776736291.846466,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_6\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741714,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"29fb3aedbe5f30bcef57cbcf0deda1ea\",\"labels\":[],\"modified_at\":1776736291.846502,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_7\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741971,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"cf406eecc4ffb183e9439f263926eefc\",\"labels\":[],\"modified_at\":1776736291.846535,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_7\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.742259,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"805617f74b0acbf74de79160c359a31a\",\"labels\":[],\"modified_at\":1776736291.846566,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_8\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.74251,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"9c3e4bb50fdfc95e2daca6d689787628\",\"labels\":[],\"modified_at\":1776736291.846599,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_8\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.742757,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"05614c4c7602ec2854e502745849efbc\",\"labels\":[],\"modified_at\":1776736291.846632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_9\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.743972,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"d3697bf85b5699c9f5baf8cb290c6600\",\"labels\":[],\"modified_at\":1776736291.846665,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_9\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.744282,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"8054ad07121c6277f9ebe271800bb505\",\"labels\":[],\"modified_at\":1776736291.8467,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_10\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.744558,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e1c7742b493b9ec4a41b24e0078d0478\",\"labels\":[],\"modified_at\":1776736291.846735,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_10\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1776736291.248235,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"binary_sensor.sun_solar_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e6f88aa596671270f4e4b900bf0f54a2\",\"labels\":[],\"modified_at\":1776736291.248297,\"name\":null,\"options\":{},\"original_name\":\"Solar rising\",\"platform\":\"sun\",\"translation_key\":\"solar_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855019,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"event.backup_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"eefbc4a445ee9c5190783ee7d38e9ae1\",\"labels\":[],\"modified_at\":1776736291.855209,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Automatic backup\",\"platform\":\"backup\",\"translation_key\":\"automatic_backup_event\",\"unique_id\":\"automatic_backup_event\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855459,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_backup_manager_state\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"f89bf1b1b54ad27812e78f0d8eeae996\",\"labels\":[],\"modified_at\":1776736291.8556,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Backup Manager state\",\"platform\":\"backup\",\"translation_key\":\"backup_manager_state\",\"unique_id\":\"backup_manager_state\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855687,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"fd738ac93c990d68a2799f763ea8cf7f\",\"labels\":[],\"modified_at\":1776736291.855789,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next scheduled automatic backup\",\"platform\":\"backup\",\"translation_key\":\"next_scheduled_automatic_backup\",\"unique_id\":\"next_scheduled_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855869,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e33c7be41cc1186af3147b4c8c4634cb\",\"labels\":[],\"modified_at\":1776736291.855967,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Last successful automatic backup\",\"platform\":\"backup\",\"translation_key\":\"last_successful_automatic_backup\",\"unique_id\":\"last_successful_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.856067,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"db7784b53acf1895f02f84c4ba8f20ed\",\"labels\":[],\"modified_at\":1776736291.856172,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Last attempted automatic backup\",\"platform\":\"backup\",\"translation_key\":\"last_attempted_automatic_backup\",\"unique_id\":\"last_attempted_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736314.180845,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"94ec33809c121700cc4b95f4f7f7d078\",\"labels\":[],\"modified_at\":1776736314.181007,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_11\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736314.210126,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"55bd86616abf5593bcb28c935e8f8c0b\",\"labels\":[],\"modified_at\":1776736314.210327,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_11\"}]}", + "offset_ms": 5 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_entity_registry/test_async_update_entity_registry_entry.json b/tests/cassettes/test_entity_registry/test_async_update_entity_registry_entry.json new file mode 100644 index 00000000..042452c2 --- /dev/null +++ b/tests/cassettes/test_entity_registry/test_async_update_entity_registry_entry.json @@ -0,0 +1,67 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.001873+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entity_id\": \"sensor.sun_next_dawn\", \"name\": \"Async Test Name\", \"id\": 2, \"type\": \"config/entity_registry/update\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"entity_entry\":{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740311.003102,\"name\":\"Async Test Name\",\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\",\"aliases\":[null],\"capabilities\":null,\"device_class\":null,\"original_device_class\":\"timestamp\",\"original_icon\":null}}}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entity_id\": \"sensor.sun_next_dawn\", \"name\": null, \"id\": 3, \"type\": \"config/entity_registry/update\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"entity_entry\":{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740311.003932,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\",\"aliases\":[null],\"capabilities\":null,\"device_class\":null,\"original_device_class\":\"timestamp\",\"original_icon\":null}}}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_entity_registry/test_get_entity_registry_entry.json b/tests/cassettes/test_entity_registry/test_get_entity_registry_entry.json new file mode 100644 index 00000000..96577bb1 --- /dev/null +++ b/tests/cassettes/test_entity_registry/test_get_entity_registry_entry.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.961590+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entity_id\": \"sensor.sun_next_dawn\", \"id\": 2, \"type\": \"config/entity_registry/get\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740310.693684,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\",\"aliases\":[null],\"capabilities\":null,\"device_class\":null,\"original_device_class\":\"timestamp\",\"original_icon\":null}}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_entity_registry/test_list_entity_registry.json b/tests/cassettes/test_entity_registry/test_list_entity_registry.json new file mode 100644 index 00000000..dff11a34 --- /dev/null +++ b/tests/cassettes/test_entity_registry/test_list_entity_registry.json @@ -0,0 +1,55 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.956388+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config/entity_registry/list\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\": \"result\",\"success\":true,\"result\": [{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":0.0,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"person.test_user\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e6de57e591560fad68f1c3b52bf0b295\",\"labels\":[],\"modified_at\":1776736291.845863,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Test User\",\"platform\":\"person\",\"translation_key\":null,\"unique_id\":\"test_user\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740310.693684,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.78036,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dusk\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e1a35874a09227109783c6d1301a10cf\",\"labels\":[],\"modified_at\":1776740310.693602,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dusk\",\"platform\":\"sun\",\"translation_key\":\"next_dusk\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dusk\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780603,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_midnight\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"9ec059b13886380e2d5d4a9002e89879\",\"labels\":[],\"modified_at\":1776740310.693632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next midnight\",\"platform\":\"sun\",\"translation_key\":\"next_midnight\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_midnight\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780796,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_noon\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"04bc6ee0081da1191cb27e2ee5842148\",\"labels\":[],\"modified_at\":1776740310.693647,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next noon\",\"platform\":\"sun\",\"translation_key\":\"next_noon\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_noon\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780976,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"ec87eec8ebe365ec0cd1119962627570\",\"labels\":[],\"modified_at\":1776740310.69366,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next rising\",\"platform\":\"sun\",\"translation_key\":\"next_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781147,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_setting\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"594acbedee290ea279f1d63cf6efbb3b\",\"labels\":[],\"modified_at\":1776740310.693672,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next setting\",\"platform\":\"sun\",\"translation_key\":\"next_setting\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_setting\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.7813,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_elevation\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"0df1d222a5fedd8d5e62a2ff2be79094\",\"labels\":[],\"modified_at\":1776736291.249561,\"name\":null,\"options\":{},\"original_name\":\"Solar elevation\",\"platform\":\"sun\",\"translation_key\":\"solar_elevation\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_elevation\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781397,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_azimuth\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"104de75b64e950af398ec4fe9998338c\",\"labels\":[],\"modified_at\":1776736291.249615,\"name\":null,\"options\":{},\"original_name\":\"Solar azimuth\",\"platform\":\"sun\",\"translation_key\":\"solar_azimuth\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_azimuth\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781483,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"888993d87923ff452ad1e53f6b3a943f\",\"labels\":[],\"modified_at\":1734400728.781506,\"name\":null,\"options\":{},\"original_name\":\"Solar rising\",\"platform\":\"sun\",\"translation_key\":\"solar_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"config_subentry_id\":null,\"created_at\":1734714367.780994,\"device_id\":\"6586dbdeb10a88ae4603b47e600c6124\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"weather.forecast_home\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"6ae588672696a2601b0152f22ee235f3\",\"labels\":[],\"modified_at\":1776736291.847135,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Home\",\"platform\":\"met\",\"translation_key\":null,\"unique_id\":\"52.3731339-4.8903147\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739394,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"00afea76654579fe44dc26fa049f0d95\",\"labels\":[],\"modified_at\":1776736291.846123,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_2\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739625,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"04922e6ac54200e570db419df99ece8c\",\"labels\":[],\"modified_at\":1776736291.846168,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_2\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739845,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"2fe6d8fbdb29e850b38895c4c9cdda82\",\"labels\":[],\"modified_at\":1776736291.846208,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_3\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740082,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e8209dc22c78a45fd269e9880c55c1c2\",\"labels\":[],\"modified_at\":1776736291.846245,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_3\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740308,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"bd12146fa4bd2a889b1a6af4e7626212\",\"labels\":[],\"modified_at\":1776736291.846284,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_4\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740546,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"46f3d8c1dd22171b7330aeef56b43fd5\",\"labels\":[],\"modified_at\":1776736291.84632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_4\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740769,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"50d2eb521b8e66836d4a4b6d492734c0\",\"labels\":[],\"modified_at\":1776736291.846355,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_5\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740991,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"8473e2828ba5aaeeed5f94fe71e2a243\",\"labels\":[],\"modified_at\":1776736291.84639,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_5\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741233,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"f1c8d909ff67fe04402562d20849e2e2\",\"labels\":[],\"modified_at\":1776736291.846426,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_6\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.74147,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"1c8e78f816cee4aef5e31ed61671aad2\",\"labels\":[],\"modified_at\":1776736291.846466,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_6\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741714,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"29fb3aedbe5f30bcef57cbcf0deda1ea\",\"labels\":[],\"modified_at\":1776736291.846502,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_7\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741971,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"cf406eecc4ffb183e9439f263926eefc\",\"labels\":[],\"modified_at\":1776736291.846535,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_7\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.742259,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"805617f74b0acbf74de79160c359a31a\",\"labels\":[],\"modified_at\":1776736291.846566,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_8\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.74251,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"9c3e4bb50fdfc95e2daca6d689787628\",\"labels\":[],\"modified_at\":1776736291.846599,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_8\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.742757,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"05614c4c7602ec2854e502745849efbc\",\"labels\":[],\"modified_at\":1776736291.846632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_9\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.743972,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"d3697bf85b5699c9f5baf8cb290c6600\",\"labels\":[],\"modified_at\":1776736291.846665,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_9\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.744282,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"8054ad07121c6277f9ebe271800bb505\",\"labels\":[],\"modified_at\":1776736291.8467,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_10\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.744558,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e1c7742b493b9ec4a41b24e0078d0478\",\"labels\":[],\"modified_at\":1776736291.846735,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_10\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1776736291.248235,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"binary_sensor.sun_solar_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e6f88aa596671270f4e4b900bf0f54a2\",\"labels\":[],\"modified_at\":1776736291.248297,\"name\":null,\"options\":{},\"original_name\":\"Solar rising\",\"platform\":\"sun\",\"translation_key\":\"solar_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855019,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"event.backup_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"eefbc4a445ee9c5190783ee7d38e9ae1\",\"labels\":[],\"modified_at\":1776736291.855209,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Automatic backup\",\"platform\":\"backup\",\"translation_key\":\"automatic_backup_event\",\"unique_id\":\"automatic_backup_event\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855459,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_backup_manager_state\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"f89bf1b1b54ad27812e78f0d8eeae996\",\"labels\":[],\"modified_at\":1776736291.8556,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Backup Manager state\",\"platform\":\"backup\",\"translation_key\":\"backup_manager_state\",\"unique_id\":\"backup_manager_state\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855687,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"fd738ac93c990d68a2799f763ea8cf7f\",\"labels\":[],\"modified_at\":1776736291.855789,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next scheduled automatic backup\",\"platform\":\"backup\",\"translation_key\":\"next_scheduled_automatic_backup\",\"unique_id\":\"next_scheduled_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855869,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e33c7be41cc1186af3147b4c8c4634cb\",\"labels\":[],\"modified_at\":1776736291.855967,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Last successful automatic backup\",\"platform\":\"backup\",\"translation_key\":\"last_successful_automatic_backup\",\"unique_id\":\"last_successful_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.856067,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"db7784b53acf1895f02f84c4ba8f20ed\",\"labels\":[],\"modified_at\":1776736291.856172,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Last attempted automatic backup\",\"platform\":\"backup\",\"translation_key\":\"last_attempted_automatic_backup\",\"unique_id\":\"last_attempted_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736314.180845,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"94ec33809c121700cc4b95f4f7f7d078\",\"labels\":[],\"modified_at\":1776736314.181007,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_11\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736314.210126,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"55bd86616abf5593bcb28c935e8f8c0b\",\"labels\":[],\"modified_at\":1776736314.210327,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_11\"}]}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_entity_registry/test_remove_entity_registry_entry.json b/tests/cassettes/test_entity_registry/test_remove_entity_registry_entry.json new file mode 100644 index 00000000..774007dd --- /dev/null +++ b/tests/cassettes/test_entity_registry/test_remove_entity_registry_entry.json @@ -0,0 +1,79 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.973072+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"name\": \"smoke_registry_remove_test\", \"id\": 2, \"type\": \"input_boolean/create\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"id\":\"smoke_registry_remove_test_13\",\"name\":\"smoke_registry_remove_test\"}}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entity_id\": \"input_boolean.smoke_registry_remove_test\", \"id\": 3, \"type\": \"config/entity_registry/remove\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 4, \"type\": \"config/entity_registry/list\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\": \"result\",\"success\":true,\"result\": [{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":0.0,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"person.test_user\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e6de57e591560fad68f1c3b52bf0b295\",\"labels\":[],\"modified_at\":1776736291.845863,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Test User\",\"platform\":\"person\",\"translation_key\":null,\"unique_id\":\"test_user\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740310.969806,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.78036,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dusk\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e1a35874a09227109783c6d1301a10cf\",\"labels\":[],\"modified_at\":1776740310.693602,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dusk\",\"platform\":\"sun\",\"translation_key\":\"next_dusk\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dusk\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780603,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_midnight\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"9ec059b13886380e2d5d4a9002e89879\",\"labels\":[],\"modified_at\":1776740310.693632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next midnight\",\"platform\":\"sun\",\"translation_key\":\"next_midnight\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_midnight\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780796,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_noon\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"04bc6ee0081da1191cb27e2ee5842148\",\"labels\":[],\"modified_at\":1776740310.693647,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next noon\",\"platform\":\"sun\",\"translation_key\":\"next_noon\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_noon\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780976,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"ec87eec8ebe365ec0cd1119962627570\",\"labels\":[],\"modified_at\":1776740310.69366,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next rising\",\"platform\":\"sun\",\"translation_key\":\"next_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781147,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_setting\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"594acbedee290ea279f1d63cf6efbb3b\",\"labels\":[],\"modified_at\":1776740310.693672,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next setting\",\"platform\":\"sun\",\"translation_key\":\"next_setting\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_setting\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.7813,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_elevation\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"0df1d222a5fedd8d5e62a2ff2be79094\",\"labels\":[],\"modified_at\":1776736291.249561,\"name\":null,\"options\":{},\"original_name\":\"Solar elevation\",\"platform\":\"sun\",\"translation_key\":\"solar_elevation\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_elevation\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781397,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_azimuth\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"104de75b64e950af398ec4fe9998338c\",\"labels\":[],\"modified_at\":1776736291.249615,\"name\":null,\"options\":{},\"original_name\":\"Solar azimuth\",\"platform\":\"sun\",\"translation_key\":\"solar_azimuth\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_azimuth\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.781483,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_solar_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"888993d87923ff452ad1e53f6b3a943f\",\"labels\":[],\"modified_at\":1734400728.781506,\"name\":null,\"options\":{},\"original_name\":\"Solar rising\",\"platform\":\"sun\",\"translation_key\":\"solar_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"config_subentry_id\":null,\"created_at\":1734714367.780994,\"device_id\":\"6586dbdeb10a88ae4603b47e600c6124\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"weather.forecast_home\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"6ae588672696a2601b0152f22ee235f3\",\"labels\":[],\"modified_at\":1776736291.847135,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Home\",\"platform\":\"met\",\"translation_key\":null,\"unique_id\":\"52.3731339-4.8903147\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739394,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_2\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"00afea76654579fe44dc26fa049f0d95\",\"labels\":[],\"modified_at\":1776736291.846123,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_2\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739625,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_2\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"04922e6ac54200e570db419df99ece8c\",\"labels\":[],\"modified_at\":1776736291.846168,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_2\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.739845,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_3\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"2fe6d8fbdb29e850b38895c4c9cdda82\",\"labels\":[],\"modified_at\":1776736291.846208,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_3\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740082,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_3\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e8209dc22c78a45fd269e9880c55c1c2\",\"labels\":[],\"modified_at\":1776736291.846245,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_3\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740308,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_4\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"bd12146fa4bd2a889b1a6af4e7626212\",\"labels\":[],\"modified_at\":1776736291.846284,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_4\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740546,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_4\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"46f3d8c1dd22171b7330aeef56b43fd5\",\"labels\":[],\"modified_at\":1776736291.84632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_4\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740769,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_5\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"50d2eb521b8e66836d4a4b6d492734c0\",\"labels\":[],\"modified_at\":1776736291.846355,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_5\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.740991,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_5\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"8473e2828ba5aaeeed5f94fe71e2a243\",\"labels\":[],\"modified_at\":1776736291.84639,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_5\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741233,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_6\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"f1c8d909ff67fe04402562d20849e2e2\",\"labels\":[],\"modified_at\":1776736291.846426,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_6\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.74147,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_6\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"1c8e78f816cee4aef5e31ed61671aad2\",\"labels\":[],\"modified_at\":1776736291.846466,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_6\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741714,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_7\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"29fb3aedbe5f30bcef57cbcf0deda1ea\",\"labels\":[],\"modified_at\":1776736291.846502,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_7\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.741971,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_7\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"cf406eecc4ffb183e9439f263926eefc\",\"labels\":[],\"modified_at\":1776736291.846535,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_7\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.742259,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_8\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"805617f74b0acbf74de79160c359a31a\",\"labels\":[],\"modified_at\":1776736291.846566,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_8\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.74251,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_8\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"9c3e4bb50fdfc95e2daca6d689787628\",\"labels\":[],\"modified_at\":1776736291.846599,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_8\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.742757,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_9\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"05614c4c7602ec2854e502745849efbc\",\"labels\":[],\"modified_at\":1776736291.846632,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_9\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.743972,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_9\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"d3697bf85b5699c9f5baf8cb290c6600\",\"labels\":[],\"modified_at\":1776736291.846665,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_9\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.744282,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_10\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"8054ad07121c6277f9ebe271800bb505\",\"labels\":[],\"modified_at\":1776736291.8467,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_10\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736290.744558,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_10\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"e1c7742b493b9ec4a41b24e0078d0478\",\"labels\":[],\"modified_at\":1776736291.846735,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_10\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1776736291.248235,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":\"integration\",\"entity_category\":\"diagnostic\",\"entity_id\":\"binary_sensor.sun_solar_rising\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e6f88aa596671270f4e4b900bf0f54a2\",\"labels\":[],\"modified_at\":1776736291.248297,\"name\":null,\"options\":{},\"original_name\":\"Solar rising\",\"platform\":\"sun\",\"translation_key\":\"solar_rising\",\"unique_id\":\"5f8426fa502435857743f302651753c9-solar_rising\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855019,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"event.backup_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"eefbc4a445ee9c5190783ee7d38e9ae1\",\"labels\":[],\"modified_at\":1776736291.855209,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Automatic backup\",\"platform\":\"backup\",\"translation_key\":\"automatic_backup_event\",\"unique_id\":\"automatic_backup_event\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855459,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_backup_manager_state\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"f89bf1b1b54ad27812e78f0d8eeae996\",\"labels\":[],\"modified_at\":1776736291.8556,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Backup Manager state\",\"platform\":\"backup\",\"translation_key\":\"backup_manager_state\",\"unique_id\":\"backup_manager_state\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855687,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_next_scheduled_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"fd738ac93c990d68a2799f763ea8cf7f\",\"labels\":[],\"modified_at\":1776736291.855789,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next scheduled automatic backup\",\"platform\":\"backup\",\"translation_key\":\"next_scheduled_automatic_backup\",\"unique_id\":\"next_scheduled_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.855869,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_last_successful_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"e33c7be41cc1186af3147b4c8c4634cb\",\"labels\":[],\"modified_at\":1776736291.855967,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Last successful automatic backup\",\"platform\":\"backup\",\"translation_key\":\"last_successful_automatic_backup\",\"unique_id\":\"last_successful_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"config_subentry_id\":null,\"created_at\":1776736291.856067,\"device_id\":\"db3bb53cf08b114c84f0dc480da5ac2c\",\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"sensor.backup_last_attempted_automatic_backup\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"db7784b53acf1895f02f84c4ba8f20ed\",\"labels\":[],\"modified_at\":1776736291.856172,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Last attempted automatic backup\",\"platform\":\"backup\",\"translation_key\":\"last_attempted_automatic_backup\",\"unique_id\":\"last_attempted_automatic_backup\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736314.180845,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_11\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"94ec33809c121700cc4b95f4f7f7d078\",\"labels\":[],\"modified_at\":1776736314.181007,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_11\"},{\"area_id\":null,\"categories\":{},\"config_entry_id\":null,\"config_subentry_id\":null,\"created_at\":1776736314.210126,\"device_id\":null,\"disabled_by\":null,\"entity_category\":null,\"entity_id\":\"input_boolean.smoke_registry_remove_test_async_11\",\"has_entity_name\":false,\"hidden_by\":null,\"icon\":null,\"id\":\"55bd86616abf5593bcb28c935e8f8c0b\",\"labels\":[],\"modified_at\":1776736314.210327,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"smoke_registry_remove_test_async\",\"platform\":\"input_boolean\",\"translation_key\":null,\"unique_id\":\"smoke_registry_remove_test_async_11\"}]}", + "offset_ms": 3 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_entity_registry/test_update_entity_registry_entry.json b/tests/cassettes/test_entity_registry/test_update_entity_registry_entry.json new file mode 100644 index 00000000..9bbedf82 --- /dev/null +++ b/tests/cassettes/test_entity_registry/test_update_entity_registry_entry.json @@ -0,0 +1,67 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:30.967996+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entity_id\": \"sensor.sun_next_dawn\", \"name\": \"Test Name\", \"id\": 2, \"type\": \"config/entity_registry/update\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":{\"entity_entry\":{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740310.969017,\"name\":\"Test Name\",\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\",\"aliases\":[null],\"capabilities\":null,\"device_class\":null,\"original_device_class\":\"timestamp\",\"original_icon\":null}}}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entity_id\": \"sensor.sun_next_dawn\", \"name\": null, \"id\": 3, \"type\": \"config/entity_registry/update\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"entity_entry\":{\"area_id\":null,\"categories\":{},\"config_entry_id\":\"5f8426fa502435857743f302651753c9\",\"config_subentry_id\":null,\"created_at\":1734400728.780004,\"device_id\":\"b3d3fadee11d077d99d948c173631abc\",\"disabled_by\":null,\"entity_category\":\"diagnostic\",\"entity_id\":\"sensor.sun_next_dawn\",\"has_entity_name\":true,\"hidden_by\":null,\"icon\":null,\"id\":\"d7e14c775a20078d98703325848bd203\",\"labels\":[],\"modified_at\":1776740310.969806,\"name\":null,\"options\":{\"conversation\":{\"should_expose\":false}},\"original_name\":\"Next dawn\",\"platform\":\"sun\",\"translation_key\":\"next_dawn\",\"unique_id\":\"5f8426fa502435857743f302651753c9-next_dawn\",\"aliases\":[null],\"capabilities\":null,\"device_class\":null,\"original_device_class\":\"timestamp\",\"original_icon\":null}}}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_endpoint_not_found_error.json b/tests/cassettes/test_errors/test_async_endpoint_not_found_error.json new file mode 100644 index 00000000..960afe5c --- /dev/null +++ b/tests/cassettes/test_errors/test_async_endpoint_not_found_error.json @@ -0,0 +1,95 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.067278+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/qwertyuioasdfghjkzxcvbnm", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 404, + "message": "Not Found" + }, + "headers": { + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "14" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "404: Not Found" + }, + "protocol": null, + "url": "http://localhost:8123/api/qwertyuioasdfghjkzxcvbnm" + }, + "recorded_at": "2026-04-21T02:58:31.068433+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_invalid_template.json b/tests/cassettes/test_errors/test_async_invalid_template.json new file mode 100644 index 00000000..27fd1ad1 --- /dev/null +++ b/tests/cassettes/test_errors/test_async_invalid_template.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.103490+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/template", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 400, + "message": "Bad Request" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "100" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"Error rendering template: TemplateSyntaxError: expected token 'end of print statement', got 'lol'\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/template" + }, + "recorded_at": "2026-04-21T02:58:31.104855+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_method_not_allowed_error.json b/tests/cassettes/test_errors/test_async_method_not_allowed_error.json new file mode 100644 index 00000000..10484b17 --- /dev/null +++ b/tests/cassettes/test_errors/test_async_method_not_allowed_error.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.074249+00:00" + }, + { + "request": { + "method": "DELETE", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 405, + "message": "Method Not Allowed" + }, + "headers": { + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Allow": [ + "GET,OPTIONS" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "23" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "405: Method Not Allowed" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.075346+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_no_entity_information_provided.json b/tests/cassettes/test_errors/test_async_no_entity_information_provided.json new file mode 100644 index 00000000..73155414 --- /dev/null +++ b/tests/cassettes/test_errors/test_async_no_entity_information_provided.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.089242+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_unauthorized.json b/tests/cassettes/test_errors/test_async_unauthorized.json new file mode 100644 index 00000000..7275df4d --- /dev/null +++ b/tests/cassettes/test_errors/test_async_unauthorized.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 401, + "message": "Unauthorized" + }, + "headers": { + "WWW-Authenticate": [ + "Bearer resource_metadata=\"http://localhost:8123/.well-known/oauth-protected-resource\"" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "17" + ], + "Date": [ + "Tue, 21 Apr 2026 03:30:53 GMT" + ] + }, + "body": { + "string": "401: Unauthorized" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T03:30:53.769540+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_websocket_get_entity_histories_not_supported.json b/tests/cassettes/test_errors/test_async_websocket_get_entity_histories_not_supported.json new file mode 100644 index 00000000..56974941 --- /dev/null +++ b/tests/cassettes/test_errors/test_async_websocket_get_entity_histories_not_supported.json @@ -0,0 +1,43 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.132439+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_websocket_set_state_not_supported.json b/tests/cassettes/test_errors/test_async_websocket_set_state_not_supported.json new file mode 100644 index 00000000..90057324 --- /dev/null +++ b/tests/cassettes/test_errors/test_async_websocket_set_state_not_supported.json @@ -0,0 +1,43 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.127908+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_websocket_unauthorized.json b/tests/cassettes/test_errors/test_async_websocket_unauthorized.json new file mode 100644 index 00000000..71af6a68 --- /dev/null +++ b/tests/cassettes/test_errors/test_async_websocket_unauthorized.json @@ -0,0 +1,31 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T03:30:53.776216+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"lolthisisawrongtokenforsure\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_invalid\",\"message\":\"Invalid access token or password\"}", + "offset_ms": 0 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_async_wrong_headers.json b/tests/cassettes/test_errors/test_async_wrong_headers.json new file mode 100644 index 00000000..ebd75dd6 --- /dev/null +++ b/tests/cassettes/test_errors/test_async_wrong_headers.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.082013+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_domain_missing_services_attribute.json b/tests/cassettes/test_errors/test_domain_missing_services_attribute.json new file mode 100644 index 00000000..e18e4686 --- /dev/null +++ b/tests/cassettes/test_errors/test_domain_missing_services_attribute.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.059953+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_endpoint_not_found_error.json b/tests/cassettes/test_errors/test_endpoint_not_found_error.json new file mode 100644 index 00000000..f11619c1 --- /dev/null +++ b/tests/cassettes/test_errors/test_endpoint_not_found_error.json @@ -0,0 +1,95 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.062987+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/qwertyuioasdfghjkzxcvbnm", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 404, + "message": "Not Found" + }, + "headers": { + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "14" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "404: Not Found" + }, + "protocol": null, + "url": "http://localhost:8123/api/qwertyuioasdfghjkzxcvbnm" + }, + "recorded_at": "2026-04-21T02:58:31.064217+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_invalid_template.json b/tests/cassettes/test_errors/test_invalid_template.json new file mode 100644 index 00000000..e80cd9a9 --- /dev/null +++ b/tests/cassettes/test_errors/test_invalid_template.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.099447+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/template", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 400, + "message": "Bad Request" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "100" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"Error rendering template: TemplateSyntaxError: expected token 'end of print statement', got 'lol'\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/template" + }, + "recorded_at": "2026-04-21T02:58:31.100827+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_method_not_allowed_error.json b/tests/cassettes/test_errors/test_method_not_allowed_error.json new file mode 100644 index 00000000..c7c489d3 --- /dev/null +++ b/tests/cassettes/test_errors/test_method_not_allowed_error.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.070827+00:00" + }, + { + "request": { + "method": "DELETE", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 405, + "message": "Method Not Allowed" + }, + "headers": { + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Allow": [ + "GET,OPTIONS" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "23" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "405: Method Not Allowed" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.071684+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_no_entity_information_provided.json b/tests/cassettes/test_errors/test_no_entity_information_provided.json new file mode 100644 index 00000000..fa8abfa8 --- /dev/null +++ b/tests/cassettes/test_errors/test_no_entity_information_provided.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.085802+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_unauthorized.json b/tests/cassettes/test_errors/test_unauthorized.json new file mode 100644 index 00000000..8c05afe6 --- /dev/null +++ b/tests/cassettes/test_errors/test_unauthorized.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 401, + "message": "Unauthorized" + }, + "headers": { + "WWW-Authenticate": [ + "Bearer resource_metadata=\"http://localhost:8123/.well-known/oauth-protected-resource\"" + ], + "Content-Type": [ + "text/plain; charset=utf-8" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "17" + ], + "Date": [ + "Tue, 21 Apr 2026 03:30:53 GMT" + ] + }, + "body": { + "string": "401: Unauthorized" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T03:30:53.763500+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_websocket_get_entity_histories_not_supported.json b/tests/cassettes/test_errors/test_websocket_get_entity_histories_not_supported.json new file mode 100644 index 00000000..f2131466 --- /dev/null +++ b/tests/cassettes/test_errors/test_websocket_get_entity_histories_not_supported.json @@ -0,0 +1,43 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.123976+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_websocket_set_state_not_supported.json b/tests/cassettes/test_errors/test_websocket_set_state_not_supported.json new file mode 100644 index 00000000..66360cde --- /dev/null +++ b/tests/cassettes/test_errors/test_websocket_set_state_not_supported.json @@ -0,0 +1,43 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.120432+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_websocket_unauthorized.json b/tests/cassettes/test_errors/test_websocket_unauthorized.json new file mode 100644 index 00000000..27b88e6c --- /dev/null +++ b/tests/cassettes/test_errors/test_websocket_unauthorized.json @@ -0,0 +1,31 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T03:30:53.772646+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"lolthisisawrongtokenforsure\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_invalid\",\"message\":\"Invalid access token or password\"}", + "offset_ms": 0 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_errors/test_wrong_headers.json b/tests/cassettes/test_errors/test_wrong_headers.json new file mode 100644 index 00000000..3ab48911 --- /dev/null +++ b/tests/cassettes/test_errors/test_wrong_headers.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:31 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:31.077814+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_events/test_async_listen_config_entries.json b/tests/cassettes/test_events/test_async_listen_config_entries.json new file mode 100644 index 00000000..59ecb95f --- /dev/null +++ b/tests/cassettes/test_events/test_async_listen_config_entries.json @@ -0,0 +1,121 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:32.422840+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/subscribe\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":null,\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}},{\"type\":null,\"entry\":{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}},{\"type\":null,\"entry\":{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}},{\"type\":null,\"entry\":{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"disabled_by\": \"user\", \"id\": 3, \"type\": \"config_entries/disable\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":\"updated\",\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"unload_in_progress\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":\"user\",\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 5 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":\"updated\",\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"not_loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":\"user\",\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 5 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"require_restart\":false}}", + "offset_ms": 5 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"disabled_by\": null, \"id\": 4, \"type\": \"config_entries/disable\"}", + "offset_ms": 6 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":\"updated\",\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"setup_in_progress\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 10 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":\"updated\",\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 10 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":{\"require_restart\":false}}", + "offset_ms": 10 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 2, \"id\": 5, \"type\": \"unsubscribe_events\"}", + "offset_ms": 10 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":5,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 11 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_events/test_async_listen_events.json b/tests/cassettes/test_events/test_async_listen_events.json new file mode 100644 index 00000000..dd7d2f25 --- /dev/null +++ b/tests/cassettes/test_events/test_async_listen_events.json @@ -0,0 +1,85 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.141099+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"event_type\": \"async_test_event\", \"id\": 2, \"type\": \"subscribe_events\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"event_type\": \"async_test_event\", \"event_data\": {\"message\": \"Triggered by async websocket client\"}, \"id\": 3, \"type\": \"fire_event\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"event\",\"event\":{\"event_type\":\"async_test_event\",\"data\":{\"message\":\"Triggered by async websocket client\"},\"origin\":\"LOCAL\",\"time_fired\":\"2026-04-21T02:58:31.142560+00:00\",\"context\":{\"id\":\"01KPPZK836PKVHDVST6Q57043B\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},\"id\":2}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"context\":{\"id\":\"01KPPZK836PKVHDVST6Q57043B\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 2, \"id\": 4, \"type\": \"unsubscribe_events\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_events/test_async_listen_trigger.json b/tests/cassettes/test_events/test_async_listen_trigger.json new file mode 100644 index 00000000..ca1ee133 --- /dev/null +++ b/tests/cassettes/test_events/test_async_listen_trigger.json @@ -0,0 +1,103 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:32.439403+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"template\": \"{{ (now() + timedelta(seconds=1)) }}\", \"report_errors\": true, \"id\": 2, \"type\": \"render_template\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 4 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":{\"result\":\"2026-04-20 21:58:33.443265-05:00\",\"listeners\":{\"all\":false,\"entities\":[],\"domains\":[],\"time\":true}}}", + "offset_ms": 4 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 2, \"id\": 3, \"type\": \"unsubscribe_events\"}", + "offset_ms": 4 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 5 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"trigger\": {\"platform\": \"time\", \"at\": \"21:58:33\"}, \"id\": 4, \"type\": \"subscribe_trigger\"}", + "offset_ms": 5 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 6 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"event\",\"event\":{\"variables\":{\"trigger\":{\"id\":\"0\",\"idx\":\"0\",\"alias\":null,\"platform\":\"time\",\"now\":\"2026-04-20T21:58:33.052019-05:00\",\"description\":\"time\",\"entity_id\":null}},\"context\":null}}", + "offset_ms": 613 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 4, \"id\": 5, \"type\": \"unsubscribe_events\"}", + "offset_ms": 613 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":5,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 613 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_events/test_listen_config_entries.json b/tests/cassettes/test_events/test_listen_config_entries.json new file mode 100644 index 00000000..74a8080c --- /dev/null +++ b/tests/cassettes/test_events/test_listen_config_entries.json @@ -0,0 +1,121 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:32.403403+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"id\": 2, \"type\": \"config_entries/subscribe\"}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":null,\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}},{\"type\":null,\"entry\":{\"created_at\":0.0,\"entry_id\":\"bb18b688994e8cfa5e4e880452735628\",\"domain\":\"radio_browser\",\"modified_at\":0.0,\"title\":\"Radio Browser\",\"source\":\"onboarding\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}},{\"type\":null,\"entry\":{\"created_at\":1734714367.193748,\"entry_id\":\"01JFJGH76SD417XC4YJTG8QJWB\",\"domain\":\"met\",\"modified_at\":1734714367.193752,\"title\":\"Home\",\"source\":\"user\",\"state\":\"loaded\",\"supports_options\":true,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}},{\"type\":null,\"entry\":{\"created_at\":1776736291.851382,\"entry_id\":\"01KPPVRK0BN6QZ94H1CA6J4MX7\",\"domain\":\"backup\",\"modified_at\":1776736291.851383,\"title\":\"Backup\",\"source\":\"system\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"disabled_by\": \"user\", \"id\": 3, \"type\": \"config_entries/disable\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":\"updated\",\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"unload_in_progress\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":\"user\",\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 5 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":\"updated\",\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"not_loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":\"user\",\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 6 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"require_restart\":false}}", + "offset_ms": 6 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"entry_id\": \"5f8426fa502435857743f302651753c9\", \"disabled_by\": null, \"id\": 4, \"type\": \"config_entries/disable\"}", + "offset_ms": 6 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":\"updated\",\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"setup_in_progress\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 11 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":[{\"type\":\"updated\",\"entry\":{\"created_at\":0.0,\"entry_id\":\"5f8426fa502435857743f302651753c9\",\"domain\":\"sun\",\"modified_at\":0.0,\"title\":\"Sun\",\"source\":\"import\",\"state\":\"loaded\",\"supports_options\":false,\"supports_remove_device\":false,\"supports_unload\":true,\"supports_reconfigure\":false,\"supported_subentry_types\":{},\"pref_disable_new_entities\":false,\"pref_disable_polling\":false,\"disabled_by\":null,\"reason\":null,\"error_reason_translation_key\":null,\"error_reason_translation_placeholders\":null,\"num_subentries\":0}}]}", + "offset_ms": 11 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":{\"require_restart\":false}}", + "offset_ms": 11 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 2, \"id\": 5, \"type\": \"unsubscribe_events\"}", + "offset_ms": 11 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":5,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 12 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_events/test_listen_events.json b/tests/cassettes/test_events/test_listen_events.json new file mode 100644 index 00000000..d45877d2 --- /dev/null +++ b/tests/cassettes/test_events/test_listen_events.json @@ -0,0 +1,85 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.136892+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"event_type\": \"test_event\", \"id\": 2, \"type\": \"subscribe_events\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"event_type\": \"test_event\", \"event_data\": {\"message\": \"Triggered by websocket client\"}, \"id\": 3, \"type\": \"fire_event\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"event\",\"event\":{\"event_type\":\"test_event\",\"data\":{\"message\":\"Triggered by websocket client\"},\"origin\":\"LOCAL\",\"time_fired\":\"2026-04-21T02:58:31.137896+00:00\",\"context\":{\"id\":\"01KPPZK831VBA2G0C1HXXRZHJH\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}},\"id\":2}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":{\"context\":{\"id\":\"01KPPZK831VBA2G0C1HXXRZHJH\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 2, \"id\": 4, \"type\": \"unsubscribe_events\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_events/test_listen_trigger.json b/tests/cassettes/test_events/test_listen_trigger.json new file mode 100644 index 00000000..7e61987d --- /dev/null +++ b/tests/cassettes/test_events/test_listen_trigger.json @@ -0,0 +1,103 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [], + "websocket_sessions": [ + { + "uri": "ws://localhost:8123/api/websocket", + "handshake_recorded_at": "2026-04-21T02:58:31.147930+00:00", + "protocol": null, + "frames": [ + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_required\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJkMDE4YjQ4YzMyZTE0ODNhYjY2ZWQzOTZmYzg3ZDAyNiIsImlhdCI6MTY3ODU3NDUwMSwiZXhwIjoxOTkzOTM0NTAxfQ.fyhnfwpont4uE0gn46_Ut_pPmyn4QWv0MDaVAei2PPk\", \"type\": \"auth\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"type\":\"auth_ok\",\"ha_version\":\"2026.4.3\"}", + "offset_ms": 0 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"features\": {}, \"id\": 1, \"type\": \"supported_features\"}", + "offset_ms": 0 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":1,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"template\": \"{{ (now() + timedelta(seconds=1)) }}\", \"report_errors\": true, \"id\": 2, \"type\": \"render_template\"}", + "offset_ms": 1 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 2 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":2,\"type\":\"event\",\"event\":{\"result\":\"2026-04-20 21:58:32.150610-05:00\",\"listeners\":{\"all\":false,\"entities\":[],\"domains\":[],\"time\":true}}}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 2, \"id\": 3, \"type\": \"unsubscribe_events\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":3,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 3 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"trigger\": {\"platform\": \"time\", \"at\": \"21:58:32\"}, \"id\": 4, \"type\": \"subscribe_trigger\"}", + "offset_ms": 3 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 4 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":4,\"type\":\"event\",\"event\":{\"variables\":{\"trigger\":{\"id\":\"0\",\"idx\":\"0\",\"alias\":null,\"platform\":\"time\",\"now\":\"2026-04-20T21:58:32.393134-05:00\",\"description\":\"time\",\"entity_id\":null}},\"context\":null}}", + "offset_ms": 1246 + }, + { + "direction": "send", + "type": "text", + "payload": "{\"subscription\": 4, \"id\": 5, \"type\": \"unsubscribe_events\"}", + "offset_ms": 1246 + }, + { + "direction": "recv", + "type": "text", + "payload": "{\"id\":5,\"type\":\"result\",\"success\":true,\"result\":null}", + "offset_ms": 1247 + } + ] + } + ] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_async_entity_get_entity.json b/tests/cassettes/test_models/test_async_entity_get_entity.json new file mode 100644 index 00000000..bdef752b --- /dev/null +++ b/tests/cassettes/test_models/test_async_entity_get_entity.json @@ -0,0 +1,138 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.069442+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/person.test_user", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "421" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/person.test_user" + }, + "recorded_at": "2026-04-21T02:58:33.070567+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/person.test_user", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "421" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/person.test_user" + }, + "recorded_at": "2026-04-21T02:58:33.070567+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_async_entity_get_history.json b/tests/cassettes/test_models/test_async_entity_get_history.json new file mode 100644 index 00000000..50dcba4a --- /dev/null +++ b/tests/cassettes/test_models/test_async_entity_get_history.json @@ -0,0 +1,141 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.159289+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "638" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.86,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:32.431020+00:00\",\"last_reported\":\"2026-04-21T02:58:32.431020+00:00\",\"last_updated\":\"2026-04-21T02:58:32.431020+00:00\",\"context\":{\"id\":\"01KPPZK9BFJ26HRJ8Y6G5FCRFF\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.sun" + }, + "recorded_at": "2026-04-21T02:58:33.160970+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/history/period?filter_entity_id=sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "462" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[[{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-20T02:58:33.161557+00:00\",\"last_updated\":\"2026-04-20T02:58:33.161557+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:31.247873+00:00\",\"last_updated\":\"2026-04-21T01:51:31.247873+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:53.903872+00:00\",\"last_updated\":\"2026-04-21T01:51:53.903872+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:53.906573+00:00\",\"last_updated\":\"2026-04-21T01:51:53.906573+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:53.913278+00:00\",\"last_updated\":\"2026-04-21T01:51:53.913278+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:53.915127+00:00\",\"last_updated\":\"2026-04-21T01:51:53.915127+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:55.084844+00:00\",\"last_updated\":\"2026-04-21T01:51:55.084844+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:55.094790+00:00\",\"last_updated\":\"2026-04-21T01:51:55.094790+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:55.110192+00:00\",\"last_updated\":\"2026-04-21T01:51:55.110192+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:55.112527+00:00\",\"last_updated\":\"2026-04-21T01:51:55.112527+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:48:31.001566+00:00\",\"last_updated\":\"2026-04-21T02:48:31.001566+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:48:31.004039+00:00\",\"last_updated\":\"2026-04-21T02:48:31.004039+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:48:31.013509+00:00\",\"last_updated\":\"2026-04-21T02:48:31.013509+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:48:31.016501+00:00\",\"last_updated\":\"2026-04-21T02:48:31.016501+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:04.542192+00:00\",\"last_updated\":\"2026-04-21T02:55:04.542192+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:04.557678+00:00\",\"last_updated\":\"2026-04-21T02:55:04.557678+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:04.565397+00:00\",\"last_updated\":\"2026-04-21T02:55:04.565397+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:04.568086+00:00\",\"last_updated\":\"2026-04-21T02:55:04.568086+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:06.194407+00:00\",\"last_updated\":\"2026-04-21T02:55:06.194407+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.196543+00:00\",\"last_updated\":\"2026-04-21T02:55:06.196543+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:06.204598+00:00\",\"last_updated\":\"2026-04-21T02:55:06.204598+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_updated\":\"2026-04-21T02:55:06.207470+00:00\"}]]" + }, + "protocol": null, + "url": "http://localhost:8123/api/history/period?filter_entity_id=sun.sun" + }, + "recorded_at": "2026-04-21T02:58:33.163141+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_async_entity_get_history_none.json b/tests/cassettes/test_models/test_async_entity_get_history_none.json new file mode 100644 index 00000000..626a614b --- /dev/null +++ b/tests/cassettes/test_models/test_async_entity_get_history_none.json @@ -0,0 +1,141 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.183869+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.red_sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "336" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:58:33.089111+00:00\",\"last_reported\":\"2026-04-21T02:58:33.089111+00:00\",\"last_updated\":\"2026-04-21T02:58:33.089111+00:00\",\"context\":{\"id\":\"01KPPZKA0186FRXEWQVQ98VFM1\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.red_sun" + }, + "recorded_at": "2026-04-21T02:58:33.184969+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/history/period/2015-01-01T00:00:00+00:00?filter_entity_id=sun.red_sun&end_time=2020-01-01T00%3A00%3A01%2B00%3A00", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "10" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[]" + }, + "protocol": null, + "url": "http://localhost:8123/api/history/period/2015-01-01T00:00:00+00:00?filter_entity_id=sun.red_sun&end_time=2020-01-01T00%3A00%3A01%2B00%3A00" + }, + "recorded_at": "2026-04-21T02:58:33.185895+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_async_entity_update_state.json b/tests/cassettes/test_models/test_async_entity_update_state.json new file mode 100644 index 00000000..1589b020 --- /dev/null +++ b/tests/cassettes/test_models/test_async_entity_update_state.json @@ -0,0 +1,144 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.086933+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.red_sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "338" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of your hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:58:33.077073+00:00\",\"last_reported\":\"2026-04-21T02:58:33.077073+00:00\",\"last_updated\":\"2026-04-21T02:58:33.077073+00:00\",\"context\":{\"id\":\"01KPPZK9ZN1BK4HTV059DQAWQC\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.red_sun" + }, + "recorded_at": "2026-04-21T02:58:33.088429+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/states/sun.red_sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Location": [ + "/api/states/sun.red_sun" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "221" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:58:33.089111+00:00\",\"last_reported\":\"2026-04-21T02:58:33.089111+00:00\",\"last_updated\":\"2026-04-21T02:58:33.089111+00:00\",\"context\":{\"id\":\"01KPPZKA0186FRXEWQVQ98VFM1\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.red_sun" + }, + "recorded_at": "2026-04-21T02:58:33.089976+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_async_fire_event.json b/tests/cassettes/test_models/test_async_fire_event.json new file mode 100644 index 00000000..85b8d0cd --- /dev/null +++ b/tests/cassettes/test_models/test_async_fire_event.json @@ -0,0 +1,144 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.114518+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/events", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "218" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[{\"event\":\"*\",\"listener_count\":1},{\"event\":\"logging_changed\",\"listener_count\":1},{\"event\":\"entity_registry_updated\",\"listener_count\":6},{\"event\":\"homeassistant_start\",\"listener_count\":1},{\"event\":\"homeassistant_stop\",\"listener_count\":52},{\"event\":\"core_config_updated\",\"listener_count\":3},{\"event\":\"floor_registry_updated\",\"listener_count\":1},{\"event\":\"label_registry_updated\",\"listener_count\":3},{\"event\":\"device_registry_updated\",\"listener_count\":2},{\"event\":\"labs_updated\",\"listener_count\":5},{\"event\":\"component_loaded\",\"listener_count\":1},{\"event\":\"category_registry_updated\",\"listener_count\":1},{\"event\":\"homeassistant_final_write\",\"listener_count\":5},{\"event\":\"homeassistant_close\",\"listener_count\":6},{\"event\":\"state_changed\",\"listener_count\":3},{\"event\":\"user_removed\",\"listener_count\":1}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/events" + }, + "recorded_at": "2026-04-21T02:58:33.116378+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/events/core_config_updated", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "54" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"Event core_config_updated fired.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/events/core_config_updated" + }, + "recorded_at": "2026-04-21T02:58:33.117511+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_async_get_domains.json b/tests/cassettes/test_models/test_async_get_domains.json new file mode 100644 index 00000000..56276b35 --- /dev/null +++ b/tests/cassettes/test_models/test_async_get_domains.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.136011+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:33.138316+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_async_get_event.json b/tests/cassettes/test_models/test_async_get_event.json new file mode 100644 index 00000000..69482c3f --- /dev/null +++ b/tests/cassettes/test_models/test_async_get_event.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.099079+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/events", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "218" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[{\"event\":\"*\",\"listener_count\":1},{\"event\":\"logging_changed\",\"listener_count\":1},{\"event\":\"entity_registry_updated\",\"listener_count\":6},{\"event\":\"homeassistant_start\",\"listener_count\":1},{\"event\":\"homeassistant_stop\",\"listener_count\":52},{\"event\":\"core_config_updated\",\"listener_count\":3},{\"event\":\"floor_registry_updated\",\"listener_count\":1},{\"event\":\"label_registry_updated\",\"listener_count\":3},{\"event\":\"device_registry_updated\",\"listener_count\":2},{\"event\":\"labs_updated\",\"listener_count\":5},{\"event\":\"component_loaded\",\"listener_count\":1},{\"event\":\"category_registry_updated\",\"listener_count\":1},{\"event\":\"homeassistant_final_write\",\"listener_count\":5},{\"event\":\"homeassistant_close\",\"listener_count\":6},{\"event\":\"state_changed\",\"listener_count\":3},{\"event\":\"user_removed\",\"listener_count\":1}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/events" + }, + "recorded_at": "2026-04-21T02:58:33.100635+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_base_domain_from_json_invalid_services_type.json b/tests/cassettes/test_models/test_base_domain_from_json_invalid_services_type.json new file mode 100644 index 00000000..ef87bb30 --- /dev/null +++ b/tests/cassettes/test_models/test_base_domain_from_json_invalid_services_type.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.190021+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_domain_from_json_with_client_missing_keys.json b/tests/cassettes/test_models/test_domain_from_json_with_client_missing_keys.json new file mode 100644 index 00000000..61657b3e --- /dev/null +++ b/tests/cassettes/test_models/test_domain_from_json_with_client_missing_keys.json @@ -0,0 +1,52 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.179272+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_domain_service_attribute_access.json b/tests/cassettes/test_models/test_domain_service_attribute_access.json new file mode 100644 index 00000000..62963cec --- /dev/null +++ b/tests/cassettes/test_models/test_domain_service_attribute_access.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.196992+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:33.200935+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_entity_get_entity.json b/tests/cassettes/test_models/test_entity_get_entity.json new file mode 100644 index 00000000..2f414ab7 --- /dev/null +++ b/tests/cassettes/test_models/test_entity_get_entity.json @@ -0,0 +1,138 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.059184+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/person.test_user", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "421" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/person.test_user" + }, + "recorded_at": "2026-04-21T02:58:33.063916+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/person.test_user", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "421" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"person.test_user\",\"state\":\"unknown\",\"attributes\":{\"editable\":true,\"id\":\"test_user\",\"device_trackers\":[],\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\",\"friendly_name\":\"Test User\"},\"last_changed\":\"2026-04-21T01:51:30.362446+00:00\",\"last_reported\":\"2026-04-21T01:51:31.845948+00:00\",\"last_updated\":\"2026-04-21T01:51:31.844364+00:00\",\"context\":{\"id\":\"01KPPVRK04YQR5A8QNCNB1FW24\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/person.test_user" + }, + "recorded_at": "2026-04-21T02:58:33.063916+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_entity_get_history.json b/tests/cassettes/test_models/test_entity_get_history.json new file mode 100644 index 00000000..5dc32c5c --- /dev/null +++ b/tests/cassettes/test_models/test_entity_get_history.json @@ -0,0 +1,141 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.150879+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "638" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"next_dawn\":\"2026-04-21T03:45:01.401629+00:00\",\"next_dusk\":\"2026-04-21T19:34:41.134215+00:00\",\"next_midnight\":\"2026-04-21T23:38:57+00:00\",\"next_noon\":\"2026-04-21T11:39:14+00:00\",\"next_rising\":\"2026-04-21T04:25:11.997956+00:00\",\"next_setting\":\"2026-04-21T18:54:15.247749+00:00\",\"elevation\":-12.86,\"azimuth\":50.1,\"rising\":true,\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:58:32.431020+00:00\",\"last_reported\":\"2026-04-21T02:58:32.431020+00:00\",\"last_updated\":\"2026-04-21T02:58:32.431020+00:00\",\"context\":{\"id\":\"01KPPZK9BFJ26HRJ8Y6G5FCRFF\",\"parent_id\":null,\"user_id\":null}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.sun" + }, + "recorded_at": "2026-04-21T02:58:33.152908+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/history/period?filter_entity_id=sun.sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "461" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[[{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-20T02:58:33.153640+00:00\",\"last_updated\":\"2026-04-20T02:58:33.153640+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:31.247873+00:00\",\"last_updated\":\"2026-04-21T01:51:31.247873+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:53.903872+00:00\",\"last_updated\":\"2026-04-21T01:51:53.903872+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:53.906573+00:00\",\"last_updated\":\"2026-04-21T01:51:53.906573+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:53.913278+00:00\",\"last_updated\":\"2026-04-21T01:51:53.913278+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:53.915127+00:00\",\"last_updated\":\"2026-04-21T01:51:53.915127+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:55.084844+00:00\",\"last_updated\":\"2026-04-21T01:51:55.084844+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:55.094790+00:00\",\"last_updated\":\"2026-04-21T01:51:55.094790+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T01:51:55.110192+00:00\",\"last_updated\":\"2026-04-21T01:51:55.110192+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T01:51:55.112527+00:00\",\"last_updated\":\"2026-04-21T01:51:55.112527+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:48:31.001566+00:00\",\"last_updated\":\"2026-04-21T02:48:31.001566+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:48:31.004039+00:00\",\"last_updated\":\"2026-04-21T02:48:31.004039+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:48:31.013509+00:00\",\"last_updated\":\"2026-04-21T02:48:31.013509+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:48:31.016501+00:00\",\"last_updated\":\"2026-04-21T02:48:31.016501+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:04.542192+00:00\",\"last_updated\":\"2026-04-21T02:55:04.542192+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:04.557678+00:00\",\"last_updated\":\"2026-04-21T02:55:04.557678+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:04.565397+00:00\",\"last_updated\":\"2026-04-21T02:55:04.565397+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:04.568086+00:00\",\"last_updated\":\"2026-04-21T02:55:04.568086+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:06.194407+00:00\",\"last_updated\":\"2026-04-21T02:55:06.194407+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.196543+00:00\",\"last_updated\":\"2026-04-21T02:55:06.196543+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:55:06.204598+00:00\",\"last_updated\":\"2026-04-21T02:55:06.204598+00:00\"},{\"entity_id\":\"sun.sun\",\"state\":\"below_horizon\",\"attributes\":{\"friendly_name\":\"Sun\"},\"last_changed\":\"2026-04-21T02:55:06.207470+00:00\",\"last_updated\":\"2026-04-21T02:55:06.207470+00:00\"}]]" + }, + "protocol": null, + "url": "http://localhost:8123/api/history/period?filter_entity_id=sun.sun" + }, + "recorded_at": "2026-04-21T02:58:33.155353+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_entity_get_history_none.json b/tests/cassettes/test_models/test_entity_get_history_none.json new file mode 100644 index 00000000..0d229503 --- /dev/null +++ b/tests/cassettes/test_models/test_entity_get_history_none.json @@ -0,0 +1,141 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.169186+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.red_sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "336" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of my hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:58:33.089111+00:00\",\"last_reported\":\"2026-04-21T02:58:33.089111+00:00\",\"last_updated\":\"2026-04-21T02:58:33.089111+00:00\",\"context\":{\"id\":\"01KPPZKA0186FRXEWQVQ98VFM1\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.red_sun" + }, + "recorded_at": "2026-04-21T02:58:33.171826+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/history/period/2015-01-01T00:00:00+00:00?filter_entity_id=sun.red_sun&end_time=2020-01-01T00%3A00%3A01%2B00%3A00", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "10" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[]" + }, + "protocol": null, + "url": "http://localhost:8123/api/history/period/2015-01-01T00:00:00+00:00?filter_entity_id=sun.red_sun&end_time=2020-01-01T00%3A00%3A01%2B00%3A00" + }, + "recorded_at": "2026-04-21T02:58:33.175377+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_entity_update_state.json b/tests/cassettes/test_models/test_entity_update_state.json new file mode 100644 index 00000000..48353558 --- /dev/null +++ b/tests/cassettes/test_models/test_entity_update_state.json @@ -0,0 +1,144 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.073898+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/states/sun.red_sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "336" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.red_sun\",\"state\":\"beyond_our_solar_system\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:58:30.916545+00:00\",\"last_reported\":\"2026-04-21T02:58:30.916545+00:00\",\"last_updated\":\"2026-04-21T02:58:30.916545+00:00\",\"context\":{\"id\":\"01KPPZK7W4XQ5ADNCS7MNSGXAN\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.red_sun" + }, + "recorded_at": "2026-04-21T02:58:33.076143+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/states/sun.red_sun", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Location": [ + "/api/states/sun.red_sun" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "222" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"entity_id\":\"sun.red_sun\",\"state\":\"In the palm of your hand.\",\"attributes\":{},\"last_changed\":\"2026-04-21T02:58:33.077073+00:00\",\"last_reported\":\"2026-04-21T02:58:33.077073+00:00\",\"last_updated\":\"2026-04-21T02:58:33.077073+00:00\",\"context\":{\"id\":\"01KPPZK9ZN1BK4HTV059DQAWQC\",\"parent_id\":null,\"user_id\":\"e85fc7b7b8924dc9b024ce90ad23799e\"}}" + }, + "protocol": null, + "url": "http://localhost:8123/api/states/sun.red_sun" + }, + "recorded_at": "2026-04-21T02:58:33.078574+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_fire_event.json b/tests/cassettes/test_models/test_fire_event.json new file mode 100644 index 00000000..62bd1536 --- /dev/null +++ b/tests/cassettes/test_models/test_fire_event.json @@ -0,0 +1,144 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.105458+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/events", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "218" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[{\"event\":\"*\",\"listener_count\":1},{\"event\":\"logging_changed\",\"listener_count\":1},{\"event\":\"entity_registry_updated\",\"listener_count\":6},{\"event\":\"homeassistant_start\",\"listener_count\":1},{\"event\":\"homeassistant_stop\",\"listener_count\":52},{\"event\":\"core_config_updated\",\"listener_count\":3},{\"event\":\"floor_registry_updated\",\"listener_count\":1},{\"event\":\"label_registry_updated\",\"listener_count\":3},{\"event\":\"device_registry_updated\",\"listener_count\":2},{\"event\":\"labs_updated\",\"listener_count\":5},{\"event\":\"component_loaded\",\"listener_count\":1},{\"event\":\"category_registry_updated\",\"listener_count\":1},{\"event\":\"homeassistant_final_write\",\"listener_count\":5},{\"event\":\"homeassistant_close\",\"listener_count\":6},{\"event\":\"state_changed\",\"listener_count\":3},{\"event\":\"user_removed\",\"listener_count\":1}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/events" + }, + "recorded_at": "2026-04-21T02:58:33.107917+00:00" + }, + { + "request": { + "method": "POST", + "uri": "http://localhost:8123/api/events/core_config_updated", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "54" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"Event core_config_updated fired.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/events/core_config_updated" + }, + "recorded_at": "2026-04-21T02:58:33.109563+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_get_domain.json b/tests/cassettes/test_models/test_get_domain.json new file mode 100644 index 00000000..af0ced3f --- /dev/null +++ b/tests/cassettes/test_models/test_get_domain.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.122065+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/services", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "8235" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[{\"domain\":\"homeassistant\",\"services\":{\"save_persistent_states\":{\"fields\":{}},\"turn_off\":{\"fields\":{},\"target\":{}},\"turn_on\":{\"fields\":{},\"target\":{}},\"toggle\":{\"fields\":{},\"target\":{}},\"stop\":{\"fields\":{}},\"restart\":{\"fields\":{}},\"check_config\":{\"fields\":{}},\"update_entity\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"reload_core_config\":{\"fields\":{}},\"set_location\":{\"fields\":{\"latitude\":{\"required\":true,\"example\":32.87336,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-90.0,\"max\":90.0,\"step\":\"any\"}}},\"longitude\":{\"required\":true,\"example\":117.22743,\"selector\":{\"number\":{\"mode\":\"box\",\"min\":-180.0,\"max\":180.0,\"step\":\"any\"}}},\"elevation\":{\"required\":false,\"example\":120,\"selector\":{\"number\":{\"mode\":\"box\",\"step\":\"any\"}}}}},\"reload_custom_templates\":{\"fields\":{}},\"reload_config_entry\":{\"fields\":{\"entry_id\":{\"advanced\":true,\"required\":false,\"example\":\"8955375327824e14ba89e4b29cc3ec9a\",\"selector\":{\"config_entry\":{}}}},\"target\":{}},\"reload_all\":{\"fields\":{}}}},{\"domain\":\"persistent_notification\",\"services\":{\"create\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Please check your configuration.yaml.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Test notification\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"notification_id\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss\":{\"fields\":{\"notification_id\":{\"required\":true,\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}},\"dismiss_all\":{\"fields\":{}}}},{\"domain\":\"system_log\",\"services\":{\"clear\":{\"fields\":{}},\"write\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"Something went wrong\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"level\":{\"default\":\"error\",\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"logger\":{\"example\":\"mycomponent.myplatform\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"logger\",\"services\":{\"set_default_level\":{\"fields\":{\"level\":{\"selector\":{\"select\":{\"options\":[\"debug\",\"info\",\"warning\",\"error\",\"fatal\",\"critical\"],\"translation_key\":\"level\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}},\"set_level\":{\"fields\":{}}}},{\"domain\":\"frontend\",\"services\":{\"set_theme\":{\"fields\":{\"name\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}},\"name_dark\":{\"required\":false,\"example\":\"default\",\"selector\":{\"theme\":{\"include_default\":true}}}}},\"reload_themes\":{\"fields\":{}}}},{\"domain\":\"recorder\",\"services\":{\"purge\":{\"fields\":{\"keep_days\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}},\"repack\":{\"default\":false,\"selector\":{\"boolean\":{}}},\"apply_filter\":{\"default\":false,\"selector\":{\"boolean\":{}}}}},\"purge_entities\":{\"fields\":{\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}},\"domains\":{\"example\":\"sun\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"entity_globs\":{\"example\":\"domain*.object_id*\",\"required\":false,\"selector\":{\"object\":{\"multiple\":false}}},\"keep_days\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":365.0,\"unit_of_measurement\":\"days\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"enable\":{\"fields\":{}},\"disable\":{\"fields\":{}},\"get_statistics\":{\"fields\":{\"start_time\":{\"required\":true,\"example\":\"2025-01-01 00:00:00\",\"selector\":{\"datetime\":{}}},\"end_time\":{\"required\":false,\"example\":\"2025-01-02 00:00:00\",\"selector\":{\"datetime\":{}}},\"statistic_ids\":{\"required\":true,\"example\":[\"sensor.energy_consumption\",\"sensor.temperature\"],\"selector\":{\"statistic\":{\"multiple\":true}}},\"period\":{\"required\":true,\"example\":\"hour\",\"selector\":{\"select\":{\"options\":[\"5minute\",\"hour\",\"day\",\"week\",\"month\",\"year\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"types\":{\"required\":true,\"example\":[\"mean\",\"sum\"],\"selector\":{\"select\":{\"options\":[\"change\",\"last_reset\",\"max\",\"mean\",\"min\",\"state\",\"sum\"],\"multiple\":true,\"sort\":false,\"custom_value\":false}}},\"units\":{\"required\":false,\"example\":{\"energy\":\"kWh\",\"temperature\":\"°C\"},\"selector\":{\"object\":{\"multiple\":false}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"climate\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[256]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[128,256]}]}},\"set_hvac_mode\":{\"fields\":{\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[16]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_high\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"target_temp_low\":{\"filter\":{\"supported_features\":[2]},\"advanced\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.1,\"mode\":\"box\"}}},\"hvac_mode\":{\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[1,2]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":30.0,\"max\":99.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[4]}]}},\"set_fan_mode\":{\"fields\":{\"fan_mode\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[8]}]}},\"set_swing_mode\":{\"fields\":{\"swing_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[32]}]}},\"set_swing_horizontal_mode\":{\"fields\":{\"swing_horizontal_mode\":{\"required\":true,\"example\":\"on\",\"selector\":{\"state\":{\"attribute\":\"swing_horizontal_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"climate\"],\"supported_features\":[512]}]}}}},{\"domain\":\"media_player\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[128]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[256]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[384]}]}},\"volume_up\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"volume_down\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4,1024]}]}},\"media_play_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16385]}]}},\"media_play\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16384]}]}},\"media_pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[1]}]}},\"media_stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4096]}]}},\"media_next_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32]}]}},\"media_previous_track\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[16]}]}},\"clear_playlist\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8192]}]}},\"volume_set\":{\"fields\":{\"volume_level\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.01,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4]}]}},\"volume_mute\":{\"fields\":{\"is_volume_muted\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[8]}]}},\"media_seek\":{\"fields\":{\"seek_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.01,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2]}]}},\"join\":{\"fields\":{\"group_members\":{\"required\":true,\"example\":\"- media_player.multiroom_player2\\n- media_player.multiroom_player3\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"domain\":[\"media_player\"],\"reorder\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"select_source\":{\"fields\":{\"source\":{\"required\":true,\"example\":\"video1\",\"selector\":{\"state\":{\"attribute\":\"source\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[2048]}]}},\"select_sound_mode\":{\"fields\":{\"sound_mode\":{\"example\":\"Music\",\"selector\":{\"state\":{\"attribute\":\"sound_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[65536]}]}},\"play_media\":{\"fields\":{\"media\":{\"required\":true,\"selector\":{\"media\":{\"multiple\":false}},\"example\":\"{\\\"media_content_id\\\": \\\"https://home-assistant.io/images/cast/splash.png\\\", \\\"media_content_type\\\": \\\"music\\\"}\"},\"enqueue\":{\"filter\":{\"supported_features\":[2097152]},\"required\":false,\"selector\":{\"select\":{\"options\":[\"play\",\"next\",\"add\",\"replace\"],\"translation_key\":\"enqueue\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"announce\":{\"filter\":{\"supported_features\":[1048576]},\"required\":false,\"example\":\"true\",\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[512]}]}},\"browse_media\":{\"fields\":{\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[131072]}]},\"response\":{\"optional\":false}},\"search_media\":{\"fields\":{\"search_query\":{\"required\":true,\"example\":\"Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_type\":{\"required\":false,\"example\":\"music\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_content_id\":{\"required\":false,\"example\":\"A:ALBUMARTIST/Beatles\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_filter_classes\":{\"required\":false,\"example\":[\"album\",\"artist\"],\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[4194304]}]},\"response\":{\"optional\":false}},\"shuffle_set\":{\"fields\":{\"shuffle\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[32768]}]}},\"unjoin\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[524288]}]}},\"repeat_set\":{\"fields\":{\"repeat\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"off\",\"all\",\"one\"],\"translation_key\":\"repeat\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"media_player\"],\"supported_features\":[262144]}]}}}},{\"domain\":\"lock\",\"services\":{\"unlock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"lock\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"]}]}},\"open\":{\"fields\":{\"code\":{\"example\":1234,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"lock\"],\"supported_features\":[1]}]}}}},{\"domain\":\"fan\",\"services\":{\"turn_on\":{\"fields\":{\"percentage\":{\"filter\":{\"supported_features\":[1]},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"preset_mode\":{\"example\":\"auto\",\"filter\":{\"supported_features\":[8]},\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[32]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[16]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"fan\"]}]}},\"increase_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"decrease_speed\":{\"fields\":{\"percentage_step\":{\"advanced\":true,\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"oscillate\":{\"fields\":{\"oscillating\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[2]}]}},\"set_direction\":{\"fields\":{\"direction\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"forward\",\"reverse\"],\"translation_key\":\"direction\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[4]}]}},\"set_percentage\":{\"fields\":{\"percentage\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[1]}]}},\"set_preset_mode\":{\"fields\":{\"preset_mode\":{\"required\":true,\"example\":\"auto\",\"selector\":{\"state\":{\"attribute\":\"preset_mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"fan\"],\"supported_features\":[8]}]}}}},{\"domain\":\"alarm_control_panel\",\"services\":{\"alarm_disarm\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"]}]}},\"alarm_arm_home\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[1]}]}},\"alarm_arm_away\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[2]}]}},\"alarm_arm_night\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[4]}]}},\"alarm_arm_vacation\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[32]}]}},\"alarm_arm_custom_bypass\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[16]}]}},\"alarm_trigger\":{\"fields\":{\"code\":{\"example\":\"1234\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"alarm_control_panel\"],\"supported_features\":[8]}]}}}},{\"domain\":\"valve\",\"services\":{\"open_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[1]}]}},\"close_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[2]}]}},\"set_valve_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[4]}]}},\"stop_valve\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"valve\"],\"supported_features\":[3]}]}}}},{\"domain\":\"button\",\"services\":{\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"button\"]}]}}}},{\"domain\":\"notify\",\"services\":{\"send_message\":{\"fields\":{\"message\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}},\"filter\":{\"supported_features\":[1]}}},\"target\":{\"entity\":[{\"domain\":[\"notify\"]}]}},\"persistent_notification\":{\"fields\":{\"message\":{\"required\":true,\"example\":\"The garage door has been open for 10 minutes.\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"title\":{\"example\":\"Your Garage Door Friend\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"data\":{\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}}}}},{\"domain\":\"switch\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"switch\"]}]}}}},{\"domain\":\"vacuum\",\"services\":{\"start\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8192]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[4]}]}},\"return_to_base\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16]}]}},\"clean_spot\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"clean_area\":{\"fields\":{\"cleaning_area_id\":{\"required\":true,\"selector\":{\"area\":{\"multiple\":true,\"reorder\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[16384]}]}},\"locate\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[512]}]}},\"stop\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"],\"supported_features\":[8]}]}},\"set_fan_speed\":{\"fields\":{\"fan_speed\":{\"required\":true,\"example\":\"low\",\"selector\":{\"state\":{\"attribute\":\"fan_speed\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}},\"send_command\":{\"fields\":{\"command\":{\"required\":true,\"example\":\"set_dnd_timer\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"params\":{\"example\":\"{ \\\"key\\\": \\\"value\\\" }\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"vacuum\"]}]}}}},{\"domain\":\"zone\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"cover\",\"services\":{\"open_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[1]}]}},\"close_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[2]}]}},\"set_cover_position\":{\"fields\":{\"position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[4]}]}},\"stop_cover\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[8]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[3]}]}},\"open_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[16]}]}},\"close_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[32]}]}},\"stop_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[64]}]}},\"set_cover_tilt_position\":{\"fields\":{\"tilt_position\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[128]}]}},\"toggle_cover_tilt\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"cover\"],\"supported_features\":[48]}]}}}},{\"domain\":\"number\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"example\":42,\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"number\"]}]}}}},{\"domain\":\"scene\",\"services\":{\"reload\":{\"fields\":{}},\"apply\":{\"fields\":{\"entities\":{\"required\":true,\"example\":\"light.kitchen: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 80\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}}},\"create\":{\"fields\":{\"scene_id\":{\"required\":true,\"example\":\"all_lights\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entities\":{\"advanced\":true,\"example\":\"light.tv_back_light: \\\"on\\\"\\nlight.ceiling:\\n state: \\\"on\\\"\\n brightness: 200\\n\",\"selector\":{\"object\":{\"multiple\":false}}},\"snapshot_entities\":{\"example\":\"- light.ceiling\\n- light.kitchen\\n\",\"selector\":{\"entity\":{\"multiple\":true,\"reorder\":false}}}}},\"delete\":{\"fields\":{},\"target\":{\"entity\":[{\"integration\":\"homeassistant\",\"domain\":[\"scene\"]}]}},\"turn_on\":{\"fields\":{\"transition\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"scene\"]}]}}}},{\"domain\":\"water_heater\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_away_mode\":{\"fields\":{\"away_mode\":{\"required\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_temperature\":{\"fields\":{\"temperature\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":250.0,\"step\":0.5,\"mode\":\"box\",\"unit_of_measurement\":\"°\"}}},\"operation_mode\":{\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}},\"set_operation_mode\":{\"fields\":{\"operation_mode\":{\"required\":true,\"example\":\"eco\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"water_heater\"]}]}}}},{\"domain\":\"light\",\"services\":{\"turn_on\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-100.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"brightness_step\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":-225.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"turn_off\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}},\"toggle\":{\"fields\":{\"transition\":{\"filter\":{\"supported_features\":[32]},\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"rgb_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100]\",\"selector\":{\"color_rgb\":{}}},\"color_temp_kelvin\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"color_temp\":{\"unit\":\"kelvin\",\"min\":2000,\"max\":6500}}},\"brightness_pct\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}},\"effect\":{\"filter\":{\"supported_features\":[4]},\"selector\":{\"state\":{\"attribute\":\"effect\",\"multiple\":false}}},\"advanced_fields\":{\"collapsed\":true,\"fields\":{\"rgbw_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50]\",\"selector\":{\"object\":{\"multiple\":false}}},\"rgbww_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[255, 100, 100, 50, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"color_name\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"select\":{\"translation_key\":\"color_name\",\"options\":[\"homeassistant\",\"aliceblue\",\"antiquewhite\",\"aqua\",\"aquamarine\",\"azure\",\"beige\",\"bisque\",\"blanchedalmond\",\"blue\",\"blueviolet\",\"brown\",\"burlywood\",\"cadetblue\",\"chartreuse\",\"chocolate\",\"coral\",\"cornflowerblue\",\"cornsilk\",\"crimson\",\"cyan\",\"darkblue\",\"darkcyan\",\"darkgoldenrod\",\"darkgray\",\"darkgreen\",\"darkgrey\",\"darkkhaki\",\"darkmagenta\",\"darkolivegreen\",\"darkorange\",\"darkorchid\",\"darkred\",\"darksalmon\",\"darkseagreen\",\"darkslateblue\",\"darkslategray\",\"darkslategrey\",\"darkturquoise\",\"darkviolet\",\"deeppink\",\"deepskyblue\",\"dimgray\",\"dimgrey\",\"dodgerblue\",\"firebrick\",\"floralwhite\",\"forestgreen\",\"fuchsia\",\"gainsboro\",\"ghostwhite\",\"gold\",\"goldenrod\",\"gray\",\"green\",\"greenyellow\",\"grey\",\"honeydew\",\"hotpink\",\"indianred\",\"indigo\",\"ivory\",\"khaki\",\"lavender\",\"lavenderblush\",\"lawngreen\",\"lemonchiffon\",\"lightblue\",\"lightcoral\",\"lightcyan\",\"lightgoldenrodyellow\",\"lightgray\",\"lightgreen\",\"lightgrey\",\"lightpink\",\"lightsalmon\",\"lightseagreen\",\"lightskyblue\",\"lightslategray\",\"lightslategrey\",\"lightsteelblue\",\"lightyellow\",\"lime\",\"limegreen\",\"linen\",\"magenta\",\"maroon\",\"mediumaquamarine\",\"mediumblue\",\"mediumorchid\",\"mediumpurple\",\"mediumseagreen\",\"mediumslateblue\",\"mediumspringgreen\",\"mediumturquoise\",\"mediumvioletred\",\"midnightblue\",\"mintcream\",\"mistyrose\",\"moccasin\",\"navajowhite\",\"navy\",\"navyblue\",\"oldlace\",\"olive\",\"olivedrab\",\"orange\",\"orangered\",\"orchid\",\"palegoldenrod\",\"palegreen\",\"paleturquoise\",\"palevioletred\",\"papayawhip\",\"peachpuff\",\"peru\",\"pink\",\"plum\",\"powderblue\",\"purple\",\"red\",\"rosybrown\",\"royalblue\",\"saddlebrown\",\"salmon\",\"sandybrown\",\"seagreen\",\"seashell\",\"sienna\",\"silver\",\"skyblue\",\"slateblue\",\"slategray\",\"slategrey\",\"snow\",\"springgreen\",\"steelblue\",\"tan\",\"teal\",\"thistle\",\"tomato\",\"turquoise\",\"violet\",\"wheat\",\"white\",\"whitesmoke\",\"yellow\",\"yellowgreen\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"hs_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[300, 70]\",\"selector\":{\"object\":{\"multiple\":false}}},\"xy_color\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"example\":\"[0.52, 0.43]\",\"selector\":{\"object\":{\"multiple\":false}}},\"brightness\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"brightness\",\"color_temp\",\"hs\",\"xy\",\"rgb\",\"rgbw\",\"rgbww\"]}},\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"white\":{\"filter\":{\"attribute\":{\"supported_color_modes\":[\"white\"]}},\"selector\":{\"constant\":{\"value\":true,\"label\":\"Enabled\"}}},\"profile\":{\"example\":\"relax\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"flash\":{\"filter\":{\"supported_features\":[8]},\"selector\":{\"select\":{\"translation_key\":\"flash\",\"options\":[\"long\",\"short\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}}}},\"target\":{\"entity\":[{\"domain\":[\"light\"]}]}}}},{\"domain\":\"automation\",\"services\":{\"trigger\":{\"fields\":{\"skip_condition\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"turn_off\":{\"fields\":{\"stop_actions\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"automation\"]}]}},\"reload\":{\"fields\":{}}}},{\"domain\":\"script\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"script\"]}]}}}},{\"domain\":\"input_number\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"step\":0.001,\"mode\":\"box\"}}}},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_number\"]}]}}}},{\"domain\":\"logbook\",\"services\":{\"log\":{\"fields\":{\"name\":{\"required\":true,\"example\":\"Kitchen\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"message\":{\"required\":true,\"example\":\"is being used\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"entity_id\":{\"selector\":{\"entity\":{\"reorder\":false,\"multiple\":false}}},\"domain\":{\"example\":\"light\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}}}}},{\"domain\":\"device_tracker\",\"services\":{\"see\":{\"fields\":{\"mac\":{\"example\":\"FF:FF:FF:FF:FF:FF\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"dev_id\":{\"example\":\"phonedave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"host_name\":{\"example\":\"Dave\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"location_name\":{\"example\":\"home\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"gps\":{\"example\":\"[51.509802, -0.086692]\",\"selector\":{\"object\":{\"multiple\":false}}},\"gps_accuracy\":{\"selector\":{\"number\":{\"min\":0.0,\"mode\":\"box\",\"unit_of_measurement\":\"m\",\"step\":1.0}}},\"battery\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}}}}},{\"domain\":\"person\",\"services\":{\"reload\":{\"fields\":{}}}},{\"domain\":\"backup\",\"services\":{\"create\":{\"fields\":{}},\"create_automatic\":{\"fields\":{}}}},{\"domain\":\"update\",\"services\":{\"install\":{\"fields\":{\"version\":{\"required\":false,\"example\":\"1.0.0\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"backup\":{\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"skip\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}},\"clear_skipped\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"update\"]}]}}}},{\"domain\":\"ffmpeg\",\"services\":{\"start\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"stop\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}},\"restart\":{\"fields\":{\"entity_id\":{\"selector\":{\"entity\":{\"integration\":\"ffmpeg\",\"domain\":[\"binary_sensor\"],\"reorder\":false,\"multiple\":false}}}}}}},{\"domain\":\"lawn_mower\",\"services\":{\"start_mowing\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[1]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[2]}]}},\"dock\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"lawn_mower\"],\"supported_features\":[4]}]}}}},{\"domain\":\"remote\",\"services\":{\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"turn_on\":{\"fields\":{\"activity\":{\"example\":\"BedroomTV\",\"filter\":{\"supported_features\":[4]},\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"send_command\":{\"fields\":{\"device\":{\"example\":\"32756745\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Play\",\"selector\":{\"object\":{\"multiple\":false}}},\"num_repeats\":{\"default\":1,\"selector\":{\"number\":{\"min\":0.0,\"max\":255.0,\"step\":1.0,\"mode\":\"slider\"}}},\"delay_secs\":{\"default\":0.4,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}},\"hold_secs\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":0.1,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"learn_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"example\":\"Turn on\",\"selector\":{\"object\":{\"multiple\":false}}},\"command_type\":{\"default\":\"ir\",\"selector\":{\"select\":{\"options\":[\"ir\",\"rf\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}},\"alternative\":{\"selector\":{\"boolean\":{}}},\"timeout\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":60.0,\"step\":5.0,\"unit_of_measurement\":\"seconds\",\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}},\"delete_command\":{\"fields\":{\"device\":{\"example\":\"television\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"command\":{\"required\":true,\"example\":\"Mute\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"remote\"]}]}}}},{\"domain\":\"date\",\"services\":{\"set_value\":{\"fields\":{\"date\":{\"required\":true,\"example\":\"2022/11/01\",\"selector\":{\"date\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"date\"]}]}}}},{\"domain\":\"select\",\"services\":{\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"select\"]}]}}}},{\"domain\":\"image\",\"services\":{\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/image_snapshot.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"image\"]}]}}}},{\"domain\":\"humidifier\",\"services\":{\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}},\"set_mode\":{\"fields\":{\"mode\":{\"required\":true,\"example\":\"away\",\"selector\":{\"state\":{\"attribute\":\"mode\",\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"],\"supported_features\":[1]}]}},\"set_humidity\":{\"fields\":{\"humidity\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":100.0,\"unit_of_measurement\":\"%\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"humidifier\"]}]}}}},{\"domain\":\"weather\",\"services\":{\"get_forecasts\":{\"fields\":{\"type\":{\"required\":true,\"selector\":{\"select\":{\"options\":[\"daily\",\"hourly\",\"twice_daily\"],\"translation_key\":\"forecast_type\",\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"weather\"],\"supported_features\":[1,2,4]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"datetime\",\"services\":{\"set_value\":{\"fields\":{\"datetime\":{\"required\":true,\"example\":\"2023-10-07T21:35:22\",\"selector\":{\"datetime\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"datetime\"]}]}}}},{\"domain\":\"siren\",\"services\":{\"turn_on\":{\"fields\":{\"tone\":{\"example\":\"fire\",\"filter\":{\"supported_features\":[4]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"volume_level\":{\"example\":0.5,\"filter\":{\"supported_features\":[8]},\"required\":false,\"selector\":{\"number\":{\"min\":0.0,\"max\":1.0,\"step\":0.05,\"mode\":\"slider\"}}},\"duration\":{\"example\":15,\"filter\":{\"supported_features\":[16]},\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[1]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[2]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"siren\"],\"supported_features\":[3]}]}}}},{\"domain\":\"text\",\"services\":{\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"Hello world!\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"text\"]}]}}}},{\"domain\":\"time\",\"services\":{\"set_value\":{\"fields\":{\"time\":{\"required\":true,\"example\":\"22:15\",\"selector\":{\"time\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"time\"]}]}}}},{\"domain\":\"counter\",\"services\":{\"increment\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"decrement\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"reset\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"counter\"]}]}}}},{\"domain\":\"input_boolean\",\"services\":{\"reload\":{\"fields\":{}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}},\"toggle\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_boolean\"]}]}}}},{\"domain\":\"input_text\",\"services\":{\"reload\":{\"fields\":{}},\"set_value\":{\"fields\":{\"value\":{\"required\":true,\"example\":\"This is an example text\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_text\"]}]}}}},{\"domain\":\"schedule\",\"services\":{\"reload\":{\"fields\":{}},\"get_schedule\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"schedule\"]}]},\"response\":{\"optional\":false}}}},{\"domain\":\"input_datetime\",\"services\":{\"reload\":{\"fields\":{}},\"set_datetime\":{\"fields\":{\"date\":{\"example\":\"\\\"2019-04-20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"time\":{\"example\":\"\\\"05:04:20\\\"\",\"selector\":{\"time\":{}}},\"datetime\":{\"example\":\"\\\"2019-04-20 05:04:20\\\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"timestamp\":{\"selector\":{\"number\":{\"min\":0.0,\"max\":9.223372036854776e+18,\"mode\":\"box\",\"step\":1.0}}}},\"target\":{\"entity\":[{\"domain\":[\"input_datetime\"]}]}}}},{\"domain\":\"input_select\",\"services\":{\"reload\":{\"fields\":{}},\"select_first\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_last\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_next\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_option\":{\"fields\":{\"option\":{\"required\":true,\"example\":\"\\\"Item A\\\"\",\"selector\":{\"state\":{\"hide_states\":[\"unavailable\",\"unknown\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"select_previous\":{\"fields\":{\"cycle\":{\"default\":true,\"selector\":{\"boolean\":{}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}},\"set_options\":{\"fields\":{\"options\":{\"required\":true,\"example\":\"[\\\"Item A\\\", \\\"Item B\\\", \\\"Item C\\\"]\",\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"input_select\"]}]}}}},{\"domain\":\"timer\",\"services\":{\"reload\":{\"fields\":{}},\"start\":{\"fields\":{\"duration\":{\"example\":\"00:01:00 or 60\",\"selector\":{\"duration\":{\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"pause\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"cancel\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"finish\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}},\"change\":{\"fields\":{\"duration\":{\"default\":0,\"required\":true,\"example\":\"00:01:00, 60 or -60\",\"selector\":{\"duration\":{\"allow_negative\":true,\"enable_second\":true}}}},\"target\":{\"entity\":[{\"domain\":[\"timer\"]}]}}}},{\"domain\":\"input_button\",\"services\":{\"reload\":{\"fields\":{}},\"press\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"input_button\"]}]}}}},{\"domain\":\"conversation\",\"services\":{\"process\":{\"fields\":{\"text\":{\"example\":\"Turn all lights on\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}},\"conversation_id\":{\"example\":\"my_conversation_1\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"response\":{\"optional\":true}},\"reload\":{\"fields\":{\"language\":{\"example\":\"NL\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"agent_id\":{\"example\":\"homeassistant\",\"selector\":{\"conversation_agent\":{}}}}}}},{\"domain\":\"tts\",\"services\":{\"speak\":{\"fields\":{\"media_player_entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"message\":{\"example\":\"My name is hanna\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"cache\":{\"default\":true,\"selector\":{\"boolean\":{}}},\"language\":{\"example\":\"ru\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"options\":{\"advanced\":true,\"example\":\"platform specific\",\"selector\":{\"object\":{\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"tts\"]}]}},\"clear_cache\":{\"fields\":{}}}},{\"domain\":\"camera\",\"services\":{\"enable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"disable_motion_detection\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_off\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"turn_on\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"snapshot\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.jpg\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"play_stream\":{\"fields\":{\"media_player\":{\"required\":true,\"selector\":{\"entity\":{\"domain\":[\"media_player\"],\"reorder\":false,\"multiple\":false}}},\"format\":{\"default\":\"hls\",\"selector\":{\"select\":{\"options\":[\"hls\"],\"multiple\":false,\"sort\":false,\"custom_value\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}},\"record\":{\"fields\":{\"filename\":{\"required\":true,\"example\":\"/tmp/snapshot_{{ entity_id.name }}.mp4\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"duration\":{\"default\":30,\"selector\":{\"number\":{\"min\":1.0,\"max\":3600.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}},\"lookback\":{\"default\":0,\"selector\":{\"number\":{\"min\":0.0,\"max\":300.0,\"unit_of_measurement\":\"seconds\",\"step\":1.0,\"mode\":\"slider\"}}}},\"target\":{\"entity\":[{\"domain\":[\"camera\"]}]}}}},{\"domain\":\"ai_task\",\"services\":{\"generate_data\":{\"fields\":{\"task_name\":{\"example\":\"home summary\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a funny notification that the garage door was left open\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":false,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[1]}],\"reorder\":false,\"multiple\":false}}},\"structure\":{\"required\":false,\"example\":\"{ \\\"name\\\": { \\\"selector\\\": { \\\"text\\\": }, \\\"description\\\": \\\"Name of the user\\\", \\\"required\\\": \\\"True\\\" } } }, \\\"age\\\": { \\\"selector\\\": { \\\"number\\\": }, \\\"description\\\": \\\"Age of the user\\\" } }\",\"selector\":{\"object\":{\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}},\"generate_image\":{\"fields\":{\"task_name\":{\"example\":\"picture of a dog\",\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"instructions\":{\"example\":\"Generate a high quality square image of a dog on transparent background\",\"required\":true,\"selector\":{\"text\":{\"multiline\":true,\"multiple\":false}}},\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"ai_task\"],\"supported_features\":[4]}],\"reorder\":false,\"multiple\":false}}},\"attachments\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"*\"],\"multiple\":true}}}},\"response\":{\"optional\":false}}}},{\"domain\":\"image_processing\",\"services\":{\"scan\":{\"fields\":{},\"target\":{\"entity\":[{\"domain\":[\"image_processing\"]}]}}}},{\"domain\":\"assist_satellite\",\"services\":{\"announce\":{\"fields\":{\"message\":{\"required\":false,\"example\":\"Time to wake up!\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[1]}]}},\"start_conversation\":{\"fields\":{\"start_message\":{\"required\":false,\"example\":\"You left the lights on in the living room. Turn them off?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"start_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"extra_system_prompt\":{\"required\":false,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}}},\"target\":{\"entity\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}]}},\"ask_question\":{\"fields\":{\"entity_id\":{\"required\":true,\"selector\":{\"entity\":{\"filter\":[{\"domain\":[\"assist_satellite\"],\"supported_features\":[2]}],\"reorder\":false,\"multiple\":false}}},\"question\":{\"required\":false,\"example\":\"What kind of music would you like to play?\",\"default\":\"\",\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"question_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"preannounce\":{\"required\":false,\"default\":true,\"selector\":{\"boolean\":{}}},\"preannounce_media_id\":{\"required\":false,\"selector\":{\"media\":{\"accept\":[\"audio/*\"],\"multiple\":false}}},\"answers\":{\"required\":false,\"selector\":{\"object\":{\"label_field\":\"sentences\",\"description_field\":\"id\",\"multiple\":true,\"translation_key\":\"answers\",\"fields\":{\"id\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":false,\"multiline\":false}}},\"sentences\":{\"required\":true,\"selector\":{\"text\":{\"multiple\":true,\"multiline\":false}}}}}}}},\"response\":{\"optional\":false}}}}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/services" + }, + "recorded_at": "2026-04-21T02:58:33.126194+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/cassettes/test_models/test_get_event.json b/tests/cassettes/test_models/test_get_event.json new file mode 100644 index 00000000..f1a1c86f --- /dev/null +++ b/tests/cassettes/test_models/test_get_event.json @@ -0,0 +1,98 @@ +{ + "nimax_version": "1.0.0", + "http_interactions": [ + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "34" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "{\"message\":\"API running.\"}" + }, + "protocol": null, + "url": "http://localhost:8123/api/" + }, + "recorded_at": "2026-04-21T02:58:33.093324+00:00" + }, + { + "request": { + "method": "GET", + "uri": "http://localhost:8123/api/events", + "headers": {}, + "body": null + }, + "response": { + "status": { + "code": 200, + "message": "OK" + }, + "headers": { + "Content-Type": [ + "application/json" + ], + "Referrer-Policy": [ + "no-referrer" + ], + "X-Content-Type-Options": [ + "nosniff" + ], + "Server": [ + "" + ], + "X-Frame-Options": [ + "SAMEORIGIN" + ], + "Content-Length": [ + "218" + ], + "Content-Encoding": [ + "deflate" + ], + "Date": [ + "Tue, 21 Apr 2026 02:58:33 GMT" + ] + }, + "body": { + "string": "[{\"event\":\"*\",\"listener_count\":1},{\"event\":\"logging_changed\",\"listener_count\":1},{\"event\":\"entity_registry_updated\",\"listener_count\":6},{\"event\":\"homeassistant_start\",\"listener_count\":1},{\"event\":\"homeassistant_stop\",\"listener_count\":52},{\"event\":\"core_config_updated\",\"listener_count\":3},{\"event\":\"floor_registry_updated\",\"listener_count\":1},{\"event\":\"label_registry_updated\",\"listener_count\":3},{\"event\":\"device_registry_updated\",\"listener_count\":2},{\"event\":\"labs_updated\",\"listener_count\":5},{\"event\":\"component_loaded\",\"listener_count\":1},{\"event\":\"category_registry_updated\",\"listener_count\":1},{\"event\":\"homeassistant_final_write\",\"listener_count\":5},{\"event\":\"homeassistant_close\",\"listener_count\":6},{\"event\":\"state_changed\",\"listener_count\":3},{\"event\":\"user_removed\",\"listener_count\":1}]" + }, + "protocol": null, + "url": "http://localhost:8123/api/events" + }, + "recorded_at": "2026-04-21T02:58:33.094908+00:00" + } + ], + "websocket_sessions": [] +} \ No newline at end of file diff --git a/tests/conftest.py b/tests/conftest.py index 85a6439a..1350793d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,3 +1,11 @@ +""" +Reference implementation of pytest-niquests-cassettes. + +Each fixture depends on ``nimax_session`` or ``nimax_async_session``, which +activates a per-test cassette named after the test module and function. +Pass ``--record`` to record fresh cassettes from a live HA instance. +""" + import logging import os import time @@ -5,6 +13,7 @@ from collections.abc import Generator from http import HTTPMethod +import niquests import pytest import pytest_asyncio from niquests.exceptions import ConnectionError as RequestsConnectionError @@ -16,13 +25,18 @@ logger = logging.getLogger(__name__) TIMEOUT = 300 -HA_URL = os.environ["HOMEASSISTANTAPI_URL"] -HA_WS_URL = os.environ["HOMEASSISTANTAPI_WS_URL"] -HA_TOKEN = os.environ["HOMEASSISTANTAPI_TOKEN"] +HA_URL = os.environ.get("HOMEASSISTANTAPI_URL", "http://localhost:8123/api") +HA_WS_URL = os.environ.get( + "HOMEASSISTANTAPI_WS_URL", + "ws://localhost:8123/api/websocket", +) +HA_TOKEN = os.environ.get("HOMEASSISTANTAPI_TOKEN", "") -def pytest_sessionstart() -> None: - """Wait for the HA server to be ready before running any tests.""" +def pytest_sessionstart(session: pytest.Session) -> None: + """Wait for the HA server to be ready — only needed in record mode.""" + if not session.config.getoption("--record", default=False): + return client = Client(HA_URL, HA_TOKEN) deadline = time.monotonic() + TIMEOUT while time.monotonic() < deadline: @@ -38,29 +52,41 @@ def pytest_sessionstart() -> None: raise TimeoutError(msg) -@pytest.fixture(name="cached_client", scope="session") -def setup_cached_client() -> Generator[Client, None, None]: - """Initializes the Client and enters a cached session.""" - with Client(HA_URL, HA_TOKEN) as client: +@pytest.fixture(name="cached_client") +def setup_cached_client( + nimax_session: niquests.Session, +) -> Generator[Client, None, None]: + """Sync HTTP client backed by a per-test cassette.""" + with Client(HA_URL, HA_TOKEN, session=nimax_session) as client: yield client -@pytest_asyncio.fixture(name="async_cached_client", scope="session") -async def setup_async_cached_client() -> AsyncGenerator[AsyncClient, None]: - """Initializes the AsyncClient and enters an async cached session.""" - async with AsyncClient(HA_URL, HA_TOKEN) as client: +@pytest_asyncio.fixture(name="async_cached_client") +async def setup_async_cached_client( + nimax_async_session: niquests.AsyncSession, +) -> AsyncGenerator[AsyncClient, None]: + """Async HTTP client backed by a per-test cassette.""" + async with AsyncClient(HA_URL, HA_TOKEN, session=nimax_async_session) as client: yield client -@pytest.fixture(name="websocket_client", scope="session") -def setup_websocket_client() -> Generator[WebsocketClient, None, None]: - """Initializes the Client and enters a WebSocket session.""" - with WebsocketClient(HA_WS_URL, HA_TOKEN) as client: +@pytest.fixture(name="websocket_client") +def setup_websocket_client( + nimax_session: niquests.Session, +) -> Generator[WebsocketClient, None, None]: + """Sync WebSocket client backed by a per-test cassette.""" + with WebsocketClient(HA_WS_URL, HA_TOKEN, session=nimax_session) as client: yield client -@pytest_asyncio.fixture(name="async_websocket_client", scope="session") -async def setup_async_websocket_client() -> AsyncGenerator[AsyncWebsocketClient, None]: - """Initializes the AsyncWebsocketClient and enters an async WebSocket session.""" - async with AsyncWebsocketClient(HA_WS_URL, HA_TOKEN) as client: +@pytest_asyncio.fixture(name="async_websocket_client") +async def setup_async_websocket_client( + nimax_async_session: niquests.AsyncSession, +) -> AsyncGenerator[AsyncWebsocketClient, None]: + """Async WebSocket client backed by a per-test cassette.""" + async with AsyncWebsocketClient( + HA_WS_URL, + HA_TOKEN, + session=nimax_async_session, + ) as client: yield client diff --git a/tests/test_client.py b/tests/test_client.py index b4748eda..01ba575c 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -10,52 +10,58 @@ from homeassistant_api.baseclient import BaseClient -def test_custom_session() -> None: +def test_custom_session(nimax_session: niquests.Session) -> None: with Client( - os.environ["HOMEASSISTANTAPI_URL"], - os.environ["HOMEASSISTANTAPI_TOKEN"], - session=niquests.Session(), + os.environ.get("HOMEASSISTANTAPI_URL", "http://localhost:8123/api"), + os.environ.get("HOMEASSISTANTAPI_TOKEN", ""), + session=nimax_session, ): pass -def test_default_session() -> None: +def test_default_session(nimax_session: niquests.Session) -> None: # noqa: ARG001 with Client( - os.environ["HOMEASSISTANTAPI_URL"], - os.environ["HOMEASSISTANTAPI_TOKEN"], + os.environ.get("HOMEASSISTANTAPI_URL", "http://localhost:8123/api"), + os.environ.get("HOMEASSISTANTAPI_TOKEN", ""), ): pass -async def test_custom_async_session() -> None: +async def test_custom_async_session(nimax_async_session: niquests.AsyncSession) -> None: async with AsyncClient( - os.environ["HOMEASSISTANTAPI_URL"], - os.environ["HOMEASSISTANTAPI_TOKEN"], - session=niquests.AsyncSession(), + os.environ.get("HOMEASSISTANTAPI_URL", "http://localhost:8123/api"), + os.environ.get("HOMEASSISTANTAPI_TOKEN", ""), + session=nimax_async_session, ): pass -async def test_default_async_session() -> None: +async def test_default_async_session( + nimax_async_session: niquests.AsyncSession, # noqa: ARG001 +) -> None: async with AsyncClient( - os.environ["HOMEASSISTANTAPI_URL"], - os.environ["HOMEASSISTANTAPI_TOKEN"], + os.environ.get("HOMEASSISTANTAPI_URL", "http://localhost:8123/api"), + os.environ.get("HOMEASSISTANTAPI_TOKEN", ""), ): pass -def test_websocket_client_ping() -> None: +def test_websocket_client_ping(nimax_session: niquests.Session) -> None: with WebsocketClient( - os.environ["HOMEASSISTANTAPI_WS_URL"], - os.environ["HOMEASSISTANTAPI_TOKEN"], + os.environ.get("HOMEASSISTANTAPI_WS_URL", "ws://localhost:8123/api/websocket"), + os.environ.get("HOMEASSISTANTAPI_TOKEN", ""), + session=nimax_session, ) as client: assert client.ping_latency() > 0 -async def test_async_websocket_client_ping() -> None: +async def test_async_websocket_client_ping( + nimax_async_session: niquests.AsyncSession, +) -> None: async with AsyncWebsocketClient( - os.environ["HOMEASSISTANTAPI_WS_URL"], - os.environ["HOMEASSISTANTAPI_TOKEN"], + os.environ.get("HOMEASSISTANTAPI_WS_URL", "ws://localhost:8123/api/websocket"), + os.environ.get("HOMEASSISTANTAPI_TOKEN", ""), + session=nimax_async_session, ) as client: assert (await client.ping_latency()) > 0 diff --git a/tests/test_endpoints.py b/tests/test_endpoints.py index 98ad65cb..e1ec090f 100644 --- a/tests/test_endpoints.py +++ b/tests/test_endpoints.py @@ -47,7 +47,7 @@ def test_get_logbook_entries(cached_client: Client) -> None: for entry in cached_client.get_logbook_entries( filter_entities="sun.red_sun", start_timestamp=datetime(2020, 1, 1, tzinfo=UTC), - end_timestamp=datetime.now(UTC), + end_timestamp=datetime(2030, 1, 1, tzinfo=UTC), ): assert entry @@ -57,7 +57,7 @@ async def test_async_get_logbook_entries(async_cached_client: AsyncClient) -> No async for entry in async_cached_client.get_logbook_entries( filter_entities="sun.red_sun", start_timestamp=datetime(2020, 1, 1, tzinfo=UTC), - end_timestamp=datetime.now(UTC), + end_timestamp=datetime(2030, 1, 1, tzinfo=UTC), ): assert entry @@ -79,7 +79,7 @@ def test_get_entity_histories(cached_client: Client) -> None: histories = list( cached_client.get_entity_histories( (sun,), - end_timestamp=datetime.now(tz=UTC), + end_timestamp=datetime(2030, 1, 1, tzinfo=UTC), start_timestamp=datetime(2020, 1, 1, tzinfo=UTC), significant_changes_only=True, ), diff --git a/tests/test_errors.py b/tests/test_errors.py index 34475195..b169b085 100644 --- a/tests/test_errors.py +++ b/tests/test_errors.py @@ -32,30 +32,45 @@ from homeassistant_api.processing import process_response from homeassistant_api.utils import prepare_entity_id -HA_URL = os.environ["HOMEASSISTANTAPI_URL"] -HA_WS_URL = os.environ["HOMEASSISTANTAPI_WS_URL"] +HA_URL = os.environ.get("HOMEASSISTANTAPI_URL", "http://localhost:8123/api") +HA_WS_URL = os.environ.get( + "HOMEASSISTANTAPI_WS_URL", + "ws://localhost:8123/api/websocket", +) WRONG_TOKEN = "lolthisisawrongtokenforsure" # noqa: S105 -def test_unauthorized() -> None: - with pytest.raises(UnauthorizedError), Client(HA_URL, WRONG_TOKEN): +def test_unauthorized(nimax_session: niquests.Session) -> None: + with ( + pytest.raises(UnauthorizedError), + Client(HA_URL, WRONG_TOKEN, session=nimax_session), + ): pass -def test_websocket_unauthorized() -> None: - with pytest.raises(UnauthorizedError), WebsocketClient(HA_WS_URL, WRONG_TOKEN): +def test_websocket_unauthorized(nimax_session: niquests.Session) -> None: + with ( + pytest.raises(UnauthorizedError), + WebsocketClient(HA_WS_URL, WRONG_TOKEN, session=nimax_session), + ): pass -async def test_async_websocket_unauthorized() -> None: +async def test_async_websocket_unauthorized( + nimax_async_session: niquests.AsyncSession, +) -> None: with pytest.raises(UnauthorizedError): - async with AsyncWebsocketClient(HA_WS_URL, WRONG_TOKEN): + async with AsyncWebsocketClient( + HA_WS_URL, + WRONG_TOKEN, + session=nimax_async_session, + ): pass -async def test_async_unauthorized() -> None: +async def test_async_unauthorized(nimax_async_session: niquests.AsyncSession) -> None: with pytest.raises(UnauthorizedError): - async with AsyncClient(HA_URL, WRONG_TOKEN): + async with AsyncClient(HA_URL, WRONG_TOKEN, session=nimax_async_session): pass @@ -371,13 +386,13 @@ async def test_async_websocket_get_entity_histories_not_supported( def test_client_default_session() -> None: """Tests that Client creates a niquests.Session by default.""" - token = os.environ["HOMEASSISTANTAPI_TOKEN"] + token = os.environ.get("HOMEASSISTANTAPI_TOKEN", "") client = Client(HA_URL, token) assert isinstance(client._session, niquests.Session) async def test_async_client_default_session() -> None: """Tests that AsyncClient creates a niquests.AsyncSession by default.""" - token = os.environ["HOMEASSISTANTAPI_TOKEN"] + token = os.environ.get("HOMEASSISTANTAPI_TOKEN", "") client = AsyncClient(HA_URL, token) assert isinstance(client._session, niquests.AsyncSession)