mirror of
https://github.com/home-assistant/supervisor.git
synced 2025-10-10 04:09:39 +00:00
Compare commits
2 Commits
2025.09.1
...
handle-git
Author | SHA1 | Date | |
---|---|---|---|
![]() |
1f7aafcfd7 | ||
![]() |
ed45651fd9 |
23
.github/workflows/builder.yml
vendored
23
.github/workflows/builder.yml
vendored
@@ -53,7 +53,7 @@ jobs:
|
|||||||
requirements: ${{ steps.requirements.outputs.changed }}
|
requirements: ${{ steps.requirements.outputs.changed }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -70,7 +70,7 @@ jobs:
|
|||||||
- name: Get changed files
|
- name: Get changed files
|
||||||
id: changed_files
|
id: changed_files
|
||||||
if: steps.version.outputs.publish == 'false'
|
if: steps.version.outputs.publish == 'false'
|
||||||
uses: masesgroup/retrieve-changed-files@491e80760c0e28d36ca6240a27b1ccb8e1402c13 # v3.0.0
|
uses: masesgroup/retrieve-changed-files@v3.0.0
|
||||||
|
|
||||||
- name: Check if requirements files changed
|
- name: Check if requirements files changed
|
||||||
id: requirements
|
id: requirements
|
||||||
@@ -92,7 +92,7 @@ jobs:
|
|||||||
arch: ${{ fromJson(needs.init.outputs.architectures) }}
|
arch: ${{ fromJson(needs.init.outputs.architectures) }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -104,7 +104,6 @@ jobs:
|
|||||||
echo "CARGO_NET_GIT_FETCH_WITH_CLI=true"
|
echo "CARGO_NET_GIT_FETCH_WITH_CLI=true"
|
||||||
) > .env_file
|
) > .env_file
|
||||||
|
|
||||||
# home-assistant/wheels doesn't support sha pinning
|
|
||||||
- name: Build wheels
|
- name: Build wheels
|
||||||
if: needs.init.outputs.requirements == 'true'
|
if: needs.init.outputs.requirements == 'true'
|
||||||
uses: home-assistant/wheels@2025.07.0
|
uses: home-assistant/wheels@2025.07.0
|
||||||
@@ -126,13 +125,13 @@ jobs:
|
|||||||
|
|
||||||
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
|
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
|
||||||
if: needs.init.outputs.publish == 'true'
|
if: needs.init.outputs.publish == 'true'
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.DEFAULT_PYTHON }}
|
python-version: ${{ env.DEFAULT_PYTHON }}
|
||||||
|
|
||||||
- name: Install Cosign
|
- name: Install Cosign
|
||||||
if: needs.init.outputs.publish == 'true'
|
if: needs.init.outputs.publish == 'true'
|
||||||
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
|
uses: sigstore/cosign-installer@v3.9.2
|
||||||
with:
|
with:
|
||||||
cosign-release: "v2.4.3"
|
cosign-release: "v2.4.3"
|
||||||
|
|
||||||
@@ -150,7 +149,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Login to GitHub Container Registry
|
- name: Login to GitHub Container Registry
|
||||||
if: needs.init.outputs.publish == 'true'
|
if: needs.init.outputs.publish == 'true'
|
||||||
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
|
uses: docker/login-action@v3.5.0
|
||||||
with:
|
with:
|
||||||
registry: ghcr.io
|
registry: ghcr.io
|
||||||
username: ${{ github.repository_owner }}
|
username: ${{ github.repository_owner }}
|
||||||
@@ -160,9 +159,8 @@ jobs:
|
|||||||
if: needs.init.outputs.publish == 'false'
|
if: needs.init.outputs.publish == 'false'
|
||||||
run: echo "BUILD_ARGS=--test" >> $GITHUB_ENV
|
run: echo "BUILD_ARGS=--test" >> $GITHUB_ENV
|
||||||
|
|
||||||
# home-assistant/builder doesn't support sha pinning
|
|
||||||
- name: Build supervisor
|
- name: Build supervisor
|
||||||
uses: home-assistant/builder@2025.09.0
|
uses: home-assistant/builder@2025.03.0
|
||||||
with:
|
with:
|
||||||
args: |
|
args: |
|
||||||
$BUILD_ARGS \
|
$BUILD_ARGS \
|
||||||
@@ -180,7 +178,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
if: needs.init.outputs.publish == 'true'
|
if: needs.init.outputs.publish == 'true'
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
- name: Initialize git
|
- name: Initialize git
|
||||||
if: needs.init.outputs.publish == 'true'
|
if: needs.init.outputs.publish == 'true'
|
||||||
@@ -205,12 +203,11 @@ jobs:
|
|||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
|
|
||||||
# home-assistant/builder doesn't support sha pinning
|
|
||||||
- name: Build the Supervisor
|
- name: Build the Supervisor
|
||||||
if: needs.init.outputs.publish != 'true'
|
if: needs.init.outputs.publish != 'true'
|
||||||
uses: home-assistant/builder@2025.09.0
|
uses: home-assistant/builder@2025.03.0
|
||||||
with:
|
with:
|
||||||
args: |
|
args: |
|
||||||
--test \
|
--test \
|
||||||
|
76
.github/workflows/ci.yaml
vendored
76
.github/workflows/ci.yaml
vendored
@@ -26,15 +26,15 @@ jobs:
|
|||||||
name: Prepare Python dependencies
|
name: Prepare Python dependencies
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
id: python
|
id: python
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
with:
|
with:
|
||||||
python-version: ${{ env.DEFAULT_PYTHON }}
|
python-version: ${{ env.DEFAULT_PYTHON }}
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: |
|
key: |
|
||||||
@@ -48,7 +48,7 @@ jobs:
|
|||||||
pip install -r requirements.txt -r requirements_tests.txt
|
pip install -r requirements.txt -r requirements_tests.txt
|
||||||
- name: Restore pre-commit environment from cache
|
- name: Restore pre-commit environment from cache
|
||||||
id: cache-precommit
|
id: cache-precommit
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: ${{ env.PRE_COMMIT_CACHE }}
|
path: ${{ env.PRE_COMMIT_CACHE }}
|
||||||
lookup-only: true
|
lookup-only: true
|
||||||
@@ -68,15 +68,15 @@ jobs:
|
|||||||
needs: prepare
|
needs: prepare
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
id: python
|
id: python
|
||||||
with:
|
with:
|
||||||
python-version: ${{ needs.prepare.outputs.python-version }}
|
python-version: ${{ needs.prepare.outputs.python-version }}
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: |
|
key: |
|
||||||
@@ -88,7 +88,7 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
- name: Restore pre-commit environment from cache
|
- name: Restore pre-commit environment from cache
|
||||||
id: cache-precommit
|
id: cache-precommit
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: ${{ env.PRE_COMMIT_CACHE }}
|
path: ${{ env.PRE_COMMIT_CACHE }}
|
||||||
key: |
|
key: |
|
||||||
@@ -111,15 +111,15 @@ jobs:
|
|||||||
needs: prepare
|
needs: prepare
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
id: python
|
id: python
|
||||||
with:
|
with:
|
||||||
python-version: ${{ needs.prepare.outputs.python-version }}
|
python-version: ${{ needs.prepare.outputs.python-version }}
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: |
|
key: |
|
||||||
@@ -131,7 +131,7 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
- name: Restore pre-commit environment from cache
|
- name: Restore pre-commit environment from cache
|
||||||
id: cache-precommit
|
id: cache-precommit
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: ${{ env.PRE_COMMIT_CACHE }}
|
path: ${{ env.PRE_COMMIT_CACHE }}
|
||||||
key: |
|
key: |
|
||||||
@@ -154,7 +154,7 @@ jobs:
|
|||||||
needs: prepare
|
needs: prepare
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Register hadolint problem matcher
|
- name: Register hadolint problem matcher
|
||||||
run: |
|
run: |
|
||||||
echo "::add-matcher::.github/workflows/matchers/hadolint.json"
|
echo "::add-matcher::.github/workflows/matchers/hadolint.json"
|
||||||
@@ -169,15 +169,15 @@ jobs:
|
|||||||
needs: prepare
|
needs: prepare
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
id: python
|
id: python
|
||||||
with:
|
with:
|
||||||
python-version: ${{ needs.prepare.outputs.python-version }}
|
python-version: ${{ needs.prepare.outputs.python-version }}
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: |
|
key: |
|
||||||
@@ -189,7 +189,7 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
- name: Restore pre-commit environment from cache
|
- name: Restore pre-commit environment from cache
|
||||||
id: cache-precommit
|
id: cache-precommit
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: ${{ env.PRE_COMMIT_CACHE }}
|
path: ${{ env.PRE_COMMIT_CACHE }}
|
||||||
key: |
|
key: |
|
||||||
@@ -213,15 +213,15 @@ jobs:
|
|||||||
needs: prepare
|
needs: prepare
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
id: python
|
id: python
|
||||||
with:
|
with:
|
||||||
python-version: ${{ needs.prepare.outputs.python-version }}
|
python-version: ${{ needs.prepare.outputs.python-version }}
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: |
|
key: |
|
||||||
@@ -233,7 +233,7 @@ jobs:
|
|||||||
exit 1
|
exit 1
|
||||||
- name: Restore pre-commit environment from cache
|
- name: Restore pre-commit environment from cache
|
||||||
id: cache-precommit
|
id: cache-precommit
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: ${{ env.PRE_COMMIT_CACHE }}
|
path: ${{ env.PRE_COMMIT_CACHE }}
|
||||||
key: |
|
key: |
|
||||||
@@ -257,15 +257,15 @@ jobs:
|
|||||||
needs: prepare
|
needs: prepare
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
id: python
|
id: python
|
||||||
with:
|
with:
|
||||||
python-version: ${{ needs.prepare.outputs.python-version }}
|
python-version: ${{ needs.prepare.outputs.python-version }}
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: |
|
key: |
|
||||||
@@ -293,9 +293,9 @@ jobs:
|
|||||||
needs: prepare
|
needs: prepare
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
id: python
|
id: python
|
||||||
with:
|
with:
|
||||||
python-version: ${{ needs.prepare.outputs.python-version }}
|
python-version: ${{ needs.prepare.outputs.python-version }}
|
||||||
@@ -307,7 +307,7 @@ jobs:
|
|||||||
echo "key=mypy-${{ env.MYPY_CACHE_VERSION }}-$mypy_version-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
|
echo "key=mypy-${{ env.MYPY_CACHE_VERSION }}-$mypy_version-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: >-
|
key: >-
|
||||||
@@ -318,7 +318,7 @@ jobs:
|
|||||||
echo "Failed to restore Python virtual environment from cache"
|
echo "Failed to restore Python virtual environment from cache"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Restore mypy cache
|
- name: Restore mypy cache
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: .mypy_cache
|
path: .mypy_cache
|
||||||
key: >-
|
key: >-
|
||||||
@@ -339,19 +339,19 @@ jobs:
|
|||||||
name: Run tests Python ${{ needs.prepare.outputs.python-version }}
|
name: Run tests Python ${{ needs.prepare.outputs.python-version }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
id: python
|
id: python
|
||||||
with:
|
with:
|
||||||
python-version: ${{ needs.prepare.outputs.python-version }}
|
python-version: ${{ needs.prepare.outputs.python-version }}
|
||||||
- name: Install Cosign
|
- name: Install Cosign
|
||||||
uses: sigstore/cosign-installer@d7543c93d881b35a8faa02e8e3605f69b7a1ce62 # v3.10.0
|
uses: sigstore/cosign-installer@v3.9.2
|
||||||
with:
|
with:
|
||||||
cosign-release: "v2.4.3"
|
cosign-release: "v2.4.3"
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: |
|
key: |
|
||||||
@@ -386,7 +386,7 @@ jobs:
|
|||||||
-o console_output_style=count \
|
-o console_output_style=count \
|
||||||
tests
|
tests
|
||||||
- name: Upload coverage artifact
|
- name: Upload coverage artifact
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
uses: actions/upload-artifact@v4.6.2
|
||||||
with:
|
with:
|
||||||
name: coverage
|
name: coverage
|
||||||
path: .coverage
|
path: .coverage
|
||||||
@@ -398,15 +398,15 @@ jobs:
|
|||||||
needs: ["pytest", "prepare"]
|
needs: ["pytest", "prepare"]
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
- name: Set up Python ${{ needs.prepare.outputs.python-version }}
|
||||||
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
|
uses: actions/setup-python@v5.6.0
|
||||||
id: python
|
id: python
|
||||||
with:
|
with:
|
||||||
python-version: ${{ needs.prepare.outputs.python-version }}
|
python-version: ${{ needs.prepare.outputs.python-version }}
|
||||||
- name: Restore Python virtual environment
|
- name: Restore Python virtual environment
|
||||||
id: cache-venv
|
id: cache-venv
|
||||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
uses: actions/cache@v4.2.3
|
||||||
with:
|
with:
|
||||||
path: venv
|
path: venv
|
||||||
key: |
|
key: |
|
||||||
@@ -417,7 +417,7 @@ jobs:
|
|||||||
echo "Failed to restore Python virtual environment from cache"
|
echo "Failed to restore Python virtual environment from cache"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Download all coverage artifacts
|
- name: Download all coverage artifacts
|
||||||
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
|
uses: actions/download-artifact@v5.0.0
|
||||||
with:
|
with:
|
||||||
name: coverage
|
name: coverage
|
||||||
path: coverage/
|
path: coverage/
|
||||||
@@ -428,4 +428,4 @@ jobs:
|
|||||||
coverage report
|
coverage report
|
||||||
coverage xml
|
coverage xml
|
||||||
- name: Upload coverage to Codecov
|
- name: Upload coverage to Codecov
|
||||||
uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v5.5.1
|
uses: codecov/codecov-action@v5.4.3
|
||||||
|
2
.github/workflows/lock.yml
vendored
2
.github/workflows/lock.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
|||||||
lock:
|
lock:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: dessant/lock-threads@1bf7ec25051fe7c00bdd17e6a7cf3d7bfb7dc771 # v5.0.1
|
- uses: dessant/lock-threads@v5.0.1
|
||||||
with:
|
with:
|
||||||
github-token: ${{ github.token }}
|
github-token: ${{ github.token }}
|
||||||
issue-inactive-days: "30"
|
issue-inactive-days: "30"
|
||||||
|
4
.github/workflows/release-drafter.yml
vendored
4
.github/workflows/release-drafter.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
|||||||
name: Release Drafter
|
name: Release Drafter
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout the repository
|
- name: Checkout the repository
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
@@ -36,7 +36,7 @@ jobs:
|
|||||||
echo "version=$datepre.$newpost" >> "$GITHUB_OUTPUT"
|
echo "version=$datepre.$newpost" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
- name: Run Release Drafter
|
- name: Run Release Drafter
|
||||||
uses: release-drafter/release-drafter@b1476f6e6eb133afa41ed8589daba6dc69b4d3f5 # v6.1.0
|
uses: release-drafter/release-drafter@v6.1.0
|
||||||
with:
|
with:
|
||||||
tag: ${{ steps.version.outputs.version }}
|
tag: ${{ steps.version.outputs.version }}
|
||||||
name: ${{ steps.version.outputs.version }}
|
name: ${{ steps.version.outputs.version }}
|
||||||
|
4
.github/workflows/restrict-task-creation.yml
vendored
4
.github/workflows/restrict-task-creation.yml
vendored
@@ -9,10 +9,10 @@ jobs:
|
|||||||
check-authorization:
|
check-authorization:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
# Only run if this is a Task issue type (from the issue form)
|
# Only run if this is a Task issue type (from the issue form)
|
||||||
if: github.event.issue.type.name == 'Task'
|
if: github.event.issue.issue_type == 'Task'
|
||||||
steps:
|
steps:
|
||||||
- name: Check if user is authorized
|
- name: Check if user is authorized
|
||||||
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
|
uses: actions/github-script@v7
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const issueAuthor = context.payload.issue.user.login;
|
const issueAuthor = context.payload.issue.user.login;
|
||||||
|
4
.github/workflows/sentry.yaml
vendored
4
.github/workflows/sentry.yaml
vendored
@@ -10,9 +10,9 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Check out code from GitHub
|
- name: Check out code from GitHub
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4.2.2
|
||||||
- name: Sentry Release
|
- name: Sentry Release
|
||||||
uses: getsentry/action-release@526942b68292201ac6bbb99b9a0747d4abee354c # v3.2.0
|
uses: getsentry/action-release@v3.2.0
|
||||||
env:
|
env:
|
||||||
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
|
||||||
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
SENTRY_ORG: ${{ secrets.SENTRY_ORG }}
|
||||||
|
2
.github/workflows/stale.yml
vendored
2
.github/workflows/stale.yml
vendored
@@ -9,7 +9,7 @@ jobs:
|
|||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@3a9db7e6a41a89f618792c92c0e97cc736e1b13f # v10.0.0
|
- uses: actions/stale@v9.1.0
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
days-before-stale: 30
|
days-before-stale: 30
|
||||||
|
10
.github/workflows/update_frontend.yml
vendored
10
.github/workflows/update_frontend.yml
vendored
@@ -14,10 +14,10 @@ jobs:
|
|||||||
latest_version: ${{ steps.latest_frontend_version.outputs.latest_tag }}
|
latest_version: ${{ steps.latest_frontend_version.outputs.latest_tag }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4
|
||||||
- name: Get latest frontend release
|
- name: Get latest frontend release
|
||||||
id: latest_frontend_version
|
id: latest_frontend_version
|
||||||
uses: abatilo/release-info-action@32cb932219f1cee3fc4f4a298fd65ead5d35b661 # v1.3.3
|
uses: abatilo/release-info-action@v1.3.3
|
||||||
with:
|
with:
|
||||||
owner: home-assistant
|
owner: home-assistant
|
||||||
repo: frontend
|
repo: frontend
|
||||||
@@ -49,7 +49,7 @@ jobs:
|
|||||||
if: needs.check-version.outputs.skip != 'true'
|
if: needs.check-version.outputs.skip != 'true'
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
uses: actions/checkout@v4
|
||||||
- name: Clear www folder
|
- name: Clear www folder
|
||||||
run: |
|
run: |
|
||||||
rm -rf supervisor/api/panel/*
|
rm -rf supervisor/api/panel/*
|
||||||
@@ -57,7 +57,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
echo "${{ needs.check-version.outputs.latest_version }}" > .ha-frontend-version
|
echo "${{ needs.check-version.outputs.latest_version }}" > .ha-frontend-version
|
||||||
- name: Download release assets
|
- name: Download release assets
|
||||||
uses: robinraju/release-downloader@daf26c55d821e836577a15f77d86ddc078948b05 # v1.12
|
uses: robinraju/release-downloader@v1
|
||||||
with:
|
with:
|
||||||
repository: 'home-assistant/frontend'
|
repository: 'home-assistant/frontend'
|
||||||
tag: ${{ needs.check-version.outputs.latest_version }}
|
tag: ${{ needs.check-version.outputs.latest_version }}
|
||||||
@@ -68,7 +68,7 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
rm -f supervisor/api/panel/home_assistant_frontend_supervisor-*.tar.gz
|
rm -f supervisor/api/panel/home_assistant_frontend_supervisor-*.tar.gz
|
||||||
- name: Create PR
|
- name: Create PR
|
||||||
uses: peter-evans/create-pull-request@271a8d0340265f705b14b6d32b9829c1cb33d45e # v7.0.8
|
uses: peter-evans/create-pull-request@v7
|
||||||
with:
|
with:
|
||||||
commit-message: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}"
|
commit-message: "Update frontend to version ${{ needs.check-version.outputs.latest_version }}"
|
||||||
branch: autoupdate-frontend
|
branch: autoupdate-frontend
|
||||||
|
3
.gitignore
vendored
3
.gitignore
vendored
@@ -100,6 +100,3 @@ ENV/
|
|||||||
# mypy
|
# mypy
|
||||||
/.mypy_cache/*
|
/.mypy_cache/*
|
||||||
/.dmypy.json
|
/.dmypy.json
|
||||||
|
|
||||||
# Mac
|
|
||||||
.DS_Store
|
|
@@ -1 +1 @@
|
|||||||
20250811.0
|
20250806.0
|
||||||
|
@@ -29,7 +29,7 @@ RUN \
|
|||||||
\
|
\
|
||||||
&& curl -Lso /usr/bin/cosign "https://github.com/home-assistant/cosign/releases/download/${COSIGN_VERSION}/cosign_${BUILD_ARCH}" \
|
&& curl -Lso /usr/bin/cosign "https://github.com/home-assistant/cosign/releases/download/${COSIGN_VERSION}/cosign_${BUILD_ARCH}" \
|
||||||
&& chmod a+x /usr/bin/cosign \
|
&& chmod a+x /usr/bin/cosign \
|
||||||
&& pip3 install uv==0.8.9
|
&& pip3 install uv==0.6.17
|
||||||
|
|
||||||
# Install requirements
|
# Install requirements
|
||||||
COPY requirements.txt .
|
COPY requirements.txt .
|
||||||
|
@@ -5,11 +5,11 @@ attrs==25.3.0
|
|||||||
awesomeversion==25.8.0
|
awesomeversion==25.8.0
|
||||||
blockbuster==1.5.25
|
blockbuster==1.5.25
|
||||||
brotli==1.1.0
|
brotli==1.1.0
|
||||||
ciso8601==2.3.3
|
ciso8601==2.3.2
|
||||||
colorlog==6.9.0
|
colorlog==6.9.0
|
||||||
cpe==1.3.1
|
cpe==1.3.1
|
||||||
cryptography==46.0.1
|
cryptography==45.0.6
|
||||||
debugpy==1.8.17
|
debugpy==1.8.16
|
||||||
deepmerge==2.0
|
deepmerge==2.0
|
||||||
dirhash==0.5.0
|
dirhash==0.5.0
|
||||||
docker==7.1.0
|
docker==7.1.0
|
||||||
@@ -17,13 +17,13 @@ faust-cchardet==2.1.19
|
|||||||
gitpython==3.1.45
|
gitpython==3.1.45
|
||||||
jinja2==3.1.6
|
jinja2==3.1.6
|
||||||
log-rate-limit==1.4.2
|
log-rate-limit==1.4.2
|
||||||
orjson==3.11.3
|
orjson==3.11.1
|
||||||
pulsectl==24.12.0
|
pulsectl==24.12.0
|
||||||
pyudev==0.24.3
|
pyudev==0.24.3
|
||||||
PyYAML==6.0.2
|
PyYAML==6.0.2
|
||||||
requests==2.32.5
|
requests==2.32.4
|
||||||
securetar==2025.2.1
|
securetar==2025.2.1
|
||||||
sentry-sdk==2.38.0
|
sentry-sdk==2.34.1
|
||||||
setuptools==80.9.0
|
setuptools==80.9.0
|
||||||
voluptuous==0.15.2
|
voluptuous==0.15.2
|
||||||
dbus-fast==2.44.3
|
dbus-fast==2.44.3
|
||||||
|
@@ -1,16 +1,16 @@
|
|||||||
astroid==3.3.11
|
astroid==3.3.11
|
||||||
coverage==7.10.7
|
coverage==7.10.2
|
||||||
mypy==1.18.2
|
mypy==1.17.1
|
||||||
pre-commit==4.3.0
|
pre-commit==4.2.0
|
||||||
pylint==3.3.8
|
pylint==3.3.7
|
||||||
pytest-aiohttp==1.1.0
|
pytest-aiohttp==1.1.0
|
||||||
pytest-asyncio==0.25.2
|
pytest-asyncio==0.25.2
|
||||||
pytest-cov==7.0.0
|
pytest-cov==6.2.1
|
||||||
pytest-timeout==2.4.0
|
pytest-timeout==2.4.0
|
||||||
pytest==8.4.2
|
pytest==8.4.1
|
||||||
ruff==0.13.1
|
ruff==0.12.7
|
||||||
time-machine==2.19.0
|
time-machine==2.17.0
|
||||||
types-docker==7.1.0.20250916
|
types-docker==7.1.0.20250705
|
||||||
types-pyyaml==6.0.12.20250915
|
types-pyyaml==6.0.12.20250516
|
||||||
types-requests==2.32.4.20250913
|
types-requests==2.32.4.20250611
|
||||||
urllib3==2.5.0
|
urllib3==2.5.0
|
||||||
|
@@ -66,23 +66,10 @@ if __name__ == "__main__":
|
|||||||
_LOGGER.info("Setting up Supervisor")
|
_LOGGER.info("Setting up Supervisor")
|
||||||
loop.run_until_complete(coresys.core.setup())
|
loop.run_until_complete(coresys.core.setup())
|
||||||
|
|
||||||
# Create startup task that can be cancelled gracefully
|
bootstrap.register_signal_handlers(loop, coresys)
|
||||||
startup_task = loop.create_task(coresys.core.start())
|
|
||||||
|
|
||||||
def shutdown_handler() -> None:
|
|
||||||
"""Handle shutdown signals gracefully during startup."""
|
|
||||||
if not startup_task.done():
|
|
||||||
_LOGGER.warning("Supervisor startup interrupted by shutdown signal")
|
|
||||||
startup_task.cancel()
|
|
||||||
|
|
||||||
coresys.create_task(coresys.core.stop())
|
|
||||||
|
|
||||||
bootstrap.register_signal_handlers(loop, shutdown_handler)
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
loop.run_until_complete(startup_task)
|
loop.run_until_complete(coresys.core.start())
|
||||||
except asyncio.CancelledError:
|
|
||||||
_LOGGER.warning("Supervisor startup cancelled")
|
|
||||||
except Exception as err: # pylint: disable=broad-except
|
except Exception as err: # pylint: disable=broad-except
|
||||||
# Supervisor itself is running at this point, just something didn't
|
# Supervisor itself is running at this point, just something didn't
|
||||||
# start as expected. Log with traceback to get more insights for
|
# start as expected. Log with traceback to get more insights for
|
||||||
|
@@ -67,9 +67,9 @@ from ..docker.monitor import DockerContainerStateEvent
|
|||||||
from ..docker.stats import DockerStats
|
from ..docker.stats import DockerStats
|
||||||
from ..exceptions import (
|
from ..exceptions import (
|
||||||
AddonConfigurationError,
|
AddonConfigurationError,
|
||||||
AddonNotSupportedError,
|
|
||||||
AddonsError,
|
AddonsError,
|
||||||
AddonsJobError,
|
AddonsJobError,
|
||||||
|
AddonsNotSupportedError,
|
||||||
ConfigurationFileError,
|
ConfigurationFileError,
|
||||||
DockerError,
|
DockerError,
|
||||||
HomeAssistantAPIError,
|
HomeAssistantAPIError,
|
||||||
@@ -1172,7 +1172,7 @@ class Addon(AddonModel):
|
|||||||
async def write_stdin(self, data) -> None:
|
async def write_stdin(self, data) -> None:
|
||||||
"""Write data to add-on stdin."""
|
"""Write data to add-on stdin."""
|
||||||
if not self.with_stdin:
|
if not self.with_stdin:
|
||||||
raise AddonNotSupportedError(
|
raise AddonsNotSupportedError(
|
||||||
f"Add-on {self.slug} does not support writing to stdin!", _LOGGER.error
|
f"Add-on {self.slug} does not support writing to stdin!", _LOGGER.error
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -1419,7 +1419,7 @@ class Addon(AddonModel):
|
|||||||
|
|
||||||
# If available
|
# If available
|
||||||
if not self._available(data[ATTR_SYSTEM]):
|
if not self._available(data[ATTR_SYSTEM]):
|
||||||
raise AddonNotSupportedError(
|
raise AddonsNotSupportedError(
|
||||||
f"Add-on {self.slug} is not available for this platform",
|
f"Add-on {self.slug} is not available for this platform",
|
||||||
_LOGGER.error,
|
_LOGGER.error,
|
||||||
)
|
)
|
||||||
|
@@ -14,9 +14,9 @@ from supervisor.jobs.const import JobConcurrency
|
|||||||
from ..const import AddonBoot, AddonStartup, AddonState
|
from ..const import AddonBoot, AddonStartup, AddonState
|
||||||
from ..coresys import CoreSys, CoreSysAttributes
|
from ..coresys import CoreSys, CoreSysAttributes
|
||||||
from ..exceptions import (
|
from ..exceptions import (
|
||||||
AddonNotSupportedError,
|
|
||||||
AddonsError,
|
AddonsError,
|
||||||
AddonsJobError,
|
AddonsJobError,
|
||||||
|
AddonsNotSupportedError,
|
||||||
CoreDNSError,
|
CoreDNSError,
|
||||||
DockerError,
|
DockerError,
|
||||||
HassioError,
|
HassioError,
|
||||||
@@ -184,9 +184,7 @@ class AddonManager(CoreSysAttributes):
|
|||||||
on_condition=AddonsJobError,
|
on_condition=AddonsJobError,
|
||||||
concurrency=JobConcurrency.QUEUE,
|
concurrency=JobConcurrency.QUEUE,
|
||||||
)
|
)
|
||||||
async def install(
|
async def install(self, slug: str) -> None:
|
||||||
self, slug: str, *, validation_complete: asyncio.Event | None = None
|
|
||||||
) -> None:
|
|
||||||
"""Install an add-on."""
|
"""Install an add-on."""
|
||||||
self.sys_jobs.current.reference = slug
|
self.sys_jobs.current.reference = slug
|
||||||
|
|
||||||
@@ -199,10 +197,6 @@ class AddonManager(CoreSysAttributes):
|
|||||||
|
|
||||||
store.validate_availability()
|
store.validate_availability()
|
||||||
|
|
||||||
# If being run in the background, notify caller that validation has completed
|
|
||||||
if validation_complete:
|
|
||||||
validation_complete.set()
|
|
||||||
|
|
||||||
await Addon(self.coresys, slug).install()
|
await Addon(self.coresys, slug).install()
|
||||||
|
|
||||||
_LOGGER.info("Add-on '%s' successfully installed", slug)
|
_LOGGER.info("Add-on '%s' successfully installed", slug)
|
||||||
@@ -232,11 +226,7 @@ class AddonManager(CoreSysAttributes):
|
|||||||
on_condition=AddonsJobError,
|
on_condition=AddonsJobError,
|
||||||
)
|
)
|
||||||
async def update(
|
async def update(
|
||||||
self,
|
self, slug: str, backup: bool | None = False
|
||||||
slug: str,
|
|
||||||
backup: bool | None = False,
|
|
||||||
*,
|
|
||||||
validation_complete: asyncio.Event | None = None,
|
|
||||||
) -> asyncio.Task | None:
|
) -> asyncio.Task | None:
|
||||||
"""Update add-on.
|
"""Update add-on.
|
||||||
|
|
||||||
@@ -261,10 +251,6 @@ class AddonManager(CoreSysAttributes):
|
|||||||
# Check if available, Maybe something have changed
|
# Check if available, Maybe something have changed
|
||||||
store.validate_availability()
|
store.validate_availability()
|
||||||
|
|
||||||
# If being run in the background, notify caller that validation has completed
|
|
||||||
if validation_complete:
|
|
||||||
validation_complete.set()
|
|
||||||
|
|
||||||
if backup:
|
if backup:
|
||||||
await self.sys_backups.do_backup_partial(
|
await self.sys_backups.do_backup_partial(
|
||||||
name=f"addon_{addon.slug}_{addon.version}",
|
name=f"addon_{addon.slug}_{addon.version}",
|
||||||
@@ -307,7 +293,7 @@ class AddonManager(CoreSysAttributes):
|
|||||||
"Version changed, use Update instead Rebuild", _LOGGER.error
|
"Version changed, use Update instead Rebuild", _LOGGER.error
|
||||||
)
|
)
|
||||||
if not force and not addon.need_build:
|
if not force and not addon.need_build:
|
||||||
raise AddonNotSupportedError(
|
raise AddonsNotSupportedError(
|
||||||
"Can't rebuild a image based add-on", _LOGGER.error
|
"Can't rebuild a image based add-on", _LOGGER.error
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@@ -89,12 +89,7 @@ from ..const import (
|
|||||||
)
|
)
|
||||||
from ..coresys import CoreSys
|
from ..coresys import CoreSys
|
||||||
from ..docker.const import Capabilities
|
from ..docker.const import Capabilities
|
||||||
from ..exceptions import (
|
from ..exceptions import AddonsNotSupportedError
|
||||||
AddonNotSupportedArchitectureError,
|
|
||||||
AddonNotSupportedError,
|
|
||||||
AddonNotSupportedHomeAssistantVersionError,
|
|
||||||
AddonNotSupportedMachineTypeError,
|
|
||||||
)
|
|
||||||
from ..jobs.const import JOB_GROUP_ADDON
|
from ..jobs.const import JOB_GROUP_ADDON
|
||||||
from ..jobs.job_group import JobGroup
|
from ..jobs.job_group import JobGroup
|
||||||
from ..utils import version_is_new_enough
|
from ..utils import version_is_new_enough
|
||||||
@@ -685,8 +680,9 @@ class AddonModel(JobGroup, ABC):
|
|||||||
"""Validate if addon is available for current system."""
|
"""Validate if addon is available for current system."""
|
||||||
# Architecture
|
# Architecture
|
||||||
if not self.sys_arch.is_supported(config[ATTR_ARCH]):
|
if not self.sys_arch.is_supported(config[ATTR_ARCH]):
|
||||||
raise AddonNotSupportedArchitectureError(
|
raise AddonsNotSupportedError(
|
||||||
logger, slug=self.slug, architectures=config[ATTR_ARCH]
|
f"Add-on {self.slug} not supported on this platform, supported architectures: {', '.join(config[ATTR_ARCH])}",
|
||||||
|
logger,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Machine / Hardware
|
# Machine / Hardware
|
||||||
@@ -694,8 +690,9 @@ class AddonModel(JobGroup, ABC):
|
|||||||
if machine and (
|
if machine and (
|
||||||
f"!{self.sys_machine}" in machine or self.sys_machine not in machine
|
f"!{self.sys_machine}" in machine or self.sys_machine not in machine
|
||||||
):
|
):
|
||||||
raise AddonNotSupportedMachineTypeError(
|
raise AddonsNotSupportedError(
|
||||||
logger, slug=self.slug, machine_types=machine
|
f"Add-on {self.slug} not supported on this machine, supported machine types: {', '.join(machine)}",
|
||||||
|
logger,
|
||||||
)
|
)
|
||||||
|
|
||||||
# Home Assistant
|
# Home Assistant
|
||||||
@@ -704,15 +701,16 @@ class AddonModel(JobGroup, ABC):
|
|||||||
if version and not version_is_new_enough(
|
if version and not version_is_new_enough(
|
||||||
self.sys_homeassistant.version, version
|
self.sys_homeassistant.version, version
|
||||||
):
|
):
|
||||||
raise AddonNotSupportedHomeAssistantVersionError(
|
raise AddonsNotSupportedError(
|
||||||
logger, slug=self.slug, version=str(version)
|
f"Add-on {self.slug} not supported on this system, requires Home Assistant version {version} or greater",
|
||||||
|
logger,
|
||||||
)
|
)
|
||||||
|
|
||||||
def _available(self, config) -> bool:
|
def _available(self, config) -> bool:
|
||||||
"""Return True if this add-on is available on this platform."""
|
"""Return True if this add-on is available on this platform."""
|
||||||
try:
|
try:
|
||||||
self._validate_availability(config)
|
self._validate_availability(config)
|
||||||
except AddonNotSupportedError:
|
except AddonsNotSupportedError:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
@@ -93,7 +93,15 @@ class AddonOptions(CoreSysAttributes):
|
|||||||
|
|
||||||
typ = self.raw_schema[key]
|
typ = self.raw_schema[key]
|
||||||
try:
|
try:
|
||||||
options[key] = self._validate_element(typ, value, key)
|
if isinstance(typ, list):
|
||||||
|
# nested value list
|
||||||
|
options[key] = self._nested_validate_list(typ[0], value, key)
|
||||||
|
elif isinstance(typ, dict):
|
||||||
|
# nested value dict
|
||||||
|
options[key] = self._nested_validate_dict(typ, value, key)
|
||||||
|
else:
|
||||||
|
# normal value
|
||||||
|
options[key] = self._single_validate(typ, value, key)
|
||||||
except (IndexError, KeyError):
|
except (IndexError, KeyError):
|
||||||
raise vol.Invalid(
|
raise vol.Invalid(
|
||||||
f"Type error for option '{key}' in {self._name} ({self._slug})"
|
f"Type error for option '{key}' in {self._name} ({self._slug})"
|
||||||
@@ -103,20 +111,7 @@ class AddonOptions(CoreSysAttributes):
|
|||||||
return options
|
return options
|
||||||
|
|
||||||
# pylint: disable=no-value-for-parameter
|
# pylint: disable=no-value-for-parameter
|
||||||
def _validate_element(self, typ: Any, value: Any, key: str) -> Any:
|
def _single_validate(self, typ: str, value: Any, key: str):
|
||||||
"""Validate a value against a type specification."""
|
|
||||||
if isinstance(typ, list):
|
|
||||||
# nested value list
|
|
||||||
return self._nested_validate_list(typ[0], value, key)
|
|
||||||
elif isinstance(typ, dict):
|
|
||||||
# nested value dict
|
|
||||||
return self._nested_validate_dict(typ, value, key)
|
|
||||||
else:
|
|
||||||
# normal value
|
|
||||||
return self._single_validate(typ, value, key)
|
|
||||||
|
|
||||||
# pylint: disable=no-value-for-parameter
|
|
||||||
def _single_validate(self, typ: str, value: Any, key: str) -> Any:
|
|
||||||
"""Validate a single element."""
|
"""Validate a single element."""
|
||||||
# if required argument
|
# if required argument
|
||||||
if value is None:
|
if value is None:
|
||||||
@@ -193,9 +188,7 @@ class AddonOptions(CoreSysAttributes):
|
|||||||
f"Fatal error for option '{key}' with type '{typ}' in {self._name} ({self._slug})"
|
f"Fatal error for option '{key}' with type '{typ}' in {self._name} ({self._slug})"
|
||||||
) from None
|
) from None
|
||||||
|
|
||||||
def _nested_validate_list(
|
def _nested_validate_list(self, typ: Any, data_list: list[Any], key: str):
|
||||||
self, typ: Any, data_list: list[Any], key: str
|
|
||||||
) -> list[Any]:
|
|
||||||
"""Validate nested items."""
|
"""Validate nested items."""
|
||||||
options = []
|
options = []
|
||||||
|
|
||||||
@@ -208,13 +201,17 @@ class AddonOptions(CoreSysAttributes):
|
|||||||
# Process list
|
# Process list
|
||||||
for element in data_list:
|
for element in data_list:
|
||||||
# Nested?
|
# Nested?
|
||||||
options.append(self._validate_element(typ, element, key))
|
if isinstance(typ, dict):
|
||||||
|
c_options = self._nested_validate_dict(typ, element, key)
|
||||||
|
options.append(c_options)
|
||||||
|
else:
|
||||||
|
options.append(self._single_validate(typ, element, key))
|
||||||
|
|
||||||
return options
|
return options
|
||||||
|
|
||||||
def _nested_validate_dict(
|
def _nested_validate_dict(
|
||||||
self, typ: dict[Any, Any], data_dict: dict[Any, Any], key: str
|
self, typ: dict[Any, Any], data_dict: dict[Any, Any], key: str
|
||||||
) -> dict[Any, Any]:
|
):
|
||||||
"""Validate nested items."""
|
"""Validate nested items."""
|
||||||
options = {}
|
options = {}
|
||||||
|
|
||||||
@@ -234,7 +231,12 @@ class AddonOptions(CoreSysAttributes):
|
|||||||
continue
|
continue
|
||||||
|
|
||||||
# Nested?
|
# Nested?
|
||||||
options[c_key] = self._validate_element(typ[c_key], c_value, c_key)
|
if isinstance(typ[c_key], list):
|
||||||
|
options[c_key] = self._nested_validate_list(
|
||||||
|
typ[c_key][0], c_value, c_key
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
options[c_key] = self._single_validate(typ[c_key], c_value, c_key)
|
||||||
|
|
||||||
self._check_missing_options(typ, options, key)
|
self._check_missing_options(typ, options, key)
|
||||||
return options
|
return options
|
||||||
@@ -272,28 +274,18 @@ class UiOptions(CoreSysAttributes):
|
|||||||
|
|
||||||
# read options
|
# read options
|
||||||
for key, value in raw_schema.items():
|
for key, value in raw_schema.items():
|
||||||
self._ui_schema_element(ui_schema, value, key)
|
if isinstance(value, list):
|
||||||
|
# nested value list
|
||||||
|
self._nested_ui_list(ui_schema, value, key)
|
||||||
|
elif isinstance(value, dict):
|
||||||
|
# nested value dict
|
||||||
|
self._nested_ui_dict(ui_schema, value, key)
|
||||||
|
else:
|
||||||
|
# normal value
|
||||||
|
self._single_ui_option(ui_schema, value, key)
|
||||||
|
|
||||||
return ui_schema
|
return ui_schema
|
||||||
|
|
||||||
def _ui_schema_element(
|
|
||||||
self,
|
|
||||||
ui_schema: list[dict[str, Any]],
|
|
||||||
value: str,
|
|
||||||
key: str,
|
|
||||||
multiple: bool = False,
|
|
||||||
):
|
|
||||||
if isinstance(value, list):
|
|
||||||
# nested value list
|
|
||||||
assert not multiple
|
|
||||||
self._nested_ui_list(ui_schema, value, key)
|
|
||||||
elif isinstance(value, dict):
|
|
||||||
# nested value dict
|
|
||||||
self._nested_ui_dict(ui_schema, value, key, multiple)
|
|
||||||
else:
|
|
||||||
# normal value
|
|
||||||
self._single_ui_option(ui_schema, value, key, multiple)
|
|
||||||
|
|
||||||
def _single_ui_option(
|
def _single_ui_option(
|
||||||
self,
|
self,
|
||||||
ui_schema: list[dict[str, Any]],
|
ui_schema: list[dict[str, Any]],
|
||||||
@@ -385,7 +377,10 @@ class UiOptions(CoreSysAttributes):
|
|||||||
_LOGGER.error("Invalid schema %s", key)
|
_LOGGER.error("Invalid schema %s", key)
|
||||||
return
|
return
|
||||||
|
|
||||||
self._ui_schema_element(ui_schema, element, key, multiple=True)
|
if isinstance(element, dict):
|
||||||
|
self._nested_ui_dict(ui_schema, element, key, multiple=True)
|
||||||
|
else:
|
||||||
|
self._single_ui_option(ui_schema, element, key, multiple=True)
|
||||||
|
|
||||||
def _nested_ui_dict(
|
def _nested_ui_dict(
|
||||||
self,
|
self,
|
||||||
@@ -404,7 +399,11 @@ class UiOptions(CoreSysAttributes):
|
|||||||
|
|
||||||
nested_schema: list[dict[str, Any]] = []
|
nested_schema: list[dict[str, Any]] = []
|
||||||
for c_key, c_value in option_dict.items():
|
for c_key, c_value in option_dict.items():
|
||||||
self._ui_schema_element(nested_schema, c_value, c_key)
|
# Nested?
|
||||||
|
if isinstance(c_value, list):
|
||||||
|
self._nested_ui_list(nested_schema, c_value, c_key)
|
||||||
|
else:
|
||||||
|
self._single_ui_option(nested_schema, c_value, c_key)
|
||||||
|
|
||||||
ui_node["schema"] = nested_schema
|
ui_node["schema"] = nested_schema
|
||||||
ui_schema.append(ui_node)
|
ui_schema.append(ui_node)
|
||||||
|
@@ -32,7 +32,6 @@ from ..const import (
|
|||||||
ATTR_DISCOVERY,
|
ATTR_DISCOVERY,
|
||||||
ATTR_DOCKER_API,
|
ATTR_DOCKER_API,
|
||||||
ATTR_ENVIRONMENT,
|
ATTR_ENVIRONMENT,
|
||||||
ATTR_FIELDS,
|
|
||||||
ATTR_FULL_ACCESS,
|
ATTR_FULL_ACCESS,
|
||||||
ATTR_GPIO,
|
ATTR_GPIO,
|
||||||
ATTR_HASSIO_API,
|
ATTR_HASSIO_API,
|
||||||
@@ -138,19 +137,7 @@ RE_DOCKER_IMAGE_BUILD = re.compile(
|
|||||||
r"^([a-zA-Z\-\.:\d{}]+/)*?([\-\w{}]+)/([\-\w{}]+)(:[\.\-\w{}]+)?$"
|
r"^([a-zA-Z\-\.:\d{}]+/)*?([\-\w{}]+)/([\-\w{}]+)(:[\.\-\w{}]+)?$"
|
||||||
)
|
)
|
||||||
|
|
||||||
SCHEMA_ELEMENT = vol.Schema(
|
SCHEMA_ELEMENT = vol.Match(RE_SCHEMA_ELEMENT)
|
||||||
vol.Any(
|
|
||||||
vol.Match(RE_SCHEMA_ELEMENT),
|
|
||||||
[
|
|
||||||
# A list may not directly contain another list
|
|
||||||
vol.Any(
|
|
||||||
vol.Match(RE_SCHEMA_ELEMENT),
|
|
||||||
{str: vol.Self},
|
|
||||||
)
|
|
||||||
],
|
|
||||||
{str: vol.Self},
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
RE_MACHINE = re.compile(
|
RE_MACHINE = re.compile(
|
||||||
r"^!?(?:"
|
r"^!?(?:"
|
||||||
@@ -279,23 +266,10 @@ def _migrate_addon_config(protocol=False):
|
|||||||
volumes = []
|
volumes = []
|
||||||
for entry in config.get(ATTR_MAP, []):
|
for entry in config.get(ATTR_MAP, []):
|
||||||
if isinstance(entry, dict):
|
if isinstance(entry, dict):
|
||||||
# Validate that dict entries have required 'type' field
|
|
||||||
if ATTR_TYPE not in entry:
|
|
||||||
_LOGGER.warning(
|
|
||||||
"Add-on config has invalid map entry missing 'type' field: %s. Skipping invalid entry for %s",
|
|
||||||
entry,
|
|
||||||
name,
|
|
||||||
)
|
|
||||||
continue
|
|
||||||
volumes.append(entry)
|
volumes.append(entry)
|
||||||
if isinstance(entry, str):
|
if isinstance(entry, str):
|
||||||
result = RE_VOLUME.match(entry)
|
result = RE_VOLUME.match(entry)
|
||||||
if not result:
|
if not result:
|
||||||
_LOGGER.warning(
|
|
||||||
"Add-on config has invalid map entry: %s. Skipping invalid entry for %s",
|
|
||||||
entry,
|
|
||||||
name,
|
|
||||||
)
|
|
||||||
continue
|
continue
|
||||||
volumes.append(
|
volumes.append(
|
||||||
{
|
{
|
||||||
@@ -304,8 +278,8 @@ def _migrate_addon_config(protocol=False):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
# Always update config to clear potentially malformed ones
|
if volumes:
|
||||||
config[ATTR_MAP] = volumes
|
config[ATTR_MAP] = volumes
|
||||||
|
|
||||||
# 2023-10 "config" became "homeassistant" so /config can be used for addon's public config
|
# 2023-10 "config" became "homeassistant" so /config can be used for addon's public config
|
||||||
if any(volume[ATTR_TYPE] == MappingType.CONFIG for volume in volumes):
|
if any(volume[ATTR_TYPE] == MappingType.CONFIG for volume in volumes):
|
||||||
@@ -419,7 +393,20 @@ _SCHEMA_ADDON_CONFIG = vol.Schema(
|
|||||||
vol.Optional(ATTR_CODENOTARY): vol.Email(),
|
vol.Optional(ATTR_CODENOTARY): vol.Email(),
|
||||||
vol.Optional(ATTR_OPTIONS, default={}): dict,
|
vol.Optional(ATTR_OPTIONS, default={}): dict,
|
||||||
vol.Optional(ATTR_SCHEMA, default={}): vol.Any(
|
vol.Optional(ATTR_SCHEMA, default={}): vol.Any(
|
||||||
vol.Schema({str: SCHEMA_ELEMENT}),
|
vol.Schema(
|
||||||
|
{
|
||||||
|
str: vol.Any(
|
||||||
|
SCHEMA_ELEMENT,
|
||||||
|
[
|
||||||
|
vol.Any(
|
||||||
|
SCHEMA_ELEMENT,
|
||||||
|
{str: vol.Any(SCHEMA_ELEMENT, [SCHEMA_ELEMENT])},
|
||||||
|
)
|
||||||
|
],
|
||||||
|
vol.Schema({str: vol.Any(SCHEMA_ELEMENT, [SCHEMA_ELEMENT])}),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
),
|
||||||
False,
|
False,
|
||||||
),
|
),
|
||||||
vol.Optional(ATTR_IMAGE): docker_image,
|
vol.Optional(ATTR_IMAGE): docker_image,
|
||||||
@@ -455,7 +442,6 @@ SCHEMA_TRANSLATION_CONFIGURATION = vol.Schema(
|
|||||||
{
|
{
|
||||||
vol.Required(ATTR_NAME): str,
|
vol.Required(ATTR_NAME): str,
|
||||||
vol.Optional(ATTR_DESCRIPTON): vol.Maybe(str),
|
vol.Optional(ATTR_DESCRIPTON): vol.Maybe(str),
|
||||||
vol.Optional(ATTR_FIELDS): {str: vol.Self},
|
|
||||||
},
|
},
|
||||||
extra=vol.REMOVE_EXTRA,
|
extra=vol.REMOVE_EXTRA,
|
||||||
)
|
)
|
||||||
|
@@ -146,14 +146,6 @@ class RestAPI(CoreSysAttributes):
|
|||||||
follow=True,
|
follow=True,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
web.get(
|
|
||||||
f"{path}/logs/latest",
|
|
||||||
partial(
|
|
||||||
self._api_host.advanced_logs,
|
|
||||||
identifier=syslog_identifier,
|
|
||||||
latest=True,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
web.get(
|
web.get(
|
||||||
f"{path}/logs/boots/{{bootid}}",
|
f"{path}/logs/boots/{{bootid}}",
|
||||||
partial(self._api_host.advanced_logs, identifier=syslog_identifier),
|
partial(self._api_host.advanced_logs, identifier=syslog_identifier),
|
||||||
@@ -206,7 +198,6 @@ class RestAPI(CoreSysAttributes):
|
|||||||
web.post("/host/reload", api_host.reload),
|
web.post("/host/reload", api_host.reload),
|
||||||
web.post("/host/options", api_host.options),
|
web.post("/host/options", api_host.options),
|
||||||
web.get("/host/services", api_host.services),
|
web.get("/host/services", api_host.services),
|
||||||
web.get("/host/disks/default/usage", api_host.disk_usage),
|
|
||||||
]
|
]
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -448,7 +439,6 @@ class RestAPI(CoreSysAttributes):
|
|||||||
# is known and reported to the user using the resolution center.
|
# is known and reported to the user using the resolution center.
|
||||||
await async_capture_exception(err)
|
await async_capture_exception(err)
|
||||||
kwargs.pop("follow", None) # Follow is not supported for Docker logs
|
kwargs.pop("follow", None) # Follow is not supported for Docker logs
|
||||||
kwargs.pop("latest", None) # Latest is not supported for Docker logs
|
|
||||||
return await api_supervisor.logs(*args, **kwargs)
|
return await api_supervisor.logs(*args, **kwargs)
|
||||||
|
|
||||||
self.webapp.add_routes(
|
self.webapp.add_routes(
|
||||||
@@ -458,10 +448,6 @@ class RestAPI(CoreSysAttributes):
|
|||||||
"/supervisor/logs/follow",
|
"/supervisor/logs/follow",
|
||||||
partial(get_supervisor_logs, follow=True),
|
partial(get_supervisor_logs, follow=True),
|
||||||
),
|
),
|
||||||
web.get(
|
|
||||||
"/supervisor/logs/latest",
|
|
||||||
partial(get_supervisor_logs, latest=True),
|
|
||||||
),
|
|
||||||
web.get("/supervisor/logs/boots/{bootid}", get_supervisor_logs),
|
web.get("/supervisor/logs/boots/{bootid}", get_supervisor_logs),
|
||||||
web.get(
|
web.get(
|
||||||
"/supervisor/logs/boots/{bootid}/follow",
|
"/supervisor/logs/boots/{bootid}/follow",
|
||||||
@@ -574,10 +560,6 @@ class RestAPI(CoreSysAttributes):
|
|||||||
"/addons/{addon}/logs/follow",
|
"/addons/{addon}/logs/follow",
|
||||||
partial(get_addon_logs, follow=True),
|
partial(get_addon_logs, follow=True),
|
||||||
),
|
),
|
||||||
web.get(
|
|
||||||
"/addons/{addon}/logs/latest",
|
|
||||||
partial(get_addon_logs, latest=True),
|
|
||||||
),
|
|
||||||
web.get("/addons/{addon}/logs/boots/{bootid}", get_addon_logs),
|
web.get("/addons/{addon}/logs/boots/{bootid}", get_addon_logs),
|
||||||
web.get(
|
web.get(
|
||||||
"/addons/{addon}/logs/boots/{bootid}/follow",
|
"/addons/{addon}/logs/boots/{bootid}/follow",
|
||||||
@@ -752,10 +734,6 @@ class RestAPI(CoreSysAttributes):
|
|||||||
"/store/addons/{addon}/documentation",
|
"/store/addons/{addon}/documentation",
|
||||||
api_store.addons_addon_documentation,
|
api_store.addons_addon_documentation,
|
||||||
),
|
),
|
||||||
web.get(
|
|
||||||
"/store/addons/{addon}/availability",
|
|
||||||
api_store.addons_addon_availability,
|
|
||||||
),
|
|
||||||
web.post(
|
web.post(
|
||||||
"/store/addons/{addon}/install", api_store.addons_addon_install
|
"/store/addons/{addon}/install", api_store.addons_addon_install
|
||||||
),
|
),
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
|
from collections.abc import Callable
|
||||||
import errno
|
import errno
|
||||||
from io import IOBase
|
from io import IOBase
|
||||||
import logging
|
import logging
|
||||||
@@ -45,9 +46,12 @@ from ..const import (
|
|||||||
ATTR_TYPE,
|
ATTR_TYPE,
|
||||||
ATTR_VERSION,
|
ATTR_VERSION,
|
||||||
REQUEST_FROM,
|
REQUEST_FROM,
|
||||||
|
BusEvent,
|
||||||
|
CoreState,
|
||||||
)
|
)
|
||||||
from ..coresys import CoreSysAttributes
|
from ..coresys import CoreSysAttributes
|
||||||
from ..exceptions import APIError, APIForbidden, APINotFound
|
from ..exceptions import APIError, APIForbidden, APINotFound
|
||||||
|
from ..jobs import JobSchedulerOptions, SupervisorJob
|
||||||
from ..mounts.const import MountUsage
|
from ..mounts.const import MountUsage
|
||||||
from ..resolution.const import UnhealthyReason
|
from ..resolution.const import UnhealthyReason
|
||||||
from .const import (
|
from .const import (
|
||||||
@@ -57,7 +61,7 @@ from .const import (
|
|||||||
ATTR_LOCATIONS,
|
ATTR_LOCATIONS,
|
||||||
CONTENT_TYPE_TAR,
|
CONTENT_TYPE_TAR,
|
||||||
)
|
)
|
||||||
from .utils import api_process, api_validate, background_task
|
from .utils import api_process, api_validate
|
||||||
|
|
||||||
_LOGGER: logging.Logger = logging.getLogger(__name__)
|
_LOGGER: logging.Logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -285,6 +289,41 @@ class APIBackups(CoreSysAttributes):
|
|||||||
f"Location {LOCATION_CLOUD_BACKUP} is only available for Home Assistant"
|
f"Location {LOCATION_CLOUD_BACKUP} is only available for Home Assistant"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
async def _background_backup_task(
|
||||||
|
self, backup_method: Callable, *args, **kwargs
|
||||||
|
) -> tuple[asyncio.Task, str]:
|
||||||
|
"""Start backup task in background and return task and job ID."""
|
||||||
|
event = asyncio.Event()
|
||||||
|
job, backup_task = cast(
|
||||||
|
tuple[SupervisorJob, asyncio.Task],
|
||||||
|
self.sys_jobs.schedule_job(
|
||||||
|
backup_method, JobSchedulerOptions(), *args, **kwargs
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
|
async def release_on_freeze(new_state: CoreState):
|
||||||
|
if new_state == CoreState.FREEZE:
|
||||||
|
event.set()
|
||||||
|
|
||||||
|
# Wait for system to get into freeze state before returning
|
||||||
|
# If the backup fails validation it will raise before getting there
|
||||||
|
listener = self.sys_bus.register_event(
|
||||||
|
BusEvent.SUPERVISOR_STATE_CHANGE, release_on_freeze
|
||||||
|
)
|
||||||
|
try:
|
||||||
|
event_task = self.sys_create_task(event.wait())
|
||||||
|
_, pending = await asyncio.wait(
|
||||||
|
(backup_task, event_task),
|
||||||
|
return_when=asyncio.FIRST_COMPLETED,
|
||||||
|
)
|
||||||
|
# It seems backup returned early (error or something), make sure to cancel
|
||||||
|
# the event task to avoid "Task was destroyed but it is pending!" errors.
|
||||||
|
if event_task in pending:
|
||||||
|
event_task.cancel()
|
||||||
|
return (backup_task, job.uuid)
|
||||||
|
finally:
|
||||||
|
self.sys_bus.remove_listener(listener)
|
||||||
|
|
||||||
@api_process
|
@api_process
|
||||||
async def backup_full(self, request: web.Request):
|
async def backup_full(self, request: web.Request):
|
||||||
"""Create full backup."""
|
"""Create full backup."""
|
||||||
@@ -303,8 +342,8 @@ class APIBackups(CoreSysAttributes):
|
|||||||
body[ATTR_ADDITIONAL_LOCATIONS] = locations
|
body[ATTR_ADDITIONAL_LOCATIONS] = locations
|
||||||
|
|
||||||
background = body.pop(ATTR_BACKGROUND)
|
background = body.pop(ATTR_BACKGROUND)
|
||||||
backup_task, job_id = await background_task(
|
backup_task, job_id = await self._background_backup_task(
|
||||||
self, self.sys_backups.do_backup_full, **body
|
self.sys_backups.do_backup_full, **body
|
||||||
)
|
)
|
||||||
|
|
||||||
if background and not backup_task.done():
|
if background and not backup_task.done():
|
||||||
@@ -339,8 +378,8 @@ class APIBackups(CoreSysAttributes):
|
|||||||
body[ATTR_ADDONS] = list(self.sys_addons.local)
|
body[ATTR_ADDONS] = list(self.sys_addons.local)
|
||||||
|
|
||||||
background = body.pop(ATTR_BACKGROUND)
|
background = body.pop(ATTR_BACKGROUND)
|
||||||
backup_task, job_id = await background_task(
|
backup_task, job_id = await self._background_backup_task(
|
||||||
self, self.sys_backups.do_backup_partial, **body
|
self.sys_backups.do_backup_partial, **body
|
||||||
)
|
)
|
||||||
|
|
||||||
if background and not backup_task.done():
|
if background and not backup_task.done():
|
||||||
@@ -363,8 +402,8 @@ class APIBackups(CoreSysAttributes):
|
|||||||
request, body.get(ATTR_LOCATION, backup.location)
|
request, body.get(ATTR_LOCATION, backup.location)
|
||||||
)
|
)
|
||||||
background = body.pop(ATTR_BACKGROUND)
|
background = body.pop(ATTR_BACKGROUND)
|
||||||
restore_task, job_id = await background_task(
|
restore_task, job_id = await self._background_backup_task(
|
||||||
self, self.sys_backups.do_restore_full, backup, **body
|
self.sys_backups.do_restore_full, backup, **body
|
||||||
)
|
)
|
||||||
|
|
||||||
if background and not restore_task.done() or await restore_task:
|
if background and not restore_task.done() or await restore_task:
|
||||||
@@ -383,8 +422,8 @@ class APIBackups(CoreSysAttributes):
|
|||||||
request, body.get(ATTR_LOCATION, backup.location)
|
request, body.get(ATTR_LOCATION, backup.location)
|
||||||
)
|
)
|
||||||
background = body.pop(ATTR_BACKGROUND)
|
background = body.pop(ATTR_BACKGROUND)
|
||||||
restore_task, job_id = await background_task(
|
restore_task, job_id = await self._background_backup_task(
|
||||||
self, self.sys_backups.do_restore_partial, backup, **body
|
self.sys_backups.do_restore_partial, backup, **body
|
||||||
)
|
)
|
||||||
|
|
||||||
if background and not restore_task.done() or await restore_task:
|
if background and not restore_task.done() or await restore_task:
|
||||||
|
@@ -49,7 +49,6 @@ ATTR_LLMNR_HOSTNAME = "llmnr_hostname"
|
|||||||
ATTR_LOCAL_ONLY = "local_only"
|
ATTR_LOCAL_ONLY = "local_only"
|
||||||
ATTR_LOCATION_ATTRIBUTES = "location_attributes"
|
ATTR_LOCATION_ATTRIBUTES = "location_attributes"
|
||||||
ATTR_LOCATIONS = "locations"
|
ATTR_LOCATIONS = "locations"
|
||||||
ATTR_MAX_DEPTH = "max_depth"
|
|
||||||
ATTR_MDNS = "mdns"
|
ATTR_MDNS = "mdns"
|
||||||
ATTR_MODEL = "model"
|
ATTR_MODEL = "model"
|
||||||
ATTR_MOUNTS = "mounts"
|
ATTR_MOUNTS = "mounts"
|
||||||
|
@@ -12,7 +12,6 @@ from ..const import (
|
|||||||
ATTR_ENABLE_IPV6,
|
ATTR_ENABLE_IPV6,
|
||||||
ATTR_HOSTNAME,
|
ATTR_HOSTNAME,
|
||||||
ATTR_LOGGING,
|
ATTR_LOGGING,
|
||||||
ATTR_MTU,
|
|
||||||
ATTR_PASSWORD,
|
ATTR_PASSWORD,
|
||||||
ATTR_REGISTRIES,
|
ATTR_REGISTRIES,
|
||||||
ATTR_STORAGE,
|
ATTR_STORAGE,
|
||||||
@@ -35,12 +34,7 @@ SCHEMA_DOCKER_REGISTRY = vol.Schema(
|
|||||||
)
|
)
|
||||||
|
|
||||||
# pylint: disable=no-value-for-parameter
|
# pylint: disable=no-value-for-parameter
|
||||||
SCHEMA_OPTIONS = vol.Schema(
|
SCHEMA_OPTIONS = vol.Schema({vol.Optional(ATTR_ENABLE_IPV6): vol.Maybe(vol.Boolean())})
|
||||||
{
|
|
||||||
vol.Optional(ATTR_ENABLE_IPV6): vol.Maybe(vol.Boolean()),
|
|
||||||
vol.Optional(ATTR_MTU): vol.Maybe(vol.All(int, vol.Range(min=68, max=65535))),
|
|
||||||
}
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class APIDocker(CoreSysAttributes):
|
class APIDocker(CoreSysAttributes):
|
||||||
@@ -57,7 +51,6 @@ class APIDocker(CoreSysAttributes):
|
|||||||
return {
|
return {
|
||||||
ATTR_VERSION: self.sys_docker.info.version,
|
ATTR_VERSION: self.sys_docker.info.version,
|
||||||
ATTR_ENABLE_IPV6: self.sys_docker.config.enable_ipv6,
|
ATTR_ENABLE_IPV6: self.sys_docker.config.enable_ipv6,
|
||||||
ATTR_MTU: self.sys_docker.config.mtu,
|
|
||||||
ATTR_STORAGE: self.sys_docker.info.storage,
|
ATTR_STORAGE: self.sys_docker.info.storage,
|
||||||
ATTR_LOGGING: self.sys_docker.info.logging,
|
ATTR_LOGGING: self.sys_docker.info.logging,
|
||||||
ATTR_REGISTRIES: data_registries,
|
ATTR_REGISTRIES: data_registries,
|
||||||
@@ -68,23 +61,12 @@ class APIDocker(CoreSysAttributes):
|
|||||||
"""Set docker options."""
|
"""Set docker options."""
|
||||||
body = await api_validate(SCHEMA_OPTIONS, request)
|
body = await api_validate(SCHEMA_OPTIONS, request)
|
||||||
|
|
||||||
reboot_required = False
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
ATTR_ENABLE_IPV6 in body
|
ATTR_ENABLE_IPV6 in body
|
||||||
and self.sys_docker.config.enable_ipv6 != body[ATTR_ENABLE_IPV6]
|
and self.sys_docker.config.enable_ipv6 != body[ATTR_ENABLE_IPV6]
|
||||||
):
|
):
|
||||||
self.sys_docker.config.enable_ipv6 = body[ATTR_ENABLE_IPV6]
|
self.sys_docker.config.enable_ipv6 = body[ATTR_ENABLE_IPV6]
|
||||||
reboot_required = True
|
_LOGGER.info("Host system reboot required to apply new IPv6 configuration")
|
||||||
|
|
||||||
if ATTR_MTU in body and self.sys_docker.config.mtu != body[ATTR_MTU]:
|
|
||||||
self.sys_docker.config.mtu = body[ATTR_MTU]
|
|
||||||
reboot_required = True
|
|
||||||
|
|
||||||
if reboot_required:
|
|
||||||
_LOGGER.info(
|
|
||||||
"Host system reboot required to apply Docker configuration changes"
|
|
||||||
)
|
|
||||||
self.sys_resolution.create_issue(
|
self.sys_resolution.create_issue(
|
||||||
IssueType.REBOOT_REQUIRED,
|
IssueType.REBOOT_REQUIRED,
|
||||||
ContextType.SYSTEM,
|
ContextType.SYSTEM,
|
||||||
|
@@ -20,7 +20,6 @@ from ..const import (
|
|||||||
ATTR_CPU_PERCENT,
|
ATTR_CPU_PERCENT,
|
||||||
ATTR_IMAGE,
|
ATTR_IMAGE,
|
||||||
ATTR_IP_ADDRESS,
|
ATTR_IP_ADDRESS,
|
||||||
ATTR_JOB_ID,
|
|
||||||
ATTR_MACHINE,
|
ATTR_MACHINE,
|
||||||
ATTR_MEMORY_LIMIT,
|
ATTR_MEMORY_LIMIT,
|
||||||
ATTR_MEMORY_PERCENT,
|
ATTR_MEMORY_PERCENT,
|
||||||
@@ -38,8 +37,8 @@ from ..const import (
|
|||||||
from ..coresys import CoreSysAttributes
|
from ..coresys import CoreSysAttributes
|
||||||
from ..exceptions import APIDBMigrationInProgress, APIError
|
from ..exceptions import APIDBMigrationInProgress, APIError
|
||||||
from ..validate import docker_image, network_port, version_tag
|
from ..validate import docker_image, network_port, version_tag
|
||||||
from .const import ATTR_BACKGROUND, ATTR_FORCE, ATTR_SAFE_MODE
|
from .const import ATTR_FORCE, ATTR_SAFE_MODE
|
||||||
from .utils import api_process, api_validate, background_task
|
from .utils import api_process, api_validate
|
||||||
|
|
||||||
_LOGGER: logging.Logger = logging.getLogger(__name__)
|
_LOGGER: logging.Logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
@@ -62,7 +61,6 @@ SCHEMA_UPDATE = vol.Schema(
|
|||||||
{
|
{
|
||||||
vol.Optional(ATTR_VERSION): version_tag,
|
vol.Optional(ATTR_VERSION): version_tag,
|
||||||
vol.Optional(ATTR_BACKUP): bool,
|
vol.Optional(ATTR_BACKUP): bool,
|
||||||
vol.Optional(ATTR_BACKGROUND, default=False): bool,
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -172,24 +170,18 @@ class APIHomeAssistant(CoreSysAttributes):
|
|||||||
}
|
}
|
||||||
|
|
||||||
@api_process
|
@api_process
|
||||||
async def update(self, request: web.Request) -> dict[str, str] | None:
|
async def update(self, request: web.Request) -> None:
|
||||||
"""Update Home Assistant."""
|
"""Update Home Assistant."""
|
||||||
body = await api_validate(SCHEMA_UPDATE, request)
|
body = await api_validate(SCHEMA_UPDATE, request)
|
||||||
await self._check_offline_migration()
|
await self._check_offline_migration()
|
||||||
|
|
||||||
background = body[ATTR_BACKGROUND]
|
await asyncio.shield(
|
||||||
update_task, job_id = await background_task(
|
self.sys_homeassistant.core.update(
|
||||||
self,
|
version=body.get(ATTR_VERSION, self.sys_homeassistant.latest_version),
|
||||||
self.sys_homeassistant.core.update,
|
backup=body.get(ATTR_BACKUP),
|
||||||
version=body.get(ATTR_VERSION, self.sys_homeassistant.latest_version),
|
)
|
||||||
backup=body.get(ATTR_BACKUP),
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if background and not update_task.done():
|
|
||||||
return {ATTR_JOB_ID: job_id}
|
|
||||||
|
|
||||||
return await update_task
|
|
||||||
|
|
||||||
@api_process
|
@api_process
|
||||||
async def stop(self, request: web.Request) -> Awaitable[None]:
|
async def stop(self, request: web.Request) -> Awaitable[None]:
|
||||||
"""Stop Home Assistant."""
|
"""Stop Home Assistant."""
|
||||||
|
@@ -2,17 +2,10 @@
|
|||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from contextlib import suppress
|
from contextlib import suppress
|
||||||
import json
|
|
||||||
import logging
|
import logging
|
||||||
from typing import Any
|
from typing import Any
|
||||||
|
|
||||||
from aiohttp import (
|
from aiohttp import ClientConnectionResetError, ClientPayloadError, web
|
||||||
ClientConnectionResetError,
|
|
||||||
ClientError,
|
|
||||||
ClientPayloadError,
|
|
||||||
ClientTimeout,
|
|
||||||
web,
|
|
||||||
)
|
|
||||||
from aiohttp.hdrs import ACCEPT, RANGE
|
from aiohttp.hdrs import ACCEPT, RANGE
|
||||||
import voluptuous as vol
|
import voluptuous as vol
|
||||||
from voluptuous.error import CoerceInvalid
|
from voluptuous.error import CoerceInvalid
|
||||||
@@ -58,7 +51,6 @@ from .const import (
|
|||||||
ATTR_FORCE,
|
ATTR_FORCE,
|
||||||
ATTR_IDENTIFIERS,
|
ATTR_IDENTIFIERS,
|
||||||
ATTR_LLMNR_HOSTNAME,
|
ATTR_LLMNR_HOSTNAME,
|
||||||
ATTR_MAX_DEPTH,
|
|
||||||
ATTR_STARTUP_TIME,
|
ATTR_STARTUP_TIME,
|
||||||
ATTR_USE_NTP,
|
ATTR_USE_NTP,
|
||||||
ATTR_VIRTUALIZATION,
|
ATTR_VIRTUALIZATION,
|
||||||
@@ -201,11 +193,7 @@ class APIHost(CoreSysAttributes):
|
|||||||
return possible_offset
|
return possible_offset
|
||||||
|
|
||||||
async def advanced_logs_handler(
|
async def advanced_logs_handler(
|
||||||
self,
|
self, request: web.Request, identifier: str | None = None, follow: bool = False
|
||||||
request: web.Request,
|
|
||||||
identifier: str | None = None,
|
|
||||||
follow: bool = False,
|
|
||||||
latest: bool = False,
|
|
||||||
) -> web.StreamResponse:
|
) -> web.StreamResponse:
|
||||||
"""Return systemd-journald logs."""
|
"""Return systemd-journald logs."""
|
||||||
log_formatter = LogFormatter.PLAIN
|
log_formatter = LogFormatter.PLAIN
|
||||||
@@ -224,20 +212,6 @@ class APIHost(CoreSysAttributes):
|
|||||||
if follow:
|
if follow:
|
||||||
params[PARAM_FOLLOW] = ""
|
params[PARAM_FOLLOW] = ""
|
||||||
|
|
||||||
if latest:
|
|
||||||
if not identifier:
|
|
||||||
raise APIError(
|
|
||||||
"Latest logs can only be fetched for a specific identifier."
|
|
||||||
)
|
|
||||||
|
|
||||||
try:
|
|
||||||
epoch = await self._get_container_last_epoch(identifier)
|
|
||||||
params["CONTAINER_LOG_EPOCH"] = epoch
|
|
||||||
except HostLogError as err:
|
|
||||||
raise APIError(
|
|
||||||
f"Cannot determine CONTAINER_LOG_EPOCH of {identifier}, latest logs not available."
|
|
||||||
) from err
|
|
||||||
|
|
||||||
if ACCEPT in request.headers and request.headers[ACCEPT] not in [
|
if ACCEPT in request.headers and request.headers[ACCEPT] not in [
|
||||||
CONTENT_TYPE_TEXT,
|
CONTENT_TYPE_TEXT,
|
||||||
CONTENT_TYPE_X_LOG,
|
CONTENT_TYPE_X_LOG,
|
||||||
@@ -266,8 +240,6 @@ class APIHost(CoreSysAttributes):
|
|||||||
lines = max(2, lines)
|
lines = max(2, lines)
|
||||||
# entries=cursor[[:num_skip]:num_entries]
|
# entries=cursor[[:num_skip]:num_entries]
|
||||||
range_header = f"entries=:-{lines - 1}:{SYSTEMD_JOURNAL_GATEWAYD_LINES_MAX if follow else lines}"
|
range_header = f"entries=:-{lines - 1}:{SYSTEMD_JOURNAL_GATEWAYD_LINES_MAX if follow else lines}"
|
||||||
elif latest:
|
|
||||||
range_header = f"entries=0:{SYSTEMD_JOURNAL_GATEWAYD_LINES_MAX}"
|
|
||||||
elif RANGE in request.headers:
|
elif RANGE in request.headers:
|
||||||
range_header = request.headers[RANGE]
|
range_header = request.headers[RANGE]
|
||||||
else:
|
else:
|
||||||
@@ -313,81 +285,7 @@ class APIHost(CoreSysAttributes):
|
|||||||
|
|
||||||
@api_process_raw(CONTENT_TYPE_TEXT, error_type=CONTENT_TYPE_TEXT)
|
@api_process_raw(CONTENT_TYPE_TEXT, error_type=CONTENT_TYPE_TEXT)
|
||||||
async def advanced_logs(
|
async def advanced_logs(
|
||||||
self,
|
self, request: web.Request, identifier: str | None = None, follow: bool = False
|
||||||
request: web.Request,
|
|
||||||
identifier: str | None = None,
|
|
||||||
follow: bool = False,
|
|
||||||
latest: bool = False,
|
|
||||||
) -> web.StreamResponse:
|
) -> web.StreamResponse:
|
||||||
"""Return systemd-journald logs. Wrapped as standard API handler."""
|
"""Return systemd-journald logs. Wrapped as standard API handler."""
|
||||||
return await self.advanced_logs_handler(request, identifier, follow, latest)
|
return await self.advanced_logs_handler(request, identifier, follow)
|
||||||
|
|
||||||
@api_process
|
|
||||||
async def disk_usage(self, request: web.Request) -> dict:
|
|
||||||
"""Return a breakdown of storage usage for the system."""
|
|
||||||
|
|
||||||
max_depth = request.query.get(ATTR_MAX_DEPTH, 1)
|
|
||||||
try:
|
|
||||||
max_depth = int(max_depth)
|
|
||||||
except ValueError:
|
|
||||||
max_depth = 1
|
|
||||||
|
|
||||||
disk = self.sys_hardware.disk
|
|
||||||
|
|
||||||
total, used, _ = await self.sys_run_in_executor(
|
|
||||||
disk.disk_usage, self.sys_config.path_supervisor
|
|
||||||
)
|
|
||||||
|
|
||||||
known_paths = await self.sys_run_in_executor(
|
|
||||||
disk.get_dir_sizes,
|
|
||||||
{
|
|
||||||
"addons_data": self.sys_config.path_addons_data,
|
|
||||||
"addons_config": self.sys_config.path_addon_configs,
|
|
||||||
"media": self.sys_config.path_media,
|
|
||||||
"share": self.sys_config.path_share,
|
|
||||||
"backup": self.sys_config.path_backup,
|
|
||||||
"ssl": self.sys_config.path_ssl,
|
|
||||||
"homeassistant": self.sys_config.path_homeassistant,
|
|
||||||
},
|
|
||||||
max_depth,
|
|
||||||
)
|
|
||||||
return {
|
|
||||||
# this can be the disk/partition ID in the future
|
|
||||||
"id": "root",
|
|
||||||
"label": "Root",
|
|
||||||
"total_bytes": total,
|
|
||||||
"used_bytes": used,
|
|
||||||
"children": [
|
|
||||||
{
|
|
||||||
"id": "system",
|
|
||||||
"label": "System",
|
|
||||||
"used_bytes": used
|
|
||||||
- sum(path["used_bytes"] for path in known_paths),
|
|
||||||
},
|
|
||||||
*known_paths,
|
|
||||||
],
|
|
||||||
}
|
|
||||||
|
|
||||||
async def _get_container_last_epoch(self, identifier: str) -> str | None:
|
|
||||||
"""Get Docker's internal log epoch of the latest log entry for the given identifier."""
|
|
||||||
try:
|
|
||||||
async with self.sys_host.logs.journald_logs(
|
|
||||||
params={"CONTAINER_NAME": identifier},
|
|
||||||
range_header="entries=:-1:2", # -1 = next to the last entry
|
|
||||||
accept=LogFormat.JSON,
|
|
||||||
timeout=ClientTimeout(total=10),
|
|
||||||
) as resp:
|
|
||||||
text = await resp.text()
|
|
||||||
except (ClientError, TimeoutError) as err:
|
|
||||||
raise HostLogError(
|
|
||||||
"Could not get last container epoch from systemd-journal-gatewayd",
|
|
||||||
_LOGGER.error,
|
|
||||||
) from err
|
|
||||||
|
|
||||||
try:
|
|
||||||
return json.loads(text.strip().split("\n")[-1])["CONTAINER_LOG_EPOCH"]
|
|
||||||
except (json.JSONDecodeError, KeyError, IndexError) as err:
|
|
||||||
raise HostLogError(
|
|
||||||
f"Failed to parse CONTAINER_LOG_EPOCH of {identifier} container, got: {text}",
|
|
||||||
_LOGGER.error,
|
|
||||||
) from err
|
|
||||||
|
@@ -199,25 +199,21 @@ class APIIngress(CoreSysAttributes):
|
|||||||
url = f"{url}?{request.query_string}"
|
url = f"{url}?{request.query_string}"
|
||||||
|
|
||||||
# Start proxy
|
# Start proxy
|
||||||
try:
|
async with self.sys_websession.ws_connect(
|
||||||
_LOGGER.debug("Proxing WebSocket to %s, upstream url: %s", addon.slug, url)
|
url,
|
||||||
async with self.sys_websession.ws_connect(
|
headers=source_header,
|
||||||
url,
|
protocols=req_protocols,
|
||||||
headers=source_header,
|
autoclose=False,
|
||||||
protocols=req_protocols,
|
autoping=False,
|
||||||
autoclose=False,
|
) as ws_client:
|
||||||
autoping=False,
|
# Proxy requests
|
||||||
) as ws_client:
|
await asyncio.wait(
|
||||||
# Proxy requests
|
[
|
||||||
await asyncio.wait(
|
self.sys_create_task(_websocket_forward(ws_server, ws_client)),
|
||||||
[
|
self.sys_create_task(_websocket_forward(ws_client, ws_server)),
|
||||||
self.sys_create_task(_websocket_forward(ws_server, ws_client)),
|
],
|
||||||
self.sys_create_task(_websocket_forward(ws_client, ws_server)),
|
return_when=asyncio.FIRST_COMPLETED,
|
||||||
],
|
)
|
||||||
return_when=asyncio.FIRST_COMPLETED,
|
|
||||||
)
|
|
||||||
except TimeoutError:
|
|
||||||
_LOGGER.warning("WebSocket proxy to %s timed out", addon.slug)
|
|
||||||
|
|
||||||
return ws_server
|
return ws_server
|
||||||
|
|
||||||
@@ -290,7 +286,6 @@ class APIIngress(CoreSysAttributes):
|
|||||||
aiohttp.ClientError,
|
aiohttp.ClientError,
|
||||||
aiohttp.ClientPayloadError,
|
aiohttp.ClientPayloadError,
|
||||||
ConnectionResetError,
|
ConnectionResetError,
|
||||||
ConnectionError,
|
|
||||||
) as err:
|
) as err:
|
||||||
_LOGGER.error("Stream error with %s: %s", url, err)
|
_LOGGER.error("Stream error with %s: %s", url, err)
|
||||||
|
|
||||||
@@ -391,9 +386,9 @@ async def _websocket_forward(ws_from, ws_to):
|
|||||||
elif msg.type == aiohttp.WSMsgType.BINARY:
|
elif msg.type == aiohttp.WSMsgType.BINARY:
|
||||||
await ws_to.send_bytes(msg.data)
|
await ws_to.send_bytes(msg.data)
|
||||||
elif msg.type == aiohttp.WSMsgType.PING:
|
elif msg.type == aiohttp.WSMsgType.PING:
|
||||||
await ws_to.ping(msg.data)
|
await ws_to.ping()
|
||||||
elif msg.type == aiohttp.WSMsgType.PONG:
|
elif msg.type == aiohttp.WSMsgType.PONG:
|
||||||
await ws_to.pong(msg.data)
|
await ws_to.pong()
|
||||||
elif ws_to.closed:
|
elif ws_to.closed:
|
||||||
await ws_to.close(code=ws_to.close_code, message=msg.extra)
|
await ws_to.close(code=ws_to.close_code, message=msg.extra)
|
||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
|
@@ -26,9 +26,7 @@ from ..const import (
|
|||||||
ATTR_IP6_PRIVACY,
|
ATTR_IP6_PRIVACY,
|
||||||
ATTR_IPV4,
|
ATTR_IPV4,
|
||||||
ATTR_IPV6,
|
ATTR_IPV6,
|
||||||
ATTR_LLMNR,
|
|
||||||
ATTR_MAC,
|
ATTR_MAC,
|
||||||
ATTR_MDNS,
|
|
||||||
ATTR_METHOD,
|
ATTR_METHOD,
|
||||||
ATTR_MODE,
|
ATTR_MODE,
|
||||||
ATTR_NAMESERVERS,
|
ATTR_NAMESERVERS,
|
||||||
@@ -56,7 +54,6 @@ from ..host.configuration import (
|
|||||||
Ip6Setting,
|
Ip6Setting,
|
||||||
IpConfig,
|
IpConfig,
|
||||||
IpSetting,
|
IpSetting,
|
||||||
MulticastDnsMode,
|
|
||||||
VlanConfig,
|
VlanConfig,
|
||||||
WifiConfig,
|
WifiConfig,
|
||||||
)
|
)
|
||||||
@@ -100,8 +97,6 @@ SCHEMA_UPDATE = vol.Schema(
|
|||||||
vol.Optional(ATTR_IPV6): _SCHEMA_IPV6_CONFIG,
|
vol.Optional(ATTR_IPV6): _SCHEMA_IPV6_CONFIG,
|
||||||
vol.Optional(ATTR_WIFI): _SCHEMA_WIFI_CONFIG,
|
vol.Optional(ATTR_WIFI): _SCHEMA_WIFI_CONFIG,
|
||||||
vol.Optional(ATTR_ENABLED): vol.Boolean(),
|
vol.Optional(ATTR_ENABLED): vol.Boolean(),
|
||||||
vol.Optional(ATTR_MDNS): vol.Coerce(MulticastDnsMode),
|
|
||||||
vol.Optional(ATTR_LLMNR): vol.Coerce(MulticastDnsMode),
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -165,8 +160,6 @@ def interface_struct(interface: Interface) -> dict[str, Any]:
|
|||||||
else None,
|
else None,
|
||||||
ATTR_WIFI: wifi_struct(interface.wifi) if interface.wifi else None,
|
ATTR_WIFI: wifi_struct(interface.wifi) if interface.wifi else None,
|
||||||
ATTR_VLAN: vlan_struct(interface.vlan) if interface.vlan else None,
|
ATTR_VLAN: vlan_struct(interface.vlan) if interface.vlan else None,
|
||||||
ATTR_MDNS: interface.mdns,
|
|
||||||
ATTR_LLMNR: interface.llmnr,
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -267,10 +260,6 @@ class APINetwork(CoreSysAttributes):
|
|||||||
)
|
)
|
||||||
elif key == ATTR_ENABLED:
|
elif key == ATTR_ENABLED:
|
||||||
interface.enabled = config
|
interface.enabled = config
|
||||||
elif key == ATTR_MDNS:
|
|
||||||
interface.mdns = config
|
|
||||||
elif key == ATTR_LLMNR:
|
|
||||||
interface.llmnr = config
|
|
||||||
|
|
||||||
await asyncio.shield(self.sys_host.network.apply_changes(interface))
|
await asyncio.shield(self.sys_host.network.apply_changes(interface))
|
||||||
|
|
||||||
@@ -311,15 +300,6 @@ class APINetwork(CoreSysAttributes):
|
|||||||
|
|
||||||
vlan_config = VlanConfig(vlan, interface.name)
|
vlan_config = VlanConfig(vlan, interface.name)
|
||||||
|
|
||||||
mdns_mode = MulticastDnsMode.DEFAULT
|
|
||||||
llmnr_mode = MulticastDnsMode.DEFAULT
|
|
||||||
|
|
||||||
if ATTR_MDNS in body:
|
|
||||||
mdns_mode = body[ATTR_MDNS]
|
|
||||||
|
|
||||||
if ATTR_LLMNR in body:
|
|
||||||
llmnr_mode = body[ATTR_LLMNR]
|
|
||||||
|
|
||||||
ipv4_setting = None
|
ipv4_setting = None
|
||||||
if ATTR_IPV4 in body:
|
if ATTR_IPV4 in body:
|
||||||
ipv4_setting = IpSetting(
|
ipv4_setting = IpSetting(
|
||||||
@@ -345,7 +325,7 @@ class APINetwork(CoreSysAttributes):
|
|||||||
)
|
)
|
||||||
|
|
||||||
vlan_interface = Interface(
|
vlan_interface = Interface(
|
||||||
f"{interface.name}.{vlan}",
|
"",
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
True,
|
True,
|
||||||
@@ -358,7 +338,5 @@ class APINetwork(CoreSysAttributes):
|
|||||||
ipv6_setting,
|
ipv6_setting,
|
||||||
None,
|
None,
|
||||||
vlan_config,
|
vlan_config,
|
||||||
mdns=mdns_mode,
|
|
||||||
llmnr=llmnr_mode,
|
|
||||||
)
|
)
|
||||||
await asyncio.shield(self.sys_host.network.create_vlan(vlan_interface))
|
await asyncio.shield(self.sys_host.network.apply_changes(vlan_interface))
|
||||||
|
@@ -1 +1 @@
|
|||||||
!function(){function d(d){var e=document.createElement("script");e.src=d,document.body.appendChild(e)}if(/Edge?\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.\d+|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(16[._]([6-9]|\d{2,})|(1[7-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/(2[7-9]|[3-9]\d|\d{3,})\.\d+|Home As{2}istant\/[\d.]+ \(.+; macOS (1[3-9]|[2-9]\d|\d{3,})\.\d+(\.\d+)?\)/.test(navigator.userAgent))try{new Function("import('/api/hassio/app/frontend_latest/entrypoint.13b942f66af14ae7.js')")()}catch(e){d("/api/hassio/app/frontend_es5/entrypoint.4fccc51701dd6142.js")}else d("/api/hassio/app/frontend_es5/entrypoint.4fccc51701dd6142.js")}()
|
!function(){function d(d){var e=document.createElement("script");e.src=d,document.body.appendChild(e)}if(/Edge?\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Firefox\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Chrom(ium|e)\/(109|1[1-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|(Maci|X1{2}).+ Version\/(18\.\d+|(19|[2-9]\d|\d{3,})\.\d+)([,.]\d+|)( \(\w+\)|)( Mobile\/\w+|) Safari\/|Chrome.+OPR\/(1{2}[3-9]|1[2-9]\d|[2-9]\d{2}|\d{4,})\.\d+\.\d+|(CPU[ +]OS|iPhone[ +]OS|CPU[ +]iPhone|CPU IPhone OS|CPU iPad OS)[ +]+(16[._]([6-9]|\d{2,})|(1[7-9]|[2-9]\d|\d{3,})[._]\d+)([._]\d+|)|Android:?[ /-](12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})(\.\d+|)(\.\d+|)|Mobile Safari.+OPR\/([89]\d|\d{3,})\.\d+\.\d+|Android.+Firefox\/(13\d|1[4-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|Android.+Chrom(ium|e)\/(12[89]|1[3-9]\d|[2-9]\d{2}|\d{4,})\.\d+(\.\d+|)|SamsungBrowser\/(2[7-9]|[3-9]\d|\d{3,})\.\d+|Home As{2}istant\/[\d.]+ \(.+; macOS (1[3-9]|[2-9]\d|\d{3,})\.\d+(\.\d+)?\)/.test(navigator.userAgent))try{new Function("import('/api/hassio/app/frontend_latest/entrypoint.9b475c5882bbf15f.js')")()}catch(e){d("/api/hassio/app/frontend_es5/entrypoint.73551a66a38f3359.js")}else d("/api/hassio/app/frontend_es5/entrypoint.73551a66a38f3359.js")}()
|
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
10
supervisor/api/panel/frontend_es5/1028.ed91bed4e208ccab.js
Normal file
10
supervisor/api/panel/frontend_es5/1028.ed91bed4e208ccab.js
Normal file
File diff suppressed because one or more lines are too long
BIN
supervisor/api/panel/frontend_es5/1028.ed91bed4e208ccab.js.br
Normal file
BIN
supervisor/api/panel/frontend_es5/1028.ed91bed4e208ccab.js.br
Normal file
Binary file not shown.
BIN
supervisor/api/panel/frontend_es5/1028.ed91bed4e208ccab.js.gz
Normal file
BIN
supervisor/api/panel/frontend_es5/1028.ed91bed4e208ccab.js.gz
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"113.13cc15fa81bd492f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-icon-button-arrow-next.ts"],"names":["HaIconButtonArrowNext","LitElement","render","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","args","mainWindow","attribute","type","Boolean"],"mappings":"4RASO,MAAMA,UAA8BC,EAAAA,GAU/BC,MAAAA,GAAyB,IAAAC,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,C,kBAlBK,SAAAC,GAAA,KAG+BL,UAAW,OAI9BI,MACa,QAA5BE,EAAAA,EAAAA,SAAAA,I,gLAPUC,WAAW,K,uDAEXC,KAAMC,W"}
|
{"version":3,"file":"113.13cc15fa81bd492f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-icon-button-arrow-next.ts"],"names":["HaIconButtonArrowNext","LitElement","render","_this$hass","html","_t","_","this","disabled","label","hass","localize","_icon","args","mainWindow","attribute","type","Boolean"],"mappings":"4RASO,MAAMA,UAA8BC,EAAAA,GAU/BC,MAAAA,GAAyB,IAAAC,EACjC,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,mFAEKC,KAAKC,SACRD,KAAKE,QAAkB,QAAbN,EAAII,KAAKG,YAAI,IAAAP,OAAA,EAATA,EAAWQ,SAAS,oBAAqB,OACxDJ,KAAKK,MAGnB,C,kBAlBK,SAAAC,GAAA,KAG+BL,UAAW,OAI9BI,MACa,QAA5BE,EAAAA,EAAAA,SAAAA,I,gLAPUC,WAAW,K,uDAEXC,KAAMC,W"}
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"1303.586b15f0603e938e.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-form/ha-form-constant.ts"],"names":["HaFormConstant","LitElement","render","html","_t","_","this","label","schema","value","styles","css","_t2","attribute"],"mappings":"kPAMO,MAAMA,UAAuBC,EAAAA,GAKxBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,uBAAuB,WAAvB,KAAuBC,KAAKC,MAAeD,KAAKE,OAAOC,MAC5D,KAAKH,KAAKE,OAAOC,QACjB,GACR,EATWT,EAWJU,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAP,CAAA,0E,2BAVPQ,WAAW,K"}
|
{"version":3,"file":"1303.586b15f0603e938e.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-form/ha-form-constant.ts"],"names":["HaFormConstant","LitElement","render","html","_t","_","this","label","schema","value","styles","css","_t2","attribute"],"mappings":"kPAMO,MAAMA,UAAuBC,EAAAA,GAKxBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,uBAAuB,WAAvB,KAAuBC,KAAKC,MAAeD,KAAKE,OAAOC,MAC5D,KAAKH,KAAKE,OAAOC,QACjB,GACR,EATWT,EAWJU,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAP,CAAA,0E,2BAVPQ,WAAW,K"}
|
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"1374.3202a7d8086556de.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-icon-next.ts"],"names":["HaIconNext","HaSvgIcon","args","path","mainWindow"],"mappings":"yPAMO,MAAMA,UAAmBC,EAAAA,U,kBAAzB,SAAAC,GAAA,KACuBC,KACE,QAA5BC,EAAAA,EAAAA,SAAAA,I"}
|
{"version":3,"file":"1374.3202a7d8086556de.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-icon-next.ts"],"names":["HaIconNext","HaSvgIcon","args","path","mainWindow"],"mappings":"yPAMO,MAAMA,UAAmBC,EAAAA,U,kBAAzB,SAAAC,GAAA,KACuBC,KACE,QAA5BC,EAAAA,EAAAA,SAAAA,I"}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
supervisor/api/panel/frontend_es5/1498.772b73ea268d3de8.js.br
Normal file
BIN
supervisor/api/panel/frontend_es5/1498.772b73ea268d3de8.js.br
Normal file
Binary file not shown.
BIN
supervisor/api/panel/frontend_es5/1498.772b73ea268d3de8.js.gz
Normal file
BIN
supervisor/api/panel/frontend_es5/1498.772b73ea268d3de8.js.gz
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
BIN
supervisor/api/panel/frontend_es5/1563.37b3ad9dde77abfb.js.br
Normal file
BIN
supervisor/api/panel/frontend_es5/1563.37b3ad9dde77abfb.js.br
Normal file
Binary file not shown.
BIN
supervisor/api/panel/frontend_es5/1563.37b3ad9dde77abfb.js.gz
Normal file
BIN
supervisor/api/panel/frontend_es5/1563.37b3ad9dde77abfb.js.gz
Normal file
Binary file not shown.
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"174.ee01401de6dea936.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-dialog-date-picker.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-dialog.ts"],"names":["HaDialogDatePicker","LitElement","showDialog","params","nextRender","this","_params","_value","value","closeDialog","undefined","fireEvent","dialog","localName","render","html","_t","_","min","max","locale","_valueChanged","firstWeekday","canClear","_t2","_clear","hass","localize","nothing","_setToday","_setValue","ev","detail","_this$_params","onChange","today","Date","format","_this$_params2","args","disabled","styles","haStyleDialog","css","_t3","attribute","type","Boolean","SUPPRESS_DEFAULT_PRESS_SELECTOR","createCloseHeading","title","_hass$localize","HaDialog","DialogBase","scrollToPos","x","y","_this$contentElement","contentElement","scrollTo","renderHeading","super","firstUpdated","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","disconnectedCallback","removeEventListener","toggleAttribute","scrollTop"],"mappings":"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"}
|
{"version":3,"file":"174.ee01401de6dea936.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-dialog-date-picker.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-dialog.ts"],"names":["HaDialogDatePicker","LitElement","showDialog","params","nextRender","this","_params","_value","value","closeDialog","undefined","fireEvent","dialog","localName","render","html","_t","_","min","max","locale","_valueChanged","firstWeekday","canClear","_t2","_clear","hass","localize","nothing","_setToday","_setValue","ev","detail","_this$_params","onChange","today","Date","format","_this$_params2","args","disabled","styles","haStyleDialog","css","_t3","attribute","type","Boolean","SUPPRESS_DEFAULT_PRESS_SELECTOR","createCloseHeading","title","_hass$localize","HaDialog","DialogBase","scrollToPos","x","y","_this$contentElement","contentElement","scrollTo","renderHeading","super","firstUpdated","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","disconnectedCallback","removeEventListener","toggleAttribute","scrollTop"],"mappings":"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"}
|
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"2006.c7a6f555d46cc3c0.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-selector/ha-selector-constant.ts"],"names":["HaSelectorConstant","LitElement","render","_this$selector$consta","_ref","_ref2","_this$selector$consta2","_this$selector$consta3","this","disabled","nothing","translationKey","selector","constant","translation_key","translatedLabel","localizeValue","undefined","label","value","args","attribute","type","Boolean"],"mappings":"yPAKO,MAAMA,UAA2BC,EAAAA,GAQ5BC,MAAAA,GAAS,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjB,GAAIC,KAAKC,SACP,OAAOC,EAAAA,GAGT,MAAMC,EAAuC,QAAvCR,EAAiBK,KAAKI,SAASC,gBAAQ,IAAAV,OAAA,EAAtBA,EAAwBW,gBAEzCC,EACJJ,GAAkBH,KAAKQ,cACnBR,KAAKQ,cAAc,GAAGL,gBACtBM,EAEN,OAG0B,QAH1Bb,EAE0B,QAF1BC,EACEU,QAAAA,EACsB,QADtBT,EACAE,KAAKI,SAASC,gBAAQ,IAAAP,OAAA,EAAtBA,EAAwBY,aAAA,IAAAb,EAAAA,EACF,QADEE,EACxBC,KAAKI,SAASC,gBAAQ,IAAAN,OAAA,EAAtBA,EAAwBY,aAAA,IAAAf,EAAAA,EACxBM,EAAAA,EAEJ,C,kBA1BK,SAAAU,GAAA,KAG+BX,UAAW,C,8BAFnCY,WAAW,K,2DAEXC,KAAMC,W,2DAENF,WAAW,K"}
|
{"version":3,"file":"2006.c7a6f555d46cc3c0.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-selector/ha-selector-constant.ts"],"names":["HaSelectorConstant","LitElement","render","_this$selector$consta","_ref","_ref2","_this$selector$consta2","_this$selector$consta3","this","disabled","nothing","translationKey","selector","constant","translation_key","translatedLabel","localizeValue","undefined","label","value","args","attribute","type","Boolean"],"mappings":"yPAKO,MAAMA,UAA2BC,EAAAA,GAQ5BC,MAAAA,GAAS,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjB,GAAIC,KAAKC,SACP,OAAOC,EAAAA,GAGT,MAAMC,EAAuC,QAAvCR,EAAiBK,KAAKI,SAASC,gBAAQ,IAAAV,OAAA,EAAtBA,EAAwBW,gBAEzCC,EACJJ,GAAkBH,KAAKQ,cACnBR,KAAKQ,cAAc,GAAGL,gBACtBM,EAEN,OAG0B,QAH1Bb,EAE0B,QAF1BC,EACEU,QAAAA,EACsB,QADtBT,EACAE,KAAKI,SAASC,gBAAQ,IAAAP,OAAA,EAAtBA,EAAwBY,aAAA,IAAAb,EAAAA,EACF,QADEE,EACxBC,KAAKI,SAASC,gBAAQ,IAAAN,OAAA,EAAtBA,EAAwBY,aAAA,IAAAf,EAAAA,EACxBM,EAAAA,EAEJ,C,kBA1BK,SAAAU,GAAA,KAG+BX,UAAW,C,8BAFnCY,WAAW,K,2DAEXC,KAAMC,W,2DAENF,WAAW,K"}
|
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"203.ce95b7511bb7d13f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-form/ha-form-expandable.ts"],"names":["HaFormExpendable","LitElement","_renderDescription","_this$computeHelper","description","this","computeHelper","call","schema","html","_t","_","nothing","render","_this$schema$headingL","_this$schema$headingL2","_this$computeLabel","_t2","Boolean","expanded","icon","_t3","iconPath","_t4","headingLevel","toString","title","computeLabel","hass","data","disabled","_computeLabel","_computeHelper","localizeValue","args","options","Object","assign","path","name","styles","css","_t5","attribute","type"],"mappings":"sSAYO,MAAMA,UAAyBC,EAAAA,GAwB5BC,kBAAAA,GAAqB,IAAAC,EAC3B,MAAMC,EAAgC,QAAhCD,EAAcE,KAAKC,qBAAa,IAAAH,OAAA,EAAlBA,EAAAI,KAAAF,KAAqBA,KAAKG,QAC9C,OAAOJ,GAAcK,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,MAAM,SAAAP,GAAoBQ,EAAAA,EACrD,CA2BUC,MAAAA,GAAS,IAAAC,EAAAC,EAAAC,EACjB,OAAOP,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,iUACgCO,QAAQb,KAAKG,OAAOW,UACzDd,KAAKG,OAAOY,MACVX,EAAAA,EAAAA,IAAIY,IAAAA,EAAAV,CAAA,0DACmCN,KAAKG,OAAOY,MAEnDf,KAAKG,OAAOc,UACVb,EAAAA,EAAAA,IAAIc,IAAAA,EAAAZ,CAAA,kEAGQN,KAAKG,OAAOc,UAGxBV,EAAAA,GAImC,QAJnCE,EAIiC,QAJjCC,EAISV,KAAKG,OAAOgB,oBAAY,IAAAT,OAAA,EAAxBA,EAA0BU,kBAAA,IAAAX,EAAAA,EAAc,IAEnDT,KAAKG,OAAOkB,QAA0B,QAArBV,EAAIX,KAAKsB,oBAAY,IAAAX,OAAA,EAAjBA,EAAAT,KAAAF,KAAoBA,KAAKG,SAG9CH,KAAKH,qBAEGG,KAAKuB,KACLvB,KAAKwB,KACHxB,KAAKG,OAAOA,OACVH,KAAKyB,SACDzB,KAAK0B,cACJ1B,KAAK2B,eACL3B,KAAK4B,cAKhC,C,kBA1FK,SAAAC,GAAA,KAO+BJ,UAAW,OAsBvCC,cAAgB,CACtBvB,EACAqB,EACAM,IAEK9B,KAAKsB,aAEHtB,KAAKsB,aAAanB,EAAQqB,EAAAO,OAAAC,OAAAD,OAAAC,OAAA,GAC5BF,GAAO,IACVG,KAAM,KAAKH,aAAA,EAAAA,EAASG,OAAQ,GAAKjC,KAAKG,OAAO+B,SAJhBlC,KAAKsB,aAMtC,KAEQK,eAAiB,CACvBxB,EACA2B,IAEK9B,KAAKC,cAEHD,KAAKC,cAAcE,EAAA4B,OAAAC,OAAAD,OAAAC,OAAA,GACrBF,GAAO,IACVG,KAAM,KAAKH,aAAA,EAAAA,EAASG,OAAQ,GAAKjC,KAAKG,OAAO+B,SAJflC,KAAKC,a,EA9C5BN,EA4FJwC,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA/B,CAAA,+S,2BA3FPgC,WAAW,K,uDAEXA,WAAW,K,uDAEXA,WAAW,K,yDAEXC,KAAM1B,W,2DAENyB,WAAW,K,+DAMXA,WAAW,K,gEAKXA,WAAW,K"}
|
{"version":3,"file":"203.ce95b7511bb7d13f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-form/ha-form-expandable.ts"],"names":["HaFormExpendable","LitElement","_renderDescription","_this$computeHelper","description","this","computeHelper","call","schema","html","_t","_","nothing","render","_this$schema$headingL","_this$schema$headingL2","_this$computeLabel","_t2","Boolean","expanded","icon","_t3","iconPath","_t4","headingLevel","toString","title","computeLabel","hass","data","disabled","_computeLabel","_computeHelper","localizeValue","args","options","Object","assign","path","name","styles","css","_t5","attribute","type"],"mappings":"sSAYO,MAAMA,UAAyBC,EAAAA,GAwB5BC,kBAAAA,GAAqB,IAAAC,EAC3B,MAAMC,EAAgC,QAAhCD,EAAcE,KAAKC,qBAAa,IAAAH,OAAA,EAAlBA,EAAAI,KAAAF,KAAqBA,KAAKG,QAC9C,OAAOJ,GAAcK,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,MAAM,SAAAP,GAAoBQ,EAAAA,EACrD,CA2BUC,MAAAA,GAAS,IAAAC,EAAAC,EAAAC,EACjB,OAAOP,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,iUACgCO,QAAQb,KAAKG,OAAOW,UACzDd,KAAKG,OAAOY,MACVX,EAAAA,EAAAA,IAAIY,IAAAA,EAAAV,CAAA,0DACmCN,KAAKG,OAAOY,MAEnDf,KAAKG,OAAOc,UACVb,EAAAA,EAAAA,IAAIc,IAAAA,EAAAZ,CAAA,kEAGQN,KAAKG,OAAOc,UAGxBV,EAAAA,GAImC,QAJnCE,EAIiC,QAJjCC,EAISV,KAAKG,OAAOgB,oBAAY,IAAAT,OAAA,EAAxBA,EAA0BU,kBAAA,IAAAX,EAAAA,EAAc,IAEnDT,KAAKG,OAAOkB,QAA0B,QAArBV,EAAIX,KAAKsB,oBAAY,IAAAX,OAAA,EAAjBA,EAAAT,KAAAF,KAAoBA,KAAKG,SAG9CH,KAAKH,qBAEGG,KAAKuB,KACLvB,KAAKwB,KACHxB,KAAKG,OAAOA,OACVH,KAAKyB,SACDzB,KAAK0B,cACJ1B,KAAK2B,eACL3B,KAAK4B,cAKhC,C,kBA1FK,SAAAC,GAAA,KAO+BJ,UAAW,OAsBvCC,cAAgB,CACtBvB,EACAqB,EACAM,IAEK9B,KAAKsB,aAEHtB,KAAKsB,aAAanB,EAAQqB,EAAAO,OAAAC,OAAAD,OAAAC,OAAA,GAC5BF,GAAO,IACVG,KAAM,KAAKH,aAAA,EAAAA,EAASG,OAAQ,GAAKjC,KAAKG,OAAO+B,SAJhBlC,KAAKsB,aAMtC,KAEQK,eAAiB,CACvBxB,EACA2B,IAEK9B,KAAKC,cAEHD,KAAKC,cAAcE,EAAA4B,OAAAC,OAAAD,OAAAC,OAAA,GACrBF,GAAO,IACVG,KAAM,KAAKH,aAAA,EAAAA,EAASG,OAAQ,GAAKjC,KAAKG,OAAO+B,SAJflC,KAAKC,a,EA9C5BN,EA4FJwC,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA/B,CAAA,+S,2BA3FPgC,WAAW,K,uDAEXA,WAAW,K,uDAEXA,WAAW,K,yDAEXC,KAAM1B,W,2DAENyB,WAAW,K,+DAMXA,WAAW,K,gEAKXA,WAAW,K"}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"2210.0e18ee765a9dd032.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts"],"names":["HassioCreateBackupDialog","LitElement","showDialog","dialogParams","this","_dialogParams","_creatingBackup","closeDialog","undefined","_error","fireEvent","dialog","localName","render","html","_t","_","createCloseHeading","hass","supervisor","localize","_t2","_t3","_t4","_createBackup","nothing","info","state","showAlertDialog","title","text","backupDetails","_backupContent","password","length","confirm_password","backupType","createHassioFullBackup","createHassioPartialBackup","onCreate","err","extractApiErrorMessage","styles","haStyle","haStyleDialog","css","_t5","args","attribute"],"mappings":"0ZAoBA,MACMA,UAAiCC,EAAAA,GAY9BC,UAAAA,CAAWC,GAChBC,KAAKC,cAAgBF,EACrBC,KAAKE,iBAAkB,CACzB,CAEOC,WAAAA,GACLH,KAAKC,mBAAgBG,EACrBJ,KAAKE,iBAAkB,EACvBF,KAAKK,YAASD,GACdE,EAAAA,EAAAA,GAAUN,KAAM,gBAAiB,CAAEO,OAAQP,KAAKQ,WAClD,CAEUC,MAAAA,GACR,OAAKT,KAAKC,eAGHS,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,qQAIGZ,KAAKG,aACJU,EAAAA,EAAAA,GACTb,KAAKc,KACLd,KAAKC,cAAcc,WAAWC,SAAS,yBAGvChB,KAAKE,iBACHQ,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,+BACJF,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,+GACMZ,KAAKc,KACCd,KAAKC,cAAcc,YAIrCf,KAAKK,QACHK,EAAAA,EAAAA,IAAIS,IAAAA,EAAAP,CAAA,gCAAgC,gBAAAZ,KAAKK,QACzC,GAIOL,KAAKG,YAEZH,KAAKC,cAAcc,WAAWC,SAAS,gBAG7BhB,KAAKE,gBAERF,KAAKoB,cAEZpB,KAAKC,cAAcc,WAAWC,SAAS,kBAnCtCK,EAAAA,EAuCX,CAEA,mBAAcD,GACZ,GAAkD,YAA9CpB,KAAKC,cAAec,WAAWO,KAAKC,MAUtC,YATAC,EAAAA,EAAAA,IAAgBxB,KAAM,CACpByB,MAAOzB,KAAKC,cAAec,WAAWC,SACpC,2BAEFU,KAAM1B,KAAKC,cAAec,WAAWC,SACnC,oCACA,CAAEO,MAAOvB,KAAKC,cAAec,WAAWO,KAAKC,UAKnD,MAAMI,EAAgB3B,KAAK4B,eAAeD,gBAI1C,GAHA3B,KAAKE,iBAAkB,EAEvBF,KAAKK,OAAS,GACVsB,EAAcE,WAAaF,EAAcE,SAASC,OAKpD,OAJA9B,KAAKK,OAASL,KAAKC,cAAec,WAAWC,SAC3C,8BAEFhB,KAAKE,iBAAkB,GAGzB,GACEyB,EAAcE,UACdF,EAAcE,WAAaF,EAAcI,iBAMzC,OAJA/B,KAAKK,OAASL,KAAKC,cAAec,WAAWC,SAC3C,sCAEFhB,KAAKE,iBAAkB,UAIlByB,EAAcI,iBAErB,IACyC,SAAnC/B,KAAK4B,eAAeI,iBAChBC,EAAAA,EAAAA,IAAuBjC,KAAKc,KAAMa,SAElCO,EAAAA,EAAAA,IAA0BlC,KAAKc,KAAMa,GAG7C3B,KAAKC,cAAekC,WACpBnC,KAAKG,aACP,CAAE,MAAOiC,GACPpC,KAAKK,QAASgC,EAAAA,EAAAA,IAAuBD,EACvC,CACApC,KAAKE,iBAAkB,CACzB,CAEA,iBAAWoC,GACT,MAAO,CACLC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA9B,CAAA,sCAMP,C,kBAlIF,SAAA+B,GAAA,KAQmBzC,iBAAkB,C,8BANvB0C,WAAW,K"}
|
{"version":3,"file":"2210.0e18ee765a9dd032.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/hassio/src/dialogs/backup/dialog-hassio-create-backup.ts"],"names":["HassioCreateBackupDialog","LitElement","showDialog","dialogParams","this","_dialogParams","_creatingBackup","closeDialog","undefined","_error","fireEvent","dialog","localName","render","html","_t","_","createCloseHeading","hass","supervisor","localize","_t2","_t3","_t4","_createBackup","nothing","info","state","showAlertDialog","title","text","backupDetails","_backupContent","password","length","confirm_password","backupType","createHassioFullBackup","createHassioPartialBackup","onCreate","err","extractApiErrorMessage","styles","haStyle","haStyleDialog","css","_t5","args","attribute"],"mappings":"0ZAoBA,MACMA,UAAiCC,EAAAA,GAY9BC,UAAAA,CAAWC,GAChBC,KAAKC,cAAgBF,EACrBC,KAAKE,iBAAkB,CACzB,CAEOC,WAAAA,GACLH,KAAKC,mBAAgBG,EACrBJ,KAAKE,iBAAkB,EACvBF,KAAKK,YAASD,GACdE,EAAAA,EAAAA,GAAUN,KAAM,gBAAiB,CAAEO,OAAQP,KAAKQ,WAClD,CAEUC,MAAAA,GACR,OAAKT,KAAKC,eAGHS,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,qQAIGZ,KAAKG,aACJU,EAAAA,EAAAA,GACTb,KAAKc,KACLd,KAAKC,cAAcc,WAAWC,SAAS,yBAGvChB,KAAKE,iBACHQ,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,+BACJF,EAAAA,EAAAA,IAAIQ,IAAAA,EAAAN,CAAA,+GACMZ,KAAKc,KACCd,KAAKC,cAAcc,YAIrCf,KAAKK,QACHK,EAAAA,EAAAA,IAAIS,IAAAA,EAAAP,CAAA,gCAAgC,gBAAAZ,KAAKK,QACzC,GAIOL,KAAKG,YAEZH,KAAKC,cAAcc,WAAWC,SAAS,gBAG7BhB,KAAKE,gBAERF,KAAKoB,cAEZpB,KAAKC,cAAcc,WAAWC,SAAS,kBAnCtCK,EAAAA,EAuCX,CAEA,mBAAcD,GACZ,GAAkD,YAA9CpB,KAAKC,cAAec,WAAWO,KAAKC,MAUtC,YATAC,EAAAA,EAAAA,IAAgBxB,KAAM,CACpByB,MAAOzB,KAAKC,cAAec,WAAWC,SACpC,2BAEFU,KAAM1B,KAAKC,cAAec,WAAWC,SACnC,oCACA,CAAEO,MAAOvB,KAAKC,cAAec,WAAWO,KAAKC,UAKnD,MAAMI,EAAgB3B,KAAK4B,eAAeD,gBAI1C,GAHA3B,KAAKE,iBAAkB,EAEvBF,KAAKK,OAAS,GACVsB,EAAcE,WAAaF,EAAcE,SAASC,OAKpD,OAJA9B,KAAKK,OAASL,KAAKC,cAAec,WAAWC,SAC3C,8BAEFhB,KAAKE,iBAAkB,GAGzB,GACEyB,EAAcE,UACdF,EAAcE,WAAaF,EAAcI,iBAMzC,OAJA/B,KAAKK,OAASL,KAAKC,cAAec,WAAWC,SAC3C,sCAEFhB,KAAKE,iBAAkB,UAIlByB,EAAcI,iBAErB,IACyC,SAAnC/B,KAAK4B,eAAeI,iBAChBC,EAAAA,EAAAA,IAAuBjC,KAAKc,KAAMa,SAElCO,EAAAA,EAAAA,IAA0BlC,KAAKc,KAAMa,GAG7C3B,KAAKC,cAAekC,WACpBnC,KAAKG,aACP,CAAE,MAAOiC,GACPpC,KAAKK,QAASgC,EAAAA,EAAAA,IAAuBD,EACvC,CACApC,KAAKE,iBAAkB,CACzB,CAEA,iBAAWoC,GACT,MAAO,CACLC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA9B,CAAA,sCAMP,C,kBAlIF,SAAA+B,GAAA,KAQmBzC,iBAAkB,C,8BANvB0C,WAAW,K"}
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"2341.a6764e608e9c9aa5.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-form/ha-form-optional_actions.ts"],"names":["stopPropagation","ev","NO_ACTIONS","HaFormOptionalActions","LitElement","focus","_this$renderRoot$quer","this","updateComplete","renderRoot","querySelector","updated","changedProps","super","has","_this$_displayActions","displayActions","_displayActions","hiddenActions","_hiddenActions","schema","filter","name","data","render","_this$_displayActions2","_this$_displayActions3","_this$localize","_displaySchema","schemaMap","Map","computeLabel","map","item","html","_t","_","length","_t2","hass","disabled","computeHelper","localizeValue","nothing","_t3","_handleAddAction","mdiPlus","localize","call","action","actionSchema","get","_t4","_this$_displayActions4","_this$_displayActions5","detail","index","args","memoizeOne","includes","styles","css","_t5","attribute","type","Boolean"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,qYCmBpCE,EAAa,GAGZ,MAAMC,UAA8BC,EAAAA,GA0BzC,WAAaC,GAAQ,IAAAC,QACbC,KAAKC,eACmB,QAA9BF,EAAAC,KAAKE,WAAWC,cAAc,sBAAAJ,GAA9BA,EAA0CD,OAC5C,CAEUM,OAAAA,CAAQC,GAEhB,GADAC,MAAMF,QAAQC,GACVA,EAAaE,IAAI,QAAS,KAAAC,EAC5B,MAAMC,EAAqC,QAArCD,EAAiBR,KAAKU,uBAAe,IAAAF,EAAAA,EAAIb,EACzCgB,EAAgBX,KAAKY,eACzBZ,KAAKa,OAAOA,OACZJ,GAEFT,KAAKU,gBAAkB,IAClBD,KACAE,EAAcG,OAAQC,GAASA,KAAQf,KAAKgB,MAEnD,CACF,CAiBOC,MAAAA,GAAyB,IAAAC,EAAAC,EAAAC,EAC9B,MAAMX,EAAqC,QAArCS,EAAiBlB,KAAKU,uBAAe,IAAAQ,EAAAA,EAAIvB,EAEzCkB,EAASb,KAAKqB,eAClBrB,KAAKa,OAAOA,OACQ,QADFM,EAClBnB,KAAKU,uBAAe,IAAAS,EAAAA,EAAI,IAGpBR,EAAgBX,KAAKY,eACzBZ,KAAKa,OAAOA,OACZJ,GAGIa,EAAY,IAAIC,IACpBvB,KAAKwB,aACDxB,KAAKa,OAAOA,OAAOY,IAAKC,GAAS,CAACA,EAAKX,KAAMW,IAC7C,IAGN,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,eACPhB,EAAOiB,OAAS,GACdH,EAAAA,EAAAA,IAAII,IAAAA,EAAAF,CAAA,oJAEQ7B,KAAKgC,KACLhC,KAAKgB,KACHH,EACEb,KAAKiC,SACDjC,KAAKwB,aACJxB,KAAKkC,cACLlC,KAAKmC,eAG1BC,EAAAA,GACFzB,EAAcmB,OAAS,GACrBH,EAAAA,EAAAA,IAAIU,IAAAA,EAAAR,CAAA,qNAEU7B,KAAKsC,iBAEL7C,EAAAA,EAGa8C,GACN,QAAbnB,EAAApB,KAAKwC,gBAAQ,IAAApB,OAAA,EAAbA,EAAAqB,KAAAzC,KAAgB,6CAClB,kBAEAW,EAAcc,IAAKiB,IACnB,MAAMC,EAAerB,EAAUsB,IAAIF,GACnC,OAAOf,EAAAA,EAAAA,IAAIkB,IAAAA,EAAAhB,CAAA,yCAEL7B,KAAKwB,cAAgBmB,EACnB3C,KAAKwB,aAAamB,GAClBD,MAMdN,EAAAA,GAER,CAEQE,gBAAAA,CAAiB5C,GAAiB,IAAAoD,EAAAC,EACxC,MAKML,EALgB1C,KAAKY,eACzBZ,KAAKa,OAAOA,OACQ,QADFiC,EAClB9C,KAAKU,uBAAe,IAAAoC,EAAAA,EAAInD,GAEZD,EAAGsD,OAAOC,OAExBjD,KAAKU,gBAAkB,IAAyB,QAAzB,EAAKV,KAAKU,uBAAe,IAAAqC,EAAAA,EAAI,GAAKL,EAC3D,C,kBAlIK,SAAAQ,GAAA,KAS+BjB,UAAW,OAqCvCrB,gBAAiBuC,EAAAA,EAAAA,GACvB,CAACtC,EAAiCJ,IAChCI,EACGY,IAAKC,GAASA,EAAKX,MACnBD,OAAQC,IAAUN,EAAe2C,SAASrC,KAAA,KAGzCM,gBAAiB8B,EAAAA,EAAAA,GACvB,CACEtC,EACAJ,IAEAI,EAAOC,OAAQY,GAASjB,EAAe2C,SAAS1B,EAAKX,O,EA1D9CnB,EAoIJyD,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA1B,CAAA,8F,2BAnIP2B,WAAW,K,2DAEXA,WAAW,K,uDAEXA,WAAW,K,uDAEXA,WAAW,K,yDAEXC,KAAMC,W,2DAENF,WAAW,K,+DAKXA,WAAW,K,gEAIXA,WAAW,K"}
|
{"version":3,"file":"2341.a6764e608e9c9aa5.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-form/ha-form-optional_actions.ts"],"names":["stopPropagation","ev","NO_ACTIONS","HaFormOptionalActions","LitElement","focus","_this$renderRoot$quer","this","updateComplete","renderRoot","querySelector","updated","changedProps","super","has","_this$_displayActions","displayActions","_displayActions","hiddenActions","_hiddenActions","schema","filter","name","data","render","_this$_displayActions2","_this$_displayActions3","_this$localize","_displaySchema","schemaMap","Map","computeLabel","map","item","html","_t","_","length","_t2","hass","disabled","computeHelper","localizeValue","nothing","_t3","_handleAddAction","mdiPlus","localize","call","action","actionSchema","get","_t4","_this$_displayActions4","_this$_displayActions5","detail","index","args","memoizeOne","includes","styles","css","_t5","attribute","type","Boolean"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,qYCmBpCE,EAAa,GAGZ,MAAMC,UAA8BC,EAAAA,GA0BzC,WAAaC,GAAQ,IAAAC,QACbC,KAAKC,eACmB,QAA9BF,EAAAC,KAAKE,WAAWC,cAAc,sBAAAJ,GAA9BA,EAA0CD,OAC5C,CAEUM,OAAAA,CAAQC,GAEhB,GADAC,MAAMF,QAAQC,GACVA,EAAaE,IAAI,QAAS,KAAAC,EAC5B,MAAMC,EAAqC,QAArCD,EAAiBR,KAAKU,uBAAe,IAAAF,EAAAA,EAAIb,EACzCgB,EAAgBX,KAAKY,eACzBZ,KAAKa,OAAOA,OACZJ,GAEFT,KAAKU,gBAAkB,IAClBD,KACAE,EAAcG,OAAQC,GAASA,KAAQf,KAAKgB,MAEnD,CACF,CAiBOC,MAAAA,GAAyB,IAAAC,EAAAC,EAAAC,EAC9B,MAAMX,EAAqC,QAArCS,EAAiBlB,KAAKU,uBAAe,IAAAQ,EAAAA,EAAIvB,EAEzCkB,EAASb,KAAKqB,eAClBrB,KAAKa,OAAOA,OACQ,QADFM,EAClBnB,KAAKU,uBAAe,IAAAS,EAAAA,EAAI,IAGpBR,EAAgBX,KAAKY,eACzBZ,KAAKa,OAAOA,OACZJ,GAGIa,EAAY,IAAIC,IACpBvB,KAAKwB,aACDxB,KAAKa,OAAOA,OAAOY,IAAKC,GAAS,CAACA,EAAKX,KAAMW,IAC7C,IAGN,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,eACPhB,EAAOiB,OAAS,GACdH,EAAAA,EAAAA,IAAII,IAAAA,EAAAF,CAAA,oJAEQ7B,KAAKgC,KACLhC,KAAKgB,KACHH,EACEb,KAAKiC,SACDjC,KAAKwB,aACJxB,KAAKkC,cACLlC,KAAKmC,eAG1BC,EAAAA,GACFzB,EAAcmB,OAAS,GACrBH,EAAAA,EAAAA,IAAIU,IAAAA,EAAAR,CAAA,qNAEU7B,KAAKsC,iBAEL7C,EAAAA,EAGa8C,GACN,QAAbnB,EAAApB,KAAKwC,gBAAQ,IAAApB,OAAA,EAAbA,EAAAqB,KAAAzC,KAAgB,6CAClB,kBAEAW,EAAcc,IAAKiB,IACnB,MAAMC,EAAerB,EAAUsB,IAAIF,GACnC,OAAOf,EAAAA,EAAAA,IAAIkB,IAAAA,EAAAhB,CAAA,yCAEL7B,KAAKwB,cAAgBmB,EACnB3C,KAAKwB,aAAamB,GAClBD,MAMdN,EAAAA,GAER,CAEQE,gBAAAA,CAAiB5C,GAAiB,IAAAoD,EAAAC,EACxC,MAKML,EALgB1C,KAAKY,eACzBZ,KAAKa,OAAOA,OACQ,QADFiC,EAClB9C,KAAKU,uBAAe,IAAAoC,EAAAA,EAAInD,GAEZD,EAAGsD,OAAOC,OAExBjD,KAAKU,gBAAkB,IAAyB,QAAzB,EAAKV,KAAKU,uBAAe,IAAAqC,EAAAA,EAAI,GAAKL,EAC3D,C,kBAlIK,SAAAQ,GAAA,KAS+BjB,UAAW,OAqCvCrB,gBAAiBuC,EAAAA,EAAAA,GACvB,CAACtC,EAAiCJ,IAChCI,EACGY,IAAKC,GAASA,EAAKX,MACnBD,OAAQC,IAAUN,EAAe2C,SAASrC,KAAA,KAGzCM,gBAAiB8B,EAAAA,EAAAA,GACvB,CACEtC,EACAJ,IAEAI,EAAOC,OAAQY,GAASjB,EAAe2C,SAAS1B,EAAKX,O,EA1D9CnB,EAoIJyD,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAA1B,CAAA,8F,2BAnIP2B,WAAW,K,2DAEXA,WAAW,K,uDAEXA,WAAW,K,uDAEXA,WAAW,K,yDAEXC,KAAMC,W,2DAENF,WAAW,K,+DAKXA,WAAW,K,gEAIXA,WAAW,K"}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"2785.702e51291ba8dfc9.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-input-helper-text.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-selector/ha-selector-duration.ts"],"names":["stopPropagation","ev","InputHelperText","LitElement","render","html","_t","_","args","disabled","styles","css","_t2","type","Boolean","reflect","HaTimeDuration","_this$selector$durati","_this$selector$durati2","this","label","helper","value","required","selector","duration","enable_day","enable_millisecond","attribute"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,6FCI1C,MACME,UAAwBC,EAAAA,GAGlBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAC,GAAA,KAE8CC,UAAW,C,EADnDP,EAOGQ,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAL,CAAA;;;2IANPM,KAAMC,QAASC,SAAS,K,+OCE/B,MAAMC,UAAuBb,EAAAA,GAexBC,MAAAA,GAAS,IAAAa,EAAAC,EACjB,OAAOb,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,qKAEEY,KAAKC,MACJD,KAAKE,OACPF,KAAKG,MACDH,KAAKV,SACLU,KAAKI,SACkB,QADVN,EACZE,KAAKK,SAASC,gBAAQ,IAAAR,OAAA,EAAtBA,EAAwBS,WACM,QADNR,EAChBC,KAAKK,SAASC,gBAAQ,IAAAP,OAAA,EAAtBA,EAAwBS,mBAGnD,C,kBA3BK,SAAAnB,GAAA,KAW+BC,UAAW,OAEXc,UAAW,C,8BAZnCK,WAAW,K,uDAEXA,WAAW,K,2DAEXA,WAAW,K,6KAMXf,KAAMC,W,2DAEND,KAAMC,W"}
|
{"version":3,"file":"2785.702e51291ba8dfc9.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-input-helper-text.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-selector/ha-selector-duration.ts"],"names":["stopPropagation","ev","InputHelperText","LitElement","render","html","_t","_","args","disabled","styles","css","_t2","type","Boolean","reflect","HaTimeDuration","_this$selector$durati","_this$selector$durati2","this","label","helper","value","required","selector","duration","enable_day","enable_millisecond","attribute"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,6FCI1C,MACME,UAAwBC,EAAAA,GAGlBC,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAC,GAAA,KAE8CC,UAAW,C,EADnDP,EAOGQ,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAL,CAAA;;;2IANPM,KAAMC,QAASC,SAAS,K,+OCE/B,MAAMC,UAAuBb,EAAAA,GAexBC,MAAAA,GAAS,IAAAa,EAAAC,EACjB,OAAOb,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,qKAEEY,KAAKC,MACJD,KAAKE,OACPF,KAAKG,MACDH,KAAKV,SACLU,KAAKI,SACkB,QADVN,EACZE,KAAKK,SAASC,gBAAQ,IAAAR,OAAA,EAAtBA,EAAwBS,WACM,QADNR,EAChBC,KAAKK,SAASC,gBAAQ,IAAAP,OAAA,EAAtBA,EAAwBS,mBAGnD,C,kBA3BK,SAAAnB,GAAA,KAW+BC,UAAW,OAEXc,UAAW,C,8BAZnCK,WAAW,K,uDAEXA,WAAW,K,2DAEXA,WAAW,K,6KAMXf,KAAMC,W,2DAEND,KAAMC,W"}
|
Binary file not shown.
Binary file not shown.
@@ -1,14 +1,14 @@
|
|||||||
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["285"],{71781:function(o,t,a){a.a(o,async function(o,e){try{a.r(t),a.d(t,{HassioUpdate:function(){return m}});a(39710),a(26847),a(81738),a(94814),a(56389),a(27530);var r=a(73742),n=a(59048),l=a(7616),i=a(28105),s=(a(31138),a(72953)),c=(a(55245),a(993),a(56730)),d=a(95814),h=a(8498),v=o([s]);s=(v.then?(await v)():v)[0];let p,u,f,b=o=>o;const g=(o,t)=>"os"===o?t:`${o}-${t}`;class m extends n.oi{render(){if(!this.supervisor)return n.Ld;const o=this._pendingUpdates(this.supervisor);return o?(0,n.dy)(p||(p=b` <div class="content"> <h1> ${0} 🎉 </h1> <div class="card-group"> ${0} ${0} ${0} </div> </div> `),this.supervisor.localize("common.update_available",{count:o}),this._renderUpdateCard("Home Assistant Core","core",this.supervisor.core),this._renderUpdateCard("Supervisor","supervisor",this.supervisor.supervisor),this.supervisor.host.features.includes("haos")?this._renderUpdateCard("Operating System","os",this.supervisor.os):""):n.Ld}_renderUpdateCard(o,t,a){return a.update_available?(0,n.dy)(u||(u=b` <ha-card outlined> <div class="card-content"> <div class="icon"> <ha-svg-icon .path="${0}"></ha-svg-icon> </div> <div class="update-heading">${0}</div> <ha-settings-row two-line> <span slot="heading"> ${0} </span> <span slot="description"> ${0} </span> </ha-settings-row> <ha-settings-row two-line> <span slot="heading"> ${0} </span> <span slot="description"> ${0} </span> </ha-settings-row> </div> <div class="card-actions"> <ha-button appearance="plain" href="/hassio/update-available/${0}"> ${0} </ha-button> </div> </ha-card> `),c.T,o,this.supervisor.localize("common.version"),g(t,a.version),this.supervisor.localize("common.newest_version"),g(t,a.version_latest),t,this.supervisor.localize("common.show")):n.Ld}static get styles(){return[d.Qx,h.l,(0,n.iv)(f||(f=b`.icon{--mdc-icon-size:48px;float:right;margin:0 0 2px 10px;color:var(--primary-text-color)}.update-heading{font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);margin-bottom:.5em;color:var(--primary-text-color)}.card-content{height:calc(100% - 47px);box-sizing:border-box}.card-actions{text-align:right}a{text-decoration:none}ha-settings-row{padding:0}`))]}constructor(...o){super(...o),this._pendingUpdates=(0,i.Z)(o=>Object.keys(o).filter(t=>o[t].update_available).length)}}(0,r.__decorate)([(0,l.Cb)({attribute:!1})],m.prototype,"hass",void 0),(0,r.__decorate)([(0,l.Cb)({attribute:!1})],m.prototype,"supervisor",void 0),m=(0,r.__decorate)([(0,l.Mo)("hassio-update")],m),e()}catch(p){e(p)}})},72953:function(o,t,a){a.a(o,async function(o,t){try{a(26847),a(27530),a(11807);var e=a(73742),r=a(71328),n=a(59048),l=a(7616),i=a(29171),s=o([r]);r=(s.then?(await s)():s)[0];let c,d=o=>o;class h extends r.Z{attachInternals(){const o=super.attachInternals();return Object.defineProperty(o,"states",{value:new i.C(this,o.states)}),o}static get styles(){return[r.Z.styles,(0,n.iv)(c||(c=d`.button{--wa-form-control-padding-inline:16px;--wa-font-weight-action:var(--ha-font-weight-medium);--wa-form-control-border-radius:var(
|
"use strict";(self.webpackChunkhome_assistant_frontend=self.webpackChunkhome_assistant_frontend||[]).push([["285"],{71781:function(o,t,a){a.a(o,async function(o,e){try{a.r(t),a.d(t,{HassioUpdate:function(){return m}});a(39710),a(26847),a(81738),a(94814),a(56389),a(27530);var r=a(73742),n=a(59048),l=a(7616),i=a(28105),s=(a(31138),a(72953)),c=(a(55245),a(993),a(56730)),d=a(95814),h=a(8498),v=o([s]);s=(v.then?(await v)():v)[0];let p,u,f,b=o=>o;const g=(o,t)=>"os"===o?t:`${o}-${t}`;class m extends n.oi{render(){if(!this.supervisor)return n.Ld;const o=this._pendingUpdates(this.supervisor);return o?(0,n.dy)(p||(p=b` <div class="content"> <h1> ${0} 🎉 </h1> <div class="card-group"> ${0} ${0} ${0} </div> </div> `),this.supervisor.localize("common.update_available",{count:o}),this._renderUpdateCard("Home Assistant Core","core",this.supervisor.core),this._renderUpdateCard("Supervisor","supervisor",this.supervisor.supervisor),this.supervisor.host.features.includes("haos")?this._renderUpdateCard("Operating System","os",this.supervisor.os):""):n.Ld}_renderUpdateCard(o,t,a){return a.update_available?(0,n.dy)(u||(u=b` <ha-card outlined> <div class="card-content"> <div class="icon"> <ha-svg-icon .path="${0}"></ha-svg-icon> </div> <div class="update-heading">${0}</div> <ha-settings-row two-line> <span slot="heading"> ${0} </span> <span slot="description"> ${0} </span> </ha-settings-row> <ha-settings-row two-line> <span slot="heading"> ${0} </span> <span slot="description"> ${0} </span> </ha-settings-row> </div> <div class="card-actions"> <ha-button appearance="plain" href="/hassio/update-available/${0}"> ${0} </ha-button> </div> </ha-card> `),c.T,o,this.supervisor.localize("common.version"),g(t,a.version),this.supervisor.localize("common.newest_version"),g(t,a.version_latest),t,this.supervisor.localize("common.show")):n.Ld}static get styles(){return[d.Qx,h.l,(0,n.iv)(f||(f=b`.icon{--mdc-icon-size:48px;float:right;margin:0 0 2px 10px;color:var(--primary-text-color)}.update-heading{font-size:var(--ha-font-size-l);font-weight:var(--ha-font-weight-medium);margin-bottom:.5em;color:var(--primary-text-color)}.card-content{height:calc(100% - 47px);box-sizing:border-box}.card-actions{text-align:right}a{text-decoration:none}ha-settings-row{padding:0}`))]}constructor(...o){super(...o),this._pendingUpdates=(0,i.Z)(o=>Object.keys(o).filter(t=>o[t].update_available).length)}}(0,r.__decorate)([(0,l.Cb)({attribute:!1})],m.prototype,"hass",void 0),(0,r.__decorate)([(0,l.Cb)({attribute:!1})],m.prototype,"supervisor",void 0),m=(0,r.__decorate)([(0,l.Mo)("hassio-update")],m),e()}catch(p){e(p)}})},72953:function(o,t,a){a.a(o,async function(o,t){try{a(26847),a(27530),a(11807);var e=a(73742),r=a(71328),n=a(59048),l=a(7616),i=a(29171),s=o([r]);r=(s.then?(await s)():s)[0];let c,d=o=>o;class h extends r.Z{attachInternals(){const o=super.attachInternals();return Object.defineProperty(o,"states",{value:new i.C(this,o.states)}),o}static get styles(){return[r.Z.styles,(0,n.iv)(c||(c=d`.button{--wa-form-control-padding-inline:16px;--wa-font-weight-action:var(--ha-font-weight-medium);--wa-form-control-border-radius:var(
|
||||||
--ha-button-border-radius,
|
--ha-button-border-radius,
|
||||||
var(--ha-border-radius-pill)
|
var(--border-radius-pill)
|
||||||
);--wa-form-control-height:var(
|
);--wa-form-control-height:var(
|
||||||
--ha-button-height,
|
--ha-button-height,
|
||||||
var(--button-height, 40px)
|
var(--button-height, 40px)
|
||||||
);font-size:var(--ha-font-size-m);line-height:1}:host([size=small]) .button{--wa-form-control-height:var(
|
);font-size:var(--ha-font-size-m);line-height:1}:host([size=small]) .button{--wa-form-control-height:var(
|
||||||
--ha-button-height,
|
--ha-button-height,
|
||||||
var(--button-height, 32px)
|
var(--button-height, 32px)
|
||||||
);font-size:var(--wa-font-size-s, var(--ha-font-size-m))}:host([variant=brand]){--button-color-fill-normal-active:var(--ha-color-fill-primary-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-primary-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-primary-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-primary-loud-hover)}:host([variant=neutral]){--button-color-fill-normal-active:var(--ha-color-fill-neutral-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-neutral-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-neutral-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-neutral-loud-hover)}:host([variant=success]){--button-color-fill-normal-active:var(--ha-color-fill-success-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-success-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-success-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-success-loud-hover)}:host([variant=warning]){--button-color-fill-normal-active:var(--ha-color-fill-warning-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-warning-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-warning-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-warning-loud-hover)}:host([variant=danger]){--button-color-fill-normal-active:var(--ha-color-fill-danger-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-danger-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-danger-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-danger-loud-hover)}:host([appearance~=plain]) .button{color:var(--wa-color-on-normal);background-color:transparent}:host([appearance~=plain]) .button.disabled{background-color:transparent;color:var(--ha-color-on-disabled-quiet)}:host([appearance~=outlined]) .button.disabled{background-color:transparent;color:var(--ha-color-on-disabled-quiet)}@media (hover:hover){:host([appearance~=filled]) .button:not(.disabled):not(.loading):hover{background-color:var(--button-color-fill-normal-hover)}:host([appearance~=accent]) .button:not(.disabled):not(.loading):hover{background-color:var(--button-color-fill-loud-hover)}:host([appearance~=plain]) .button:not(.disabled):not(.loading):hover{color:var(--wa-color-on-normal)}}:host([appearance~=filled]) .button:not(.disabled):not(.loading):active{background-color:var(--button-color-fill-normal-active)}:host([appearance~=filled]) .button.disabled{background-color:var(--ha-color-fill-disabled-normal-resting);color:var(--ha-color-on-disabled-normal)}:host([appearance~=accent]) .button{background-color:var(--wa-color-fill-loud,var(--wa-color-neutral-fill-loud))}:host([appearance~=accent]) .button:not(.disabled):not(.loading):active{background-color:var(--button-color-fill-loud-active)}:host([appearance~=accent]) .button.disabled{background-color:var(--ha-color-fill-disabled-loud-resting);color:var(--ha-color-on-disabled-loud)}:host([loading]){pointer-events:none}.button.disabled{opacity:1}slot[name=start]::slotted(*){margin-inline-end:4px}slot[name=end]::slotted(*){margin-inline-start:4px}`))]}constructor(...o){super(...o),this.variant="brand"}}h=(0,e.__decorate)([(0,l.Mo)("ha-button")],h),t()}catch(c){t(c)}})},55245:function(o,t,a){a(26847),a(27530);var e=a(73742),r=a(59048),n=a(7616);let l,i,s=o=>o;class c extends r.oi{render(){return(0,r.dy)(l||(l=s` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${0}" ?three-line="${0}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `),!this.threeLine,this.threeLine)}constructor(...o){super(...o),this.narrow=!1,this.slim=!1,this.threeLine=!1,this.wrapHeading=!1}}c.styles=(0,r.iv)(i||(i=s`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:88px}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var(
|
);font-size:var(--wa-font-size-s, var(--ha-font-size-m))}:host([variant=brand]){--button-color-fill-normal-active:var(--ha-color-fill-primary-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-primary-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-primary-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-primary-loud-hover)}:host([variant=neutral]){--button-color-fill-normal-active:var(--ha-color-fill-neutral-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-neutral-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-neutral-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-neutral-loud-hover)}:host([variant=success]){--button-color-fill-normal-active:var(--ha-color-fill-success-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-success-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-success-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-success-loud-hover)}:host([variant=warning]){--button-color-fill-normal-active:var(--ha-color-fill-warning-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-warning-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-warning-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-warning-loud-hover)}:host([variant=danger]){--button-color-fill-normal-active:var(--ha-color-fill-danger-normal-active);--button-color-fill-normal-hover:var(--ha-color-fill-danger-normal-hover);--button-color-fill-loud-active:var(--ha-color-fill-danger-loud-active);--button-color-fill-loud-hover:var(--ha-color-fill-danger-loud-hover)}:host([appearance~=plain]) .button{color:var(--wa-color-on-normal)}:host([appearance~=plain]) .button.disabled{background-color:transparent;color:var(--ha-color-on-disabled-quiet)}:host([appearance~=outlined]) .button.disabled{background-color:transparent;color:var(--ha-color-on-disabled-quiet)}@media (hover:hover){:host([appearance~=filled]) .button:not(.disabled):not(.loading):hover{background-color:var(--button-color-fill-normal-hover)}:host([appearance~=accent]) .button:not(.disabled):not(.loading):hover{background-color:var(--button-color-fill-loud-hover)}:host([appearance~=plain]) .button:not(.disabled):not(.loading):hover{color:var(--wa-color-on-normal)}}:host([appearance~=filled]) .button:not(.disabled):not(.loading):active{background-color:var(--button-color-fill-normal-active)}:host([appearance~=filled]) .button.disabled{background-color:var(--ha-color-fill-disabled-normal-resting);color:var(--ha-color-on-disabled-normal)}:host([appearance~=accent]) .button{background-color:var(--wa-color-fill-loud,var(--wa-color-neutral-fill-loud))}:host([appearance~=accent]) .button:not(.disabled):not(.loading):active{background-color:var(--button-color-fill-loud-active)}:host([appearance~=accent]) .button.disabled{background-color:var(--ha-color-fill-disabled-loud-resting);color:var(--ha-color-on-disabled-loud)}:host([loading]){pointer-events:none}.button.disabled{opacity:1}`))]}constructor(...o){super(...o),this.variant="brand"}}h=(0,e.__decorate)([(0,l.Mo)("ha-button")],h),t()}catch(c){t(c)}})},55245:function(o,t,a){a(26847),a(27530);var e=a(73742),r=a(59048),n=a(7616);let l,i,s=o=>o;class c extends r.oi{render(){return(0,r.dy)(l||(l=s` <div class="prefix-wrap"> <slot name="prefix"></slot> <div class="body" ?two-line="${0}" ?three-line="${0}"> <slot name="heading"></slot> <div class="secondary"><slot name="description"></slot></div> </div> </div> <div class="content"><slot></slot></div> `),!this.threeLine,this.threeLine)}constructor(...o){super(...o),this.narrow=!1,this.slim=!1,this.threeLine=!1,this.wrapHeading=!1}}c.styles=(0,r.iv)(i||(i=s`:host{display:flex;padding:0 16px;align-content:normal;align-self:auto;align-items:center}.body{padding-top:8px;padding-bottom:8px;padding-left:0;padding-inline-start:0;padding-right:16px;padding-inline-end:16px;overflow:hidden;display:var(--layout-vertical_-_display,flex);flex-direction:var(--layout-vertical_-_flex-direction,column);justify-content:var(--layout-center-justified_-_justify-content,center);flex:var(--layout-flex_-_flex,1);flex-basis:var(--layout-flex_-_flex-basis,0.000000001px)}.body[three-line]{min-height:88px}:host(:not([wrap-heading])) body>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.body>.secondary{display:block;padding-top:4px;font-family:var(
|
||||||
--mdc-typography-body2-font-family,
|
--mdc-typography-body2-font-family,
|
||||||
var(--mdc-typography-font-family, var(--ha-font-family-body))
|
var(--mdc-typography-font-family, var(--ha-font-family-body))
|
||||||
);font-size:var(--mdc-typography-body2-font-size, var(--ha-font-size-s));-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-weight:var(--mdc-typography-body2-font-weight,var(--ha-font-weight-normal));line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(72px - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;min-width:0;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`)),(0,e.__decorate)([(0,n.Cb)({type:Boolean,reflect:!0})],c.prototype,"narrow",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,reflect:!0})],c.prototype,"slim",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,attribute:"three-line"})],c.prototype,"threeLine",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],c.prototype,"wrapHeading",void 0),c=(0,e.__decorate)([(0,n.Mo)("ha-settings-row")],c)},56730:function(o,t,a){a.d(t,{T:function(){return e}});const e="m12.151 1.5882c-.3262 0-.6523.1291-.8996.3867l-8.3848 8.7354c-.0619.0644-.1223.1368-.1807.2154-.0588.0789-.1151.1638-.1688.2534-.2593.4325-.4552.9749-.5232 1.4555-.0026.018-.0076.0369-.0094.0548-.0121.0987-.0184.1944-.0184.2857v8.0124a1.2731 1.2731 0 001.2731 1.2731h7.8313l-3.4484-3.593a1.7399 1.7399 0 111.0803-1.125l2.6847 2.7972v-10.248a1.7399 1.7399 0 111.5276-0v7.187l2.6702-2.782a1.7399 1.7399 0 111.0566 1.1505l-3.7269 3.8831v2.7299h8.174a1.2471 1.2471 0 001.2471-1.2471v-8.0375c0-.0912-.0059-.1868-.0184-.2855-.0603-.4935-.2636-1.0617-.5326-1.5105-.0537-.0896-.1101-.1745-.1684-.253-.0588-.079-.1191-.1513-.181-.2158l-8.3848-8.7363c-.2473-.2577-.5735-.3866-.8995-.3864"},29171:function(o,t,a){a.d(t,{C:function(){return e}});a(26847),a(64455),a(67886),a(65451),a(46015),a(38334),a(94880),a(75643),a(29761),a(6202),a(27530);class e extends Set{add(o){super.add(o);const t=this._existing;if(t)try{t.add(o)}catch(a){t.add(`--${o}`)}else this._el.setAttribute(`state-${o}`,"");return this}delete(o){super.delete(o);const t=this._existing;return t?(t.delete(o),t.delete(`--${o}`)):this._el.removeAttribute(`state-${o}`),!0}has(o){return super.has(o)}clear(){for(const o of this)this.delete(o)}constructor(o,t=null){super(),this._existing=null,this._el=o,this._existing=t}}const r=CSSStyleSheet.prototype.replaceSync;Object.defineProperty(CSSStyleSheet.prototype,"replaceSync",{value:function(o){o=o.replace(/:state\(([^)]+)\)/g,":where(:state($1), :--$1, [state-$1])"),r.call(this,o)}})}}]);
|
);font-size:var(--mdc-typography-body2-font-size, var(--ha-font-size-s));-webkit-font-smoothing:var(--ha-font-smoothing);-moz-osx-font-smoothing:var(--ha-moz-osx-font-smoothing);font-weight:var(--mdc-typography-body2-font-weight,var(--ha-font-weight-normal));line-height:normal;color:var(--secondary-text-color)}.body[two-line]{min-height:calc(72px - 16px);flex:1}.content{display:contents}:host(:not([narrow])) .content{display:var(--settings-row-content-display,flex);justify-content:flex-end;flex:1;min-width:0;padding:16px 0}.content ::slotted(*){width:var(--settings-row-content-width)}:host([narrow]){align-items:normal;flex-direction:column;border-top:1px solid var(--divider-color);padding-bottom:8px}::slotted(ha-switch){padding:16px 0}.secondary{white-space:normal}.prefix-wrap{display:var(--settings-row-prefix-display)}:host([narrow]) .prefix-wrap{display:flex;align-items:center}:host([slim]),:host([slim]) .content,:host([slim]) ::slotted(ha-switch){padding:0}:host([slim]) .body{min-height:0}`)),(0,e.__decorate)([(0,n.Cb)({type:Boolean,reflect:!0})],c.prototype,"narrow",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,reflect:!0})],c.prototype,"slim",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,attribute:"three-line"})],c.prototype,"threeLine",void 0),(0,e.__decorate)([(0,n.Cb)({type:Boolean,attribute:"wrap-heading",reflect:!0})],c.prototype,"wrapHeading",void 0),c=(0,e.__decorate)([(0,n.Mo)("ha-settings-row")],c)},56730:function(o,t,a){a.d(t,{T:function(){return e}});const e="m12.151 1.5882c-.3262 0-.6523.1291-.8996.3867l-8.3848 8.7354c-.0619.0644-.1223.1368-.1807.2154-.0588.0789-.1151.1638-.1688.2534-.2593.4325-.4552.9749-.5232 1.4555-.0026.018-.0076.0369-.0094.0548-.0121.0987-.0184.1944-.0184.2857v8.0124a1.2731 1.2731 0 001.2731 1.2731h7.8313l-3.4484-3.593a1.7399 1.7399 0 111.0803-1.125l2.6847 2.7972v-10.248a1.7399 1.7399 0 111.5276-0v7.187l2.6702-2.782a1.7399 1.7399 0 111.0566 1.1505l-3.7269 3.8831v2.7299h8.174a1.2471 1.2471 0 001.2471-1.2471v-8.0375c0-.0912-.0059-.1868-.0184-.2855-.0603-.4935-.2636-1.0617-.5326-1.5105-.0537-.0896-.1101-.1745-.1684-.253-.0588-.079-.1191-.1513-.181-.2158l-8.3848-8.7363c-.2473-.2577-.5735-.3866-.8995-.3864"},29171:function(o,t,a){a.d(t,{C:function(){return e}});a(26847),a(64455),a(67886),a(65451),a(46015),a(38334),a(94880),a(75643),a(29761),a(6202),a(27530);class e extends Set{add(o){super.add(o);const t=this._existing;if(t)try{t.add(o)}catch(a){t.add(`--${o}`)}else this._el.setAttribute(`state-${o}`,"");return this}delete(o){super.delete(o);const t=this._existing;return t?(t.delete(o),t.delete(`--${o}`)):this._el.removeAttribute(`state-${o}`),!0}has(o){return super.has(o)}clear(){for(const o of this)this.delete(o)}constructor(o,t=null){super(),this._existing=null,this._el=o,this._existing=t}}const r=CSSStyleSheet.prototype.replaceSync;Object.defineProperty(CSSStyleSheet.prototype,"replaceSync",{value:function(o){o=o.replace(/:state\(([^)]+)\)/g,":where(:state($1), :--$1, [state-$1])"),r.call(this,o)}})}}]);
|
||||||
//# sourceMappingURL=285.0f891cef1da7a1ce.js.map
|
//# sourceMappingURL=285.8efa1d10eed94220.js.map
|
BIN
supervisor/api/panel/frontend_es5/285.8efa1d10eed94220.js.br
Normal file
BIN
supervisor/api/panel/frontend_es5/285.8efa1d10eed94220.js.br
Normal file
Binary file not shown.
BIN
supervisor/api/panel/frontend_es5/285.8efa1d10eed94220.js.gz
Normal file
BIN
supervisor/api/panel/frontend_es5/285.8efa1d10eed94220.js.gz
Normal file
Binary file not shown.
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"285.0f891cef1da7a1ce.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/hassio/src/dashboard/hassio-update.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-button.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-settings-row.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/home-assistant-logo-svg.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/polyfills/stateset.ts"],"names":["computeVersion","key","version","HassioUpdate","LitElement","render","this","supervisor","nothing","updatesAvailable","_pendingUpdates","html","_t","_","localize","count","_renderUpdateCard","core","host","features","includes","os","name","object","update_available","_t2","mdiHomeAssistant","version_latest","styles","haStyle","hassioStyle","css","_t3","args","memoizeOne","Object","keys","filter","value","length","attribute","HaButton","Button","attachInternals","internals","super","defineProperty","StateSet","states","variant","HaSettingsRow","threeLine","narrow","slim","wrapHeading","type","Boolean","reflect","Set","add","state","existing","_existing","_unused","_el","setAttribute","delete","removeAttribute","has","clear","constructor","el","replaceSync","CSSStyleSheet","prototype","text","replace","call"],"mappings":"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"}
|
{"version":3,"file":"285.8efa1d10eed94220.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/hassio/src/dashboard/hassio-update.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-button.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-settings-row.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/home-assistant-logo-svg.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/polyfills/stateset.ts"],"names":["computeVersion","key","version","HassioUpdate","LitElement","render","this","supervisor","nothing","updatesAvailable","_pendingUpdates","html","_t","_","localize","count","_renderUpdateCard","core","host","features","includes","os","name","object","update_available","_t2","mdiHomeAssistant","version_latest","styles","haStyle","hassioStyle","css","_t3","args","memoizeOne","Object","keys","filter","value","length","attribute","HaButton","Button","attachInternals","internals","super","defineProperty","StateSet","states","variant","HaSettingsRow","threeLine","narrow","slim","wrapHeading","type","Boolean","reflect","Set","add","state","existing","_existing","_unused","_el","setAttribute","delete","removeAttribute","has","clear","constructor","el","replaceSync","CSSStyleSheet","prototype","text","replace","call"],"mappings":"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"}
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"3104.0aa557c485784ebe.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-input-helper-text.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-selector/ha-selector-number.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-slider.ts"],"names":["InputHelperText","LitElement","render","html","_t","_","args","disabled","styles","css","_t2","type","Boolean","reflect","HaNumberSelector","willUpdate","changedProps","has","this","_valueStr","value","Number","isNaN","toString","_this$selector$number","_this$selector$number2","_this$selector$number3","_this$selector$number5","_this$selector$number6","_this$value","_this$selector$number7","_this$selector$number8","_this$selector$number9","_this$selector$number0","_this$selector$number1","_this$selector$number10","_this$_valueStr","_this$selector$number11","_this$selector$number12","isBox","selector","number","mode","undefined","min","max","sliderStep","_this$selector$number4","step","translationKey","translation_key","unit","unit_of_measurement","localizeValue","label","required","nothing","_t3","_handleSliderChange","slider_ticks","placeholder","classMap","single","helper","_handleInputChange","_t4","ev","stopPropagation","target","fireEvent","_t5","attribute","HaSlider","Slider","connectedCallback","super","dir","mainWindow"],"mappings":"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"}
|
{"version":3,"file":"3104.0aa557c485784ebe.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-input-helper-text.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-selector/ha-selector-number.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-slider.ts"],"names":["InputHelperText","LitElement","render","html","_t","_","args","disabled","styles","css","_t2","type","Boolean","reflect","HaNumberSelector","willUpdate","changedProps","has","this","_valueStr","value","Number","isNaN","toString","_this$selector$number","_this$selector$number2","_this$selector$number3","_this$selector$number5","_this$selector$number6","_this$value","_this$selector$number7","_this$selector$number8","_this$selector$number9","_this$selector$number0","_this$selector$number1","_this$selector$number10","_this$_valueStr","_this$selector$number11","_this$selector$number12","isBox","selector","number","mode","undefined","min","max","sliderStep","_this$selector$number4","step","translationKey","translation_key","unit","unit_of_measurement","localizeValue","label","required","nothing","_t3","_handleSliderChange","slider_ticks","placeholder","classMap","single","helper","_handleInputChange","_t4","ev","stopPropagation","target","fireEvent","_t5","attribute","HaSlider","Slider","connectedCallback","super","dir","mainWindow"],"mappings":"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"}
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"3114.3d74d3d731ecd45f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-form/ha-form-positive_time_period_dict.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-input-helper-text.ts"],"names":["stopPropagation","ev","HaFormTimePeriod","LitElement","focus","this","_input","render","html","_t","_","label","schema","required","data","disabled","args","attribute","type","Boolean","InputHelperText","styles","css","_t2","reflect"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,0JCOnC,MAAME,UAAyBC,EAAAA,GAW7BC,KAAAA,GACDC,KAAKC,QACPD,KAAKC,OAAOF,OAEhB,CAEUG,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,0GAEEL,KAAKM,MACFN,KAAKO,OAAOC,SAChBR,KAAKS,KACDT,KAAKU,SAGvB,C,kBA1BK,SAAAC,GAAA,KAO+BD,UAAW,C,8BANnCE,WAAW,K,yDAEXA,WAAW,K,iHAIXC,KAAMC,W,8QCVpB,MACMC,UAAwBjB,EAAAA,GAGlBI,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAM,GAAA,KAE8CD,UAAW,C,EADnDK,EAOGC,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAb,CAAA;;;2IANPQ,KAAMC,QAASK,SAAS,K"}
|
{"version":3,"file":"3114.3d74d3d731ecd45f.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/common/dom/stop_propagation.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-form/ha-form-positive_time_period_dict.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-input-helper-text.ts"],"names":["stopPropagation","ev","HaFormTimePeriod","LitElement","focus","this","_input","render","html","_t","_","label","schema","required","data","disabled","args","attribute","type","Boolean","InputHelperText","styles","css","_t2","reflect"],"mappings":"2KAAO,MAAMA,EAAmBC,GAAOA,EAAGD,iB,0JCOnC,MAAME,UAAyBC,EAAAA,GAW7BC,KAAAA,GACDC,KAAKC,QACPD,KAAKC,OAAOF,OAEhB,CAEUG,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,0GAEEL,KAAKM,MACFN,KAAKO,OAAOC,SAChBR,KAAKS,KACDT,KAAKU,SAGvB,C,kBA1BK,SAAAC,GAAA,KAO+BD,UAAW,C,8BANnCE,WAAW,K,yDAEXA,WAAW,K,iHAIXC,KAAMC,W,8QCVpB,MACMC,UAAwBjB,EAAAA,GAGlBI,MAAAA,GACR,OAAOC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,iBACb,C,kBANF,SAAAM,GAAA,KAE8CD,UAAW,C,EADnDK,EAOGC,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAb,CAAA;;;2IANPQ,KAAMC,QAASK,SAAS,K"}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"3208.c142526706a8bf41.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-qr-code.ts"],"names":["HaQrCode","LitElement","willUpdate","changedProperties","super","has","this","_error","undefined","updated","canvas","_canvas","data","computedStyles","getComputedStyle","textRgb","getPropertyValue","backgroundRgb","textHex","rgb2hex","split","map","a","parseInt","backgroundHex","QRCode","errorCorrectionLevel","centerImage","width","scale","margin","maskPattern","color","light","dark","catch","err","message","context","getContext","imageObj","Image","src","onload","drawImage","height","render","html","_t","_","_t2","nothing","args","styles","css","_t3","attribute","type","Number"],"mappings":"0TAQO,MAAMA,UAAiBC,EAAAA,GAyBlBC,UAAAA,CAAWC,GACnBC,MAAMF,WAAWC,IAEdA,EAAkBE,IAAI,SACrBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,WACtBF,EAAkBE,IAAI,gBACtBF,EAAkBE,IAAI,0BACxBC,KAAKC,SAELD,KAAKC,YAASC,EAElB,CAEAC,OAAAA,CAAQN,GACN,MAAMO,EAASJ,KAAKK,QACpB,GACED,GACAJ,KAAKM,OACJT,EAAkBE,IAAI,SACrBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,WACtBF,EAAkBE,IAAI,gBACtBF,EAAkBE,IAAI,yBACtBF,EAAkBE,IAAI,gBACxB,CACA,MAAMQ,EAAiBC,iBAAiBR,MAClCS,EAAUF,EAAeG,iBAC7B,4BAEIC,EAAgBJ,EAAeG,iBACnC,+BAEIE,GAAUC,EAAAA,EAAAA,IACdJ,EAAQK,MAAM,KAAKC,IAAKC,GAAMC,SAASD,EAAG,MAMtCE,GAAgBL,EAAAA,EAAAA,IACpBF,EAAcG,MAAM,KAAKC,IAAKC,GAAMC,SAASD,EAAG,MAsBlD,GAfAG,EAAAA,SAAgBf,EAAQJ,KAAKM,KAAM,CACjCc,qBACEpB,KAAKoB,uBAAyBpB,KAAKqB,YAAc,IAAM,KACzDC,MAAOtB,KAAKsB,MACZC,MAAOvB,KAAKuB,MACZC,OAAQxB,KAAKwB,OACbC,YAAazB,KAAKyB,YAClBC,MAAO,CACLC,MAAOT,EACPU,KAAMhB,KAEPiB,MAAOC,IACR9B,KAAKC,OAAS6B,EAAIC,UAGhB/B,KAAKqB,YAAa,CACpB,MAAMW,EAAUhC,KAAKK,QAAS4B,WAAW,MACnCC,EAAW,IAAIC,MACrBD,EAASE,IAAMpC,KAAKqB,YACpBa,EAASG,OAAS,KAChBL,SAAAA,EAASM,UACPJ,EACe,KAAf9B,EAAOkB,MACS,KAAhBlB,EAAOmC,OACPnC,EAAOkB,MAAQ,EACflB,EAAOmC,OAAS,GAGtB,CACF,CACF,CAEAC,MAAAA,GACE,OAAKxC,KAAKM,KAGNN,KAAKC,QACAwC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,gCAAgC,gBAAA3C,KAAKC,SAE3CwC,EAAAA,EAAAA,IAAIG,IAAAA,EAAAD,CAAA,sBALFE,EAAAA,EAMX,C,kBAnHK,SAAAC,GAAA,KAIE1B,qBACL,cAGKE,MAAQ,OAGRC,MAAQ,OAGRC,OAAS,C,EAdL9B,EAqHJqD,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAN,CAAA,0B,oFAlHPO,UAAW,4B,uEAIXC,KAAMC,U,wDAGND,KAAMC,U,wDAGND,KAAMC,U,yDAGNF,WAAW,EAAOC,KAAMC,U,8DAGxBF,UAAW,kB"}
|
{"version":3,"file":"3208.c142526706a8bf41.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-qr-code.ts"],"names":["HaQrCode","LitElement","willUpdate","changedProperties","super","has","this","_error","undefined","updated","canvas","_canvas","data","computedStyles","getComputedStyle","textRgb","getPropertyValue","backgroundRgb","textHex","rgb2hex","split","map","a","parseInt","backgroundHex","QRCode","errorCorrectionLevel","centerImage","width","scale","margin","maskPattern","color","light","dark","catch","err","message","context","getContext","imageObj","Image","src","onload","drawImage","height","render","html","_t","_","_t2","nothing","args","styles","css","_t3","attribute","type","Number"],"mappings":"0TAQO,MAAMA,UAAiBC,EAAAA,GAyBlBC,UAAAA,CAAWC,GACnBC,MAAMF,WAAWC,IAEdA,EAAkBE,IAAI,SACrBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,WACtBF,EAAkBE,IAAI,gBACtBF,EAAkBE,IAAI,0BACxBC,KAAKC,SAELD,KAAKC,YAASC,EAElB,CAEAC,OAAAA,CAAQN,GACN,MAAMO,EAASJ,KAAKK,QACpB,GACED,GACAJ,KAAKM,OACJT,EAAkBE,IAAI,SACrBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,UACtBF,EAAkBE,IAAI,WACtBF,EAAkBE,IAAI,gBACtBF,EAAkBE,IAAI,yBACtBF,EAAkBE,IAAI,gBACxB,CACA,MAAMQ,EAAiBC,iBAAiBR,MAClCS,EAAUF,EAAeG,iBAC7B,4BAEIC,EAAgBJ,EAAeG,iBACnC,+BAEIE,GAAUC,EAAAA,EAAAA,IACdJ,EAAQK,MAAM,KAAKC,IAAKC,GAAMC,SAASD,EAAG,MAMtCE,GAAgBL,EAAAA,EAAAA,IACpBF,EAAcG,MAAM,KAAKC,IAAKC,GAAMC,SAASD,EAAG,MAsBlD,GAfAG,EAAAA,SAAgBf,EAAQJ,KAAKM,KAAM,CACjCc,qBACEpB,KAAKoB,uBAAyBpB,KAAKqB,YAAc,IAAM,KACzDC,MAAOtB,KAAKsB,MACZC,MAAOvB,KAAKuB,MACZC,OAAQxB,KAAKwB,OACbC,YAAazB,KAAKyB,YAClBC,MAAO,CACLC,MAAOT,EACPU,KAAMhB,KAEPiB,MAAOC,IACR9B,KAAKC,OAAS6B,EAAIC,UAGhB/B,KAAKqB,YAAa,CACpB,MAAMW,EAAUhC,KAAKK,QAAS4B,WAAW,MACnCC,EAAW,IAAIC,MACrBD,EAASE,IAAMpC,KAAKqB,YACpBa,EAASG,OAAS,KAChBL,SAAAA,EAASM,UACPJ,EACe,KAAf9B,EAAOkB,MACS,KAAhBlB,EAAOmC,OACPnC,EAAOkB,MAAQ,EACflB,EAAOmC,OAAS,GAGtB,CACF,CACF,CAEAC,MAAAA,GACE,OAAKxC,KAAKM,KAGNN,KAAKC,QACAwC,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,gCAAgC,gBAAA3C,KAAKC,SAE3CwC,EAAAA,EAAAA,IAAIG,IAAAA,EAAAD,CAAA,sBALFE,EAAAA,EAMX,C,kBAnHK,SAAAC,GAAA,KAIE1B,qBACL,cAGKE,MAAQ,OAGRC,MAAQ,OAGRC,OAAS,C,EAdL9B,EAqHJqD,QAASC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAN,CAAA,0B,oFAlHPO,UAAW,4B,uEAIXC,KAAMC,U,wDAGND,KAAMC,U,wDAGND,KAAMC,U,yDAGNF,WAAW,EAAOC,KAAMC,U,8DAGxBF,UAAW,kB"}
|
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"3246.dfad1650f2380a41.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts"],"names":["calculateMoveTime","memoizeOne","supervisor","moveTime","host","disk_used","rebootTime","startup_time","Math","ceil","HassioDatadiskDialog","LitElement","showDialog","params","this","dialogParams","listDatadisks","hass","then","data","devices","closeDialog","undefined","selectedDevice","moving","fireEvent","dialog","localName","render","_this$devices","html","_t","_","localize","_t2","_t3","length","_t4","current_path","os","data_disk","time","_selectDevice","map","device","_t5","_moveDatadisk","nothing","ev","target","value","moveDatadisk","err","connection","connected","ignoreSupervisorError","showAlertDialog","title","text","extractApiErrorMessage","styles","haStyle","haStyleDialog","css","_t6","args","attribute"],"mappings":"kbAsBA,MAAMA,GAAoBC,EAAAA,EAAAA,GAAYC,IAEpC,MAAMC,EAAwC,IAA7BD,EAAYE,KAAKC,UAAoB,GAAK,GACrDC,EAA6C,EAAhCJ,EAAYE,KAAKG,aAAoB,GACxD,OAAiD,GAA1CC,KAAKC,MAAMN,EAAWG,GAAc,MAG7C,MACMI,UAA6BC,EAAAA,GAW1BC,UAAAA,CAAWC,GAChBC,KAAKC,aAAeF,GACpBG,EAAAA,EAAAA,IAAcF,KAAKG,MAAMC,KAAMC,IAC7BL,KAAKM,QAAUD,EAAKC,SAExB,CAEOC,WAAAA,GACLP,KAAKC,kBAAeO,EACpBR,KAAKS,oBAAiBD,EACtBR,KAAKM,aAAUE,EACfR,KAAKU,QAAS,GACdC,EAAAA,EAAAA,GAAUX,KAAM,gBAAiB,CAAEY,OAAQZ,KAAKa,WAClD,CAEUC,MAAAA,GAAS,IAAAC,EACjB,OAAKf,KAAKC,cAGHe,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,4HAKIlB,KAAKU,OACZV,KAAKC,aAAab,WAAW+B,SAAS,+BACtCnB,KAAKC,aAAab,WAAW+B,SAAS,8BAChCnB,KAAKO,YACAP,KAAKU,OAElBV,KAAKU,QACHM,EAAAA,EAAAA,IAAII,IAAAA,EAAAF,CAAA,kGAEElB,KAAKC,aAAab,WAAW+B,SAC7B,sCAGNH,EAAAA,EAAAA,IAAIK,IAAAA,EAAAH,CAAA,IAAI,gEAAJ,8HAAgB,QAAZH,EAAAf,KAAKM,eAAO,IAAAS,GAAZA,EAAcO,QAChBN,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,mGACAlB,KAAKC,aAAab,WAAW+B,SAC7B,mCACA,CACEK,aAAcxB,KAAKC,aAAab,WAAWqC,GAAGC,UAC9CC,KAAMzC,EAAkBc,KAAKC,aAAab,cAMnCY,KAAKC,aAAab,WAAW+B,SACpC,sCAEUnB,KAAK4B,cAGf5B,KAAKM,QAAQuB,IACZC,IACCd,EAAAA,EAAAA,IAAIe,IAAAA,EAAAb,CAAA,mDAAwBY,EACvBA,UAKItB,IAAjBR,KAAKM,QACHN,KAAKC,aAAab,WAAW+B,SAC3B,wCAEFnB,KAAKC,aAAab,WAAW+B,SAC3B,mCAMGnB,KAAKO,YAGZP,KAAKC,aAAab,WAAW+B,SAC7B,gCAKWnB,KAAKS,eAETT,KAAKgC,cAEZhC,KAAKC,aAAab,WAAW+B,SAC7B,+BAvELc,EAAAA,EA4EX,CAEQL,aAAAA,CAAcM,GACpBlC,KAAKS,eAAiByB,EAAGC,OAAOC,KAClC,CAEA,mBAAcJ,GACZhC,KAAKU,QAAS,EACd,UACQ2B,EAAAA,EAAAA,IAAarC,KAAKG,KAAMH,KAAKS,eACrC,CAAE,MAAO6B,GACHtC,KAAKG,KAAKoC,WAAWC,aAAcC,EAAAA,EAAAA,IAAsBH,MAC3DI,EAAAA,EAAAA,IAAgB1C,KAAM,CACpB2C,MAAO3C,KAAKC,aAAcb,WAAW+B,SACnC,8BAEFyB,MAAMC,EAAAA,EAAAA,IAAuBP,KAE/BtC,KAAKO,cAET,CACF,CAEA,iBAAWuC,GACT,MAAO,CACLC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAhC,CAAA,kHAeP,C,kBAnJF,SAAAiC,GAAA,KAUmBzC,QAAS,C,8BARd0C,WAAW,K"}
|
{"version":3,"file":"3246.dfad1650f2380a41.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/hassio/src/dialogs/datadisk/dialog-hassio-datadisk.ts"],"names":["calculateMoveTime","memoizeOne","supervisor","moveTime","host","disk_used","rebootTime","startup_time","Math","ceil","HassioDatadiskDialog","LitElement","showDialog","params","this","dialogParams","listDatadisks","hass","then","data","devices","closeDialog","undefined","selectedDevice","moving","fireEvent","dialog","localName","render","_this$devices","html","_t","_","localize","_t2","_t3","length","_t4","current_path","os","data_disk","time","_selectDevice","map","device","_t5","_moveDatadisk","nothing","ev","target","value","moveDatadisk","err","connection","connected","ignoreSupervisorError","showAlertDialog","title","text","extractApiErrorMessage","styles","haStyle","haStyleDialog","css","_t6","args","attribute"],"mappings":"kbAsBA,MAAMA,GAAoBC,EAAAA,EAAAA,GAAYC,IAEpC,MAAMC,EAAwC,IAA7BD,EAAYE,KAAKC,UAAoB,GAAK,GACrDC,EAA6C,EAAhCJ,EAAYE,KAAKG,aAAoB,GACxD,OAAiD,GAA1CC,KAAKC,MAAMN,EAAWG,GAAc,MAG7C,MACMI,UAA6BC,EAAAA,GAW1BC,UAAAA,CAAWC,GAChBC,KAAKC,aAAeF,GACpBG,EAAAA,EAAAA,IAAcF,KAAKG,MAAMC,KAAMC,IAC7BL,KAAKM,QAAUD,EAAKC,SAExB,CAEOC,WAAAA,GACLP,KAAKC,kBAAeO,EACpBR,KAAKS,oBAAiBD,EACtBR,KAAKM,aAAUE,EACfR,KAAKU,QAAS,GACdC,EAAAA,EAAAA,GAAUX,KAAM,gBAAiB,CAAEY,OAAQZ,KAAKa,WAClD,CAEUC,MAAAA,GAAS,IAAAC,EACjB,OAAKf,KAAKC,cAGHe,EAAAA,EAAAA,IAAIC,IAAAA,EAAAC,CAAA,4HAKIlB,KAAKU,OACZV,KAAKC,aAAab,WAAW+B,SAAS,+BACtCnB,KAAKC,aAAab,WAAW+B,SAAS,8BAChCnB,KAAKO,YACAP,KAAKU,OAElBV,KAAKU,QACHM,EAAAA,EAAAA,IAAII,IAAAA,EAAAF,CAAA,kGAEElB,KAAKC,aAAab,WAAW+B,SAC7B,sCAGNH,EAAAA,EAAAA,IAAIK,IAAAA,EAAAH,CAAA,IAAI,gEAAJ,8HAAgB,QAAZH,EAAAf,KAAKM,eAAO,IAAAS,GAAZA,EAAcO,QAChBN,EAAAA,EAAAA,IAAIO,IAAAA,EAAAL,CAAA,mGACAlB,KAAKC,aAAab,WAAW+B,SAC7B,mCACA,CACEK,aAAcxB,KAAKC,aAAab,WAAWqC,GAAGC,UAC9CC,KAAMzC,EAAkBc,KAAKC,aAAab,cAMnCY,KAAKC,aAAab,WAAW+B,SACpC,sCAEUnB,KAAK4B,cAGf5B,KAAKM,QAAQuB,IACZC,IACCd,EAAAA,EAAAA,IAAIe,IAAAA,EAAAb,CAAA,mDAAwBY,EACvBA,UAKItB,IAAjBR,KAAKM,QACHN,KAAKC,aAAab,WAAW+B,SAC3B,wCAEFnB,KAAKC,aAAab,WAAW+B,SAC3B,mCAMGnB,KAAKO,YAGZP,KAAKC,aAAab,WAAW+B,SAC7B,gCAKWnB,KAAKS,eAETT,KAAKgC,cAEZhC,KAAKC,aAAab,WAAW+B,SAC7B,+BAvELc,EAAAA,EA4EX,CAEQL,aAAAA,CAAcM,GACpBlC,KAAKS,eAAiByB,EAAGC,OAAOC,KAClC,CAEA,mBAAcJ,GACZhC,KAAKU,QAAS,EACd,UACQ2B,EAAAA,EAAAA,IAAarC,KAAKG,KAAMH,KAAKS,eACrC,CAAE,MAAO6B,GACHtC,KAAKG,KAAKoC,WAAWC,aAAcC,EAAAA,EAAAA,IAAsBH,MAC3DI,EAAAA,EAAAA,IAAgB1C,KAAM,CACpB2C,MAAO3C,KAAKC,aAAcb,WAAW+B,SACnC,8BAEFyB,MAAMC,EAAAA,EAAAA,IAAuBP,KAE/BtC,KAAKO,cAET,CACF,CAEA,iBAAWuC,GACT,MAAO,CACLC,EAAAA,GACAC,EAAAA,IACAC,EAAAA,EAAAA,IAAGC,IAAAA,EAAAhC,CAAA,kHAeP,C,kBAnJF,SAAAiC,GAAA,KAUmBzC,QAAS,C,8BARd0C,WAAW,K"}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"3534.11655901313e5444.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/codemirror.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/polyfills/resize-observer.ts"],"names":["langs","jinja2","StreamLanguage","yaml","langCompartment","Compartment","readonlyCompartment","linewrapCompartment","foldingCompartment","tabKeyBindings","key","run","indentMore","indentLess","haTheme","EditorView","color","backgroundColor","borderRadius","caretColor","height","maxHeight","outline","borderLeftColor","paddingTop","paddingBottom","borderBottom","borderTop","border","padding","textTransform","margin","background","fontFamily","fontSize","fontWeight","letterSpacing","boxShadow","display","left","marginTop","borderRight","paddingRight","haHighlightStyle","HighlightStyle","tag","tags","fontStyle","textDecoration","haSyntaxHighlighting","syntaxHighlighting","foldingOnIndent","foldService","state","from","to","line","doc","lineAt","length","text","trim","onlyEmptyNext","lineCount","lines","indent","search","foldStart","foldEnd","nextLine","number","nextIndent","window","ResizeObserver","default"],"mappings":"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"}
|
{"version":3,"file":"3534.11655901313e5444.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/codemirror.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/polyfills/resize-observer.ts"],"names":["langs","jinja2","StreamLanguage","yaml","langCompartment","Compartment","readonlyCompartment","linewrapCompartment","foldingCompartment","tabKeyBindings","key","run","indentMore","indentLess","haTheme","EditorView","color","backgroundColor","borderRadius","caretColor","height","maxHeight","outline","borderLeftColor","paddingTop","paddingBottom","borderBottom","borderTop","border","padding","textTransform","margin","background","fontFamily","fontSize","fontWeight","letterSpacing","boxShadow","display","left","marginTop","borderRight","paddingRight","haHighlightStyle","HighlightStyle","tag","tags","fontStyle","textDecoration","haSyntaxHighlighting","syntaxHighlighting","foldingOnIndent","foldService","state","from","to","line","doc","lineAt","length","text","trim","onlyEmptyNext","lineCount","lines","indent","search","foldStart","foldEnd","nextLine","number","nextIndent","window","ResizeObserver","default"],"mappings":"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"}
|
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"3679.8eb5da894c6ae119.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/resources/append-ha-style.ts"],"names":["styleElement","document","createElement","textContent","themeStyles","head","append"],"mappings":"iKAEA,MAAMA,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,YAAcC,EAAAA,EAC3BH,SAASI,KAAKC,OAAON,E"}
|
{"version":3,"file":"3679.8eb5da894c6ae119.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/resources/append-ha-style.ts"],"names":["styleElement","document","createElement","textContent","themeStyles","head","append"],"mappings":"iKAEA,MAAMA,EAAeC,SAASC,cAAc,SAC5CF,EAAaG,YAAcC,EAAAA,EAC3BH,SAASI,KAAKC,OAAON,E"}
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"3802.aec09329a1d3c056.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/components/ha-dialog.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250811.0/src/dialogs/image-cropper-dialog/image-cropper-dialog.ts"],"names":["SUPPRESS_DEFAULT_PRESS_SELECTOR","createCloseHeading","hass","title","_hass$localize","html","_t","_","localize","HaDialog","DialogBase","scrollToPos","x","y","_this$contentElement","this","contentElement","scrollTo","renderHeading","_t2","super","firstUpdated","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","disconnectedCallback","removeEventListener","toggleAttribute","scrollTop","args","styles","css","_t3","HaImagecropperDialog","LitElement","showDialog","params","_params","_open","closeDialog","_this$_cropper","undefined","_cropper","destroy","_isTargetAspectRatio","updated","changedProperties","has","replace","URL","createObjectURL","file","_image","src","Cropper","aspectRatio","options","viewMode","dragMode","minCropBoxWidth","ready","_checkMatchAspectRatio","revokeObjectURL","_this$_params","targetRatio","imageData","getImageData","naturalWidth","naturalHeight","targetHeight","Math","abs","targetWidth","render","_this$_params2","classMap","round","Boolean","_useOriginal","nothing","_cropImage","getCroppedCanvas","toBlob","blob","File","name","type","croppedCallback","quality","haStyleDialog","unsafeCSS","cropperCss","attribute"],"mappings":"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"}
|
{"version":3,"file":"3802.aec09329a1d3c056.js","sources":["https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/components/ha-dialog.ts","https://raw.githubusercontent.com/home-assistant/frontend/20250806.0/src/dialogs/image-cropper-dialog/image-cropper-dialog.ts"],"names":["SUPPRESS_DEFAULT_PRESS_SELECTOR","createCloseHeading","hass","title","_hass$localize","html","_t","_","localize","HaDialog","DialogBase","scrollToPos","x","y","_this$contentElement","this","contentElement","scrollTo","renderHeading","_t2","super","firstUpdated","_this$contentElement2","suppressDefaultPressSelector","join","_updateScrolledAttribute","addEventListener","_onScroll","passive","disconnectedCallback","removeEventListener","toggleAttribute","scrollTop","args","styles","css","_t3","HaImagecropperDialog","LitElement","showDialog","params","_params","_open","closeDialog","_this$_cropper","undefined","_cropper","destroy","_isTargetAspectRatio","updated","changedProperties","has","replace","URL","createObjectURL","file","_image","src","Cropper","aspectRatio","options","viewMode","dragMode","minCropBoxWidth","ready","_checkMatchAspectRatio","revokeObjectURL","_this$_params","targetRatio","imageData","getImageData","naturalWidth","naturalHeight","targetHeight","Math","abs","targetWidth","render","_this$_params2","classMap","round","Boolean","_useOriginal","nothing","_cropImage","getCroppedCanvas","toBlob","blob","File","name","type","croppedCallback","quality","haStyleDialog","unsafeCSS","cropperCss","attribute"],"mappings":"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"}
|
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
BIN
supervisor/api/panel/frontend_es5/4054.e0817afac1834ed9.js.br
Normal file
BIN
supervisor/api/panel/frontend_es5/4054.e0817afac1834ed9.js.br
Normal file
Binary file not shown.
BIN
supervisor/api/panel/frontend_es5/4054.e0817afac1834ed9.js.gz
Normal file
BIN
supervisor/api/panel/frontend_es5/4054.e0817afac1834ed9.js.gz
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user