├── .dockerignore ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── documentation.md │ └── feature_request.md ├── PULL_REQUEST_TEMPLATE.md ├── codecov.yml ├── copilot-instructions.md └── workflows │ ├── build_and_publish_image.yml │ ├── python_package.yml │ └── test_and_lint.yml ├── .gitignore ├── .pre-commit-config.yaml ├── .readthedocs.yaml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Dockerfile ├── LICENSE ├── README.md ├── agents.md ├── docs ├── _static │ ├── app-logs.png │ ├── getting-started-app-logs.png │ ├── getting-started-config-logs.png │ ├── getting-started-logs.png │ ├── hassette-logo.png │ ├── hassette-logo.svg │ └── style.css ├── diagrams │ ├── architecture-overview.md │ └── architecture-simple.md ├── index.md └── pages │ ├── appdaemon-comparison.md │ ├── core-concepts │ ├── api │ │ ├── entities_example.py │ │ ├── history_example.py │ │ ├── index.md │ │ ├── low_level_example.py │ │ ├── raw_state_example.py │ │ ├── service_helpers_example.py │ │ ├── states_example.py │ │ ├── sync_facade_example.py │ │ └── typed_state_example.py │ ├── apps │ │ ├── example_app.py │ │ ├── index.md │ │ ├── typed_config_example.py │ │ └── typed_config_toml.toml │ ├── bus │ │ ├── advanced_subscriptions_example.py │ │ ├── basic_subscriptions_example.py │ │ ├── event_model_example.py │ │ ├── index.md │ │ ├── passing_arguments_example.py │ │ ├── predicates_filtering_example.py │ │ └── working_with_event_data_example.py │ ├── configuration │ │ ├── basic_config.toml │ │ ├── index.md │ │ ├── multiple_instances.toml │ │ └── single_instance.toml │ ├── index.md │ ├── scheduler │ │ ├── basic_example.py │ │ ├── index.md │ │ ├── managing_jobs_example.py │ │ └── worked_examples.py │ └── states │ │ ├── custom-states.md │ │ └── index.md │ ├── getting-started │ ├── config.toml │ ├── docker.md │ ├── first_app.py │ ├── hello_world.py │ └── index.md │ └── why-hassette.md ├── examples ├── apps │ ├── battery.py │ ├── laundry_room_light.py │ ├── office_button_app.py │ ├── presence.py │ ├── sensor_notification.py │ ├── sound.py │ └── states_cache_example.py ├── config │ └── hassette.toml └── docker-compose.yml ├── mise.toml ├── mkdocs.yml ├── noxfile.py ├── pyproject.toml ├── pyrightconfig.json ├── ruff.toml ├── scripts ├── compile_requirements.py ├── docker_start.sh └── internal │ ├── add_state_docstrings.py │ ├── gen_ref_pages.py │ └── generate_pydantic_models.py ├── src └── hassette │ ├── __init__.py │ ├── __main__.py │ ├── api │ ├── __init__.py │ ├── api.py │ └── sync.py │ ├── app │ ├── __init__.py │ ├── app.py │ ├── app_config.py │ └── utils.py │ ├── bus │ ├── __init__.py │ ├── accessors.py │ ├── bus.py │ ├── conditions.py │ ├── listeners.py │ ├── predicates.py │ └── utils.py │ ├── config │ ├── __init__.py │ ├── classes.py │ ├── config.py │ ├── defaults.py │ ├── hassette.dev.toml │ ├── hassette.prod.toml │ └── helpers.py │ ├── const │ ├── __init__.py │ ├── colors.py │ ├── misc.py │ └── sensor.py │ ├── context.py │ ├── core │ ├── __init__.py │ ├── api_resource.py │ ├── app_handler.py │ ├── bus_service.py │ ├── core.py │ ├── file_watcher.py │ ├── health_service.py │ ├── scheduler_service.py │ ├── service_watcher.py │ ├── state_proxy.py │ └── websocket_service.py │ ├── dependencies │ ├── __init__.py │ ├── annotations.py │ └── extraction.py │ ├── events │ ├── __init__.py │ ├── base.py │ ├── hass │ │ ├── __init__.py │ │ ├── hass.py │ │ └── raw.py │ └── hassette.py │ ├── exceptions.py │ ├── logging_.py │ ├── models │ ├── __init__.py │ ├── entities │ │ ├── __init__.py │ │ ├── base.py │ │ └── light.py │ ├── history.py │ ├── services.py │ └── states │ │ ├── __init__.py │ │ ├── air_quality.py │ │ ├── alarm_control_panel.py │ │ ├── assist_satellite.py │ │ ├── automation.py │ │ ├── base.py │ │ ├── calendar.py │ │ ├── camera.py │ │ ├── climate.py │ │ ├── device_tracker.py │ │ ├── event.py │ │ ├── fan.py │ │ ├── humidifier.py │ │ ├── image_processing.py │ │ ├── input.py │ │ ├── light.py │ │ ├── media_player.py │ │ ├── number.py │ │ ├── person.py │ │ ├── remote.py │ │ ├── scene.py │ │ ├── script.py │ │ ├── select.py │ │ ├── sensor.py │ │ ├── simple.py │ │ ├── siren.py │ │ ├── sun.py │ │ ├── text.py │ │ ├── timer.py │ │ ├── update.py │ │ ├── vacuum.py │ │ ├── water_heater.py │ │ ├── weather.py │ │ └── zone.py │ ├── py.typed │ ├── resources │ ├── __init__.py │ ├── base.py │ └── mixins.py │ ├── scheduler │ ├── __init__.py │ ├── classes.py │ └── scheduler.py │ ├── state_registry.py │ ├── states.py │ ├── states.pyi │ ├── task_bucket.py │ ├── test_utils │ ├── __init__.py │ ├── fixtures.py │ ├── harness.py │ └── test_server.py │ ├── types │ ├── __init__.py │ ├── enums.py │ ├── topics.py │ └── types.py │ └── utils │ ├── __init__.py │ ├── app_utils.py │ ├── date_utils.py │ ├── exception_utils.py │ ├── func_utils.py │ ├── glob_utils.py │ ├── hass_utils.py │ ├── request_utils.py │ ├── service_utils.py │ └── url_utils.py ├── tests ├── conftest.py ├── data │ ├── .env │ ├── device_tracker_event.json │ ├── disabled_app.py │ ├── full_history.json │ ├── hassette.toml │ ├── hassette_apps.toml │ ├── minimal_history.json │ ├── my_app.py │ ├── my_app_sync.py │ ├── other_events.jsonl │ └── state_change_events.jsonl ├── fixtures │ ├── __init__.py │ └── state_fixtures.py ├── predicates │ ├── test_base_predicates.py │ ├── test_conditions.py │ ├── test_predicates.py │ ├── test_service_data_where.py │ └── test_state_predicates.py ├── test_api.py ├── test_app_utils.py ├── test_apps.py ├── test_autodetect_apps.py ├── test_bus.py ├── test_config.py ├── test_core.py ├── test_dependencies.py ├── test_file_watcher.py ├── test_history.py ├── test_listeners.py ├── test_models.py ├── test_scheduler.py ├── test_service_watcher.py ├── test_state_proxy.py ├── test_states.py ├── test_task_bucket.py ├── test_triggers.py ├── test_url_utils.py └── test_websocket_service.py └── uv.lock /.dockerignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.dockerignore -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/documentation.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.github/ISSUE_TEMPLATE/documentation.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/codecov.yml: -------------------------------------------------------------------------------- 1 | codecov: 2 | branch: main 3 | -------------------------------------------------------------------------------- /.github/copilot-instructions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.github/copilot-instructions.md -------------------------------------------------------------------------------- /.github/workflows/build_and_publish_image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.github/workflows/build_and_publish_image.yml -------------------------------------------------------------------------------- /.github/workflows/python_package.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.github/workflows/python_package.yml -------------------------------------------------------------------------------- /.github/workflows/test_and_lint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.github/workflows/test_and_lint.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.gitignore -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/.readthedocs.yaml -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/README.md -------------------------------------------------------------------------------- /agents.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/agents.md -------------------------------------------------------------------------------- /docs/_static/app-logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/_static/app-logs.png -------------------------------------------------------------------------------- /docs/_static/getting-started-app-logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/_static/getting-started-app-logs.png -------------------------------------------------------------------------------- /docs/_static/getting-started-config-logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/_static/getting-started-config-logs.png -------------------------------------------------------------------------------- /docs/_static/getting-started-logs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/_static/getting-started-logs.png -------------------------------------------------------------------------------- /docs/_static/hassette-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/_static/hassette-logo.png -------------------------------------------------------------------------------- /docs/_static/hassette-logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/_static/hassette-logo.svg -------------------------------------------------------------------------------- /docs/_static/style.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/_static/style.css -------------------------------------------------------------------------------- /docs/diagrams/architecture-overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/diagrams/architecture-overview.md -------------------------------------------------------------------------------- /docs/diagrams/architecture-simple.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/diagrams/architecture-simple.md -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/index.md -------------------------------------------------------------------------------- /docs/pages/appdaemon-comparison.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/appdaemon-comparison.md -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/entities_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/entities_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/history_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/history_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/index.md -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/low_level_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/low_level_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/raw_state_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/raw_state_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/service_helpers_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/service_helpers_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/states_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/states_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/sync_facade_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/sync_facade_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/api/typed_state_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/api/typed_state_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/apps/example_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/apps/example_app.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/apps/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/apps/index.md -------------------------------------------------------------------------------- /docs/pages/core-concepts/apps/typed_config_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/apps/typed_config_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/apps/typed_config_toml.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/apps/typed_config_toml.toml -------------------------------------------------------------------------------- /docs/pages/core-concepts/bus/advanced_subscriptions_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/bus/advanced_subscriptions_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/bus/basic_subscriptions_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/bus/basic_subscriptions_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/bus/event_model_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/bus/event_model_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/bus/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/bus/index.md -------------------------------------------------------------------------------- /docs/pages/core-concepts/bus/passing_arguments_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/bus/passing_arguments_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/bus/predicates_filtering_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/bus/predicates_filtering_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/bus/working_with_event_data_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/bus/working_with_event_data_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/configuration/basic_config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/configuration/basic_config.toml -------------------------------------------------------------------------------- /docs/pages/core-concepts/configuration/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/configuration/index.md -------------------------------------------------------------------------------- /docs/pages/core-concepts/configuration/multiple_instances.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/configuration/multiple_instances.toml -------------------------------------------------------------------------------- /docs/pages/core-concepts/configuration/single_instance.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/configuration/single_instance.toml -------------------------------------------------------------------------------- /docs/pages/core-concepts/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/index.md -------------------------------------------------------------------------------- /docs/pages/core-concepts/scheduler/basic_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/scheduler/basic_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/scheduler/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/scheduler/index.md -------------------------------------------------------------------------------- /docs/pages/core-concepts/scheduler/managing_jobs_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/scheduler/managing_jobs_example.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/scheduler/worked_examples.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/scheduler/worked_examples.py -------------------------------------------------------------------------------- /docs/pages/core-concepts/states/custom-states.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/states/custom-states.md -------------------------------------------------------------------------------- /docs/pages/core-concepts/states/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/core-concepts/states/index.md -------------------------------------------------------------------------------- /docs/pages/getting-started/config.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/getting-started/config.toml -------------------------------------------------------------------------------- /docs/pages/getting-started/docker.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/getting-started/docker.md -------------------------------------------------------------------------------- /docs/pages/getting-started/first_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/getting-started/first_app.py -------------------------------------------------------------------------------- /docs/pages/getting-started/hello_world.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/getting-started/hello_world.py -------------------------------------------------------------------------------- /docs/pages/getting-started/index.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/getting-started/index.md -------------------------------------------------------------------------------- /docs/pages/why-hassette.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/docs/pages/why-hassette.md -------------------------------------------------------------------------------- /examples/apps/battery.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/apps/battery.py -------------------------------------------------------------------------------- /examples/apps/laundry_room_light.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/apps/laundry_room_light.py -------------------------------------------------------------------------------- /examples/apps/office_button_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/apps/office_button_app.py -------------------------------------------------------------------------------- /examples/apps/presence.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/apps/presence.py -------------------------------------------------------------------------------- /examples/apps/sensor_notification.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/apps/sensor_notification.py -------------------------------------------------------------------------------- /examples/apps/sound.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/apps/sound.py -------------------------------------------------------------------------------- /examples/apps/states_cache_example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/apps/states_cache_example.py -------------------------------------------------------------------------------- /examples/config/hassette.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/config/hassette.toml -------------------------------------------------------------------------------- /examples/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/examples/docker-compose.yml -------------------------------------------------------------------------------- /mise.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/mise.toml -------------------------------------------------------------------------------- /mkdocs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/mkdocs.yml -------------------------------------------------------------------------------- /noxfile.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/noxfile.py -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/pyproject.toml -------------------------------------------------------------------------------- /pyrightconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/pyrightconfig.json -------------------------------------------------------------------------------- /ruff.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/ruff.toml -------------------------------------------------------------------------------- /scripts/compile_requirements.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/scripts/compile_requirements.py -------------------------------------------------------------------------------- /scripts/docker_start.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/scripts/docker_start.sh -------------------------------------------------------------------------------- /scripts/internal/add_state_docstrings.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/scripts/internal/add_state_docstrings.py -------------------------------------------------------------------------------- /scripts/internal/gen_ref_pages.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/scripts/internal/gen_ref_pages.py -------------------------------------------------------------------------------- /scripts/internal/generate_pydantic_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/scripts/internal/generate_pydantic_models.py -------------------------------------------------------------------------------- /src/hassette/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/__init__.py -------------------------------------------------------------------------------- /src/hassette/__main__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/__main__.py -------------------------------------------------------------------------------- /src/hassette/api/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/api/__init__.py -------------------------------------------------------------------------------- /src/hassette/api/api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/api/api.py -------------------------------------------------------------------------------- /src/hassette/api/sync.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/api/sync.py -------------------------------------------------------------------------------- /src/hassette/app/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/app/__init__.py -------------------------------------------------------------------------------- /src/hassette/app/app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/app/app.py -------------------------------------------------------------------------------- /src/hassette/app/app_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/app/app_config.py -------------------------------------------------------------------------------- /src/hassette/app/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/app/utils.py -------------------------------------------------------------------------------- /src/hassette/bus/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/bus/__init__.py -------------------------------------------------------------------------------- /src/hassette/bus/accessors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/bus/accessors.py -------------------------------------------------------------------------------- /src/hassette/bus/bus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/bus/bus.py -------------------------------------------------------------------------------- /src/hassette/bus/conditions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/bus/conditions.py -------------------------------------------------------------------------------- /src/hassette/bus/listeners.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/bus/listeners.py -------------------------------------------------------------------------------- /src/hassette/bus/predicates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/bus/predicates.py -------------------------------------------------------------------------------- /src/hassette/bus/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/bus/utils.py -------------------------------------------------------------------------------- /src/hassette/config/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/config/__init__.py -------------------------------------------------------------------------------- /src/hassette/config/classes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/config/classes.py -------------------------------------------------------------------------------- /src/hassette/config/config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/config/config.py -------------------------------------------------------------------------------- /src/hassette/config/defaults.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/config/defaults.py -------------------------------------------------------------------------------- /src/hassette/config/hassette.dev.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/config/hassette.dev.toml -------------------------------------------------------------------------------- /src/hassette/config/hassette.prod.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/config/hassette.prod.toml -------------------------------------------------------------------------------- /src/hassette/config/helpers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/config/helpers.py -------------------------------------------------------------------------------- /src/hassette/const/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/const/__init__.py -------------------------------------------------------------------------------- /src/hassette/const/colors.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/const/colors.py -------------------------------------------------------------------------------- /src/hassette/const/misc.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/const/misc.py -------------------------------------------------------------------------------- /src/hassette/const/sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/const/sensor.py -------------------------------------------------------------------------------- /src/hassette/context.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/context.py -------------------------------------------------------------------------------- /src/hassette/core/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/hassette/core/api_resource.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/api_resource.py -------------------------------------------------------------------------------- /src/hassette/core/app_handler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/app_handler.py -------------------------------------------------------------------------------- /src/hassette/core/bus_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/bus_service.py -------------------------------------------------------------------------------- /src/hassette/core/core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/core.py -------------------------------------------------------------------------------- /src/hassette/core/file_watcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/file_watcher.py -------------------------------------------------------------------------------- /src/hassette/core/health_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/health_service.py -------------------------------------------------------------------------------- /src/hassette/core/scheduler_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/scheduler_service.py -------------------------------------------------------------------------------- /src/hassette/core/service_watcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/service_watcher.py -------------------------------------------------------------------------------- /src/hassette/core/state_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/state_proxy.py -------------------------------------------------------------------------------- /src/hassette/core/websocket_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/core/websocket_service.py -------------------------------------------------------------------------------- /src/hassette/dependencies/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/dependencies/__init__.py -------------------------------------------------------------------------------- /src/hassette/dependencies/annotations.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/dependencies/annotations.py -------------------------------------------------------------------------------- /src/hassette/dependencies/extraction.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/dependencies/extraction.py -------------------------------------------------------------------------------- /src/hassette/events/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/events/__init__.py -------------------------------------------------------------------------------- /src/hassette/events/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/events/base.py -------------------------------------------------------------------------------- /src/hassette/events/hass/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/hassette/events/hass/hass.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/events/hass/hass.py -------------------------------------------------------------------------------- /src/hassette/events/hass/raw.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/events/hass/raw.py -------------------------------------------------------------------------------- /src/hassette/events/hassette.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/events/hassette.py -------------------------------------------------------------------------------- /src/hassette/exceptions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/exceptions.py -------------------------------------------------------------------------------- /src/hassette/logging_.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/logging_.py -------------------------------------------------------------------------------- /src/hassette/models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/hassette/models/entities/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/entities/__init__.py -------------------------------------------------------------------------------- /src/hassette/models/entities/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/entities/base.py -------------------------------------------------------------------------------- /src/hassette/models/entities/light.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/entities/light.py -------------------------------------------------------------------------------- /src/hassette/models/history.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/history.py -------------------------------------------------------------------------------- /src/hassette/models/services.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/services.py -------------------------------------------------------------------------------- /src/hassette/models/states/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/__init__.py -------------------------------------------------------------------------------- /src/hassette/models/states/air_quality.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/air_quality.py -------------------------------------------------------------------------------- /src/hassette/models/states/alarm_control_panel.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/alarm_control_panel.py -------------------------------------------------------------------------------- /src/hassette/models/states/assist_satellite.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/assist_satellite.py -------------------------------------------------------------------------------- /src/hassette/models/states/automation.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/automation.py -------------------------------------------------------------------------------- /src/hassette/models/states/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/base.py -------------------------------------------------------------------------------- /src/hassette/models/states/calendar.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/calendar.py -------------------------------------------------------------------------------- /src/hassette/models/states/camera.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/camera.py -------------------------------------------------------------------------------- /src/hassette/models/states/climate.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/climate.py -------------------------------------------------------------------------------- /src/hassette/models/states/device_tracker.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/device_tracker.py -------------------------------------------------------------------------------- /src/hassette/models/states/event.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/event.py -------------------------------------------------------------------------------- /src/hassette/models/states/fan.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/fan.py -------------------------------------------------------------------------------- /src/hassette/models/states/humidifier.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/humidifier.py -------------------------------------------------------------------------------- /src/hassette/models/states/image_processing.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/image_processing.py -------------------------------------------------------------------------------- /src/hassette/models/states/input.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/input.py -------------------------------------------------------------------------------- /src/hassette/models/states/light.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/light.py -------------------------------------------------------------------------------- /src/hassette/models/states/media_player.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/media_player.py -------------------------------------------------------------------------------- /src/hassette/models/states/number.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/number.py -------------------------------------------------------------------------------- /src/hassette/models/states/person.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/person.py -------------------------------------------------------------------------------- /src/hassette/models/states/remote.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/remote.py -------------------------------------------------------------------------------- /src/hassette/models/states/scene.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/scene.py -------------------------------------------------------------------------------- /src/hassette/models/states/script.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/script.py -------------------------------------------------------------------------------- /src/hassette/models/states/select.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/select.py -------------------------------------------------------------------------------- /src/hassette/models/states/sensor.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/sensor.py -------------------------------------------------------------------------------- /src/hassette/models/states/simple.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/simple.py -------------------------------------------------------------------------------- /src/hassette/models/states/siren.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/siren.py -------------------------------------------------------------------------------- /src/hassette/models/states/sun.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/sun.py -------------------------------------------------------------------------------- /src/hassette/models/states/text.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/text.py -------------------------------------------------------------------------------- /src/hassette/models/states/timer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/timer.py -------------------------------------------------------------------------------- /src/hassette/models/states/update.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/update.py -------------------------------------------------------------------------------- /src/hassette/models/states/vacuum.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/vacuum.py -------------------------------------------------------------------------------- /src/hassette/models/states/water_heater.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/water_heater.py -------------------------------------------------------------------------------- /src/hassette/models/states/weather.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/weather.py -------------------------------------------------------------------------------- /src/hassette/models/states/zone.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/models/states/zone.py -------------------------------------------------------------------------------- /src/hassette/py.typed: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/hassette/resources/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/hassette/resources/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/resources/base.py -------------------------------------------------------------------------------- /src/hassette/resources/mixins.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/resources/mixins.py -------------------------------------------------------------------------------- /src/hassette/scheduler/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/scheduler/__init__.py -------------------------------------------------------------------------------- /src/hassette/scheduler/classes.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/scheduler/classes.py -------------------------------------------------------------------------------- /src/hassette/scheduler/scheduler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/scheduler/scheduler.py -------------------------------------------------------------------------------- /src/hassette/state_registry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/state_registry.py -------------------------------------------------------------------------------- /src/hassette/states.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/states.py -------------------------------------------------------------------------------- /src/hassette/states.pyi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/states.pyi -------------------------------------------------------------------------------- /src/hassette/task_bucket.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/task_bucket.py -------------------------------------------------------------------------------- /src/hassette/test_utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/test_utils/__init__.py -------------------------------------------------------------------------------- /src/hassette/test_utils/fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/test_utils/fixtures.py -------------------------------------------------------------------------------- /src/hassette/test_utils/harness.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/test_utils/harness.py -------------------------------------------------------------------------------- /src/hassette/test_utils/test_server.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/test_utils/test_server.py -------------------------------------------------------------------------------- /src/hassette/types/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/types/__init__.py -------------------------------------------------------------------------------- /src/hassette/types/enums.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/types/enums.py -------------------------------------------------------------------------------- /src/hassette/types/topics.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/types/topics.py -------------------------------------------------------------------------------- /src/hassette/types/types.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/types/types.py -------------------------------------------------------------------------------- /src/hassette/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/__init__.py -------------------------------------------------------------------------------- /src/hassette/utils/app_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/app_utils.py -------------------------------------------------------------------------------- /src/hassette/utils/date_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/date_utils.py -------------------------------------------------------------------------------- /src/hassette/utils/exception_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/exception_utils.py -------------------------------------------------------------------------------- /src/hassette/utils/func_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/func_utils.py -------------------------------------------------------------------------------- /src/hassette/utils/glob_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/glob_utils.py -------------------------------------------------------------------------------- /src/hassette/utils/hass_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/hass_utils.py -------------------------------------------------------------------------------- /src/hassette/utils/request_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/request_utils.py -------------------------------------------------------------------------------- /src/hassette/utils/service_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/service_utils.py -------------------------------------------------------------------------------- /src/hassette/utils/url_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/src/hassette/utils/url_utils.py -------------------------------------------------------------------------------- /tests/conftest.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/conftest.py -------------------------------------------------------------------------------- /tests/data/.env: -------------------------------------------------------------------------------- 1 | hassette__apps_log_level=CRITICAL 2 | -------------------------------------------------------------------------------- /tests/data/device_tracker_event.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/device_tracker_event.json -------------------------------------------------------------------------------- /tests/data/disabled_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/disabled_app.py -------------------------------------------------------------------------------- /tests/data/full_history.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/full_history.json -------------------------------------------------------------------------------- /tests/data/hassette.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/hassette.toml -------------------------------------------------------------------------------- /tests/data/hassette_apps.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/hassette_apps.toml -------------------------------------------------------------------------------- /tests/data/minimal_history.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/minimal_history.json -------------------------------------------------------------------------------- /tests/data/my_app.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/my_app.py -------------------------------------------------------------------------------- /tests/data/my_app_sync.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/my_app_sync.py -------------------------------------------------------------------------------- /tests/data/other_events.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/other_events.jsonl -------------------------------------------------------------------------------- /tests/data/state_change_events.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/data/state_change_events.jsonl -------------------------------------------------------------------------------- /tests/fixtures/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/fixtures/__init__.py -------------------------------------------------------------------------------- /tests/fixtures/state_fixtures.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/fixtures/state_fixtures.py -------------------------------------------------------------------------------- /tests/predicates/test_base_predicates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/predicates/test_base_predicates.py -------------------------------------------------------------------------------- /tests/predicates/test_conditions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/predicates/test_conditions.py -------------------------------------------------------------------------------- /tests/predicates/test_predicates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/predicates/test_predicates.py -------------------------------------------------------------------------------- /tests/predicates/test_service_data_where.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/predicates/test_service_data_where.py -------------------------------------------------------------------------------- /tests/predicates/test_state_predicates.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/predicates/test_state_predicates.py -------------------------------------------------------------------------------- /tests/test_api.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_api.py -------------------------------------------------------------------------------- /tests/test_app_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_app_utils.py -------------------------------------------------------------------------------- /tests/test_apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_apps.py -------------------------------------------------------------------------------- /tests/test_autodetect_apps.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_autodetect_apps.py -------------------------------------------------------------------------------- /tests/test_bus.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_bus.py -------------------------------------------------------------------------------- /tests/test_config.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_config.py -------------------------------------------------------------------------------- /tests/test_core.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_core.py -------------------------------------------------------------------------------- /tests/test_dependencies.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_dependencies.py -------------------------------------------------------------------------------- /tests/test_file_watcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_file_watcher.py -------------------------------------------------------------------------------- /tests/test_history.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_history.py -------------------------------------------------------------------------------- /tests/test_listeners.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_listeners.py -------------------------------------------------------------------------------- /tests/test_models.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_models.py -------------------------------------------------------------------------------- /tests/test_scheduler.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_scheduler.py -------------------------------------------------------------------------------- /tests/test_service_watcher.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_service_watcher.py -------------------------------------------------------------------------------- /tests/test_state_proxy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_state_proxy.py -------------------------------------------------------------------------------- /tests/test_states.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_states.py -------------------------------------------------------------------------------- /tests/test_task_bucket.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_task_bucket.py -------------------------------------------------------------------------------- /tests/test_triggers.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_triggers.py -------------------------------------------------------------------------------- /tests/test_url_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_url_utils.py -------------------------------------------------------------------------------- /tests/test_websocket_service.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/tests/test_websocket_service.py -------------------------------------------------------------------------------- /uv.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/NodeJSmith/hassette/HEAD/uv.lock --------------------------------------------------------------------------------