pax_global_header00006660000000000000000000000064151170174340014515gustar00rootroot0000000000000052 comment=71aec67cce23559cf157d9f911f6a711cf165f32 pySmartThings-pysmartthings-71aec67/000077500000000000000000000000001511701743400176625ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/.coveragerc000066400000000000000000000000351511701743400220010ustar00rootroot00000000000000[run] source = pysmartthings pySmartThings-pysmartthings-71aec67/.github/000077500000000000000000000000001511701743400212225ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/.github/PULL_REQUEST_TEMPLATE.md000066400000000000000000000006561511701743400250320ustar00rootroot00000000000000## Description:
**Related issue (if applicable):** fixes # ## Checklist: - [ ] The code change is tested and works locally. - [ ] Local tests pass. - [ ] There is no commented out code in this PR. - [ ] Tests have been added/updated and code coverage percentage does not drop. No exclusions in `.coveragerc` allowed - [ ] `README.MD` updated (if necessary) pySmartThings-pysmartthings-71aec67/.github/labels.yml000066400000000000000000000054331511701743400232140ustar00rootroot00000000000000--- - name: "breaking-change" color: ee0701 description: "A breaking change for existing users." - name: "bugfix" color: ee0701 description: "Inconsistencies or issues which will cause a problem for users or implementers." - name: "documentation" color: 0052cc description: "Solely about the documentation of the project." - name: "enhancement" color: 1d76db description: "Enhancement of the code, not introducing new features." - name: "refactor" color: 1d76db description: "Improvement of existing code, not introducing new features." - name: "performance" color: 1d76db description: "Improving performance, not introducing new features." - name: "new-feature" color: 0e8a16 description: "New features or options." - name: "maintenance" color: 2af79e description: "Generic maintenance tasks." - name: "ci" color: 1d76db description: "Work that improves the continue integration." - name: "dependencies" color: 1d76db description: "Upgrade or downgrade of project dependencies." - name: "in-progress" color: fbca04 description: "Issue is currently being resolved by a developer." - name: "stale" color: fef2c0 description: "There has not been activity on this issue or PR for quite some time." - name: "no-stale" color: fef2c0 description: "This issue or PR is exempted from the stable bot." - name: "security" color: ee0701 description: "Marks a security issue that needs to be resolved asap." - name: "incomplete" color: fef2c0 description: "Marks a PR or issue that is missing information." - name: "invalid" color: fef2c0 description: "Marks a PR or issue that is missing information." - name: "beginner-friendly" color: 0e8a16 description: "Good first issue for people wanting to contribute to the project." - name: "help-wanted" color: 0e8a16 description: "We need some extra helping hands or expertise in order to resolve this." - name: "hacktoberfest" description: "Issues/PRs are participating in the Hacktoberfest." color: fbca04 - name: "hacktoberfest-accepted" description: "Issues/PRs are participating in the Hacktoberfest." color: fbca04 - name: "priority-critical" color: ee0701 description: "This should be dealt with ASAP. Not fixing this issue would be a serious error." - name: "priority-high" color: b60205 description: "After critical issues are fixed, these should be dealt with before any further issues." - name: "priority-medium" color: 0e8a16 description: "This issue may be useful, and needs some attention." - name: "priority-low" color: e4ea8a description: "Nice addition, maybe... someday..." - name: "major" color: b60205 description: "This PR causes a major version bump in the version number." - name: "minor" color: 0e8a16 description: "This PR causes a minor version bump in the version number." pySmartThings-pysmartthings-71aec67/.github/release-drafter.yml000066400000000000000000000020471511701743400250150ustar00rootroot00000000000000--- name-template: "v$RESOLVED_VERSION" tag-template: "v$RESOLVED_VERSION" change-template: "- $TITLE @$AUTHOR (#$NUMBER)" sort-direction: ascending categories: - title: "๐Ÿšจ Breaking changes" labels: - "breaking-change" - title: "โœจ New features" labels: - "new-feature" - title: "๐Ÿ› Bug fixes" labels: - "bugfix" - title: "๐Ÿš€ Enhancements" labels: - "enhancement" - "refactor" - "performance" - title: "๐Ÿงฐ Maintenance" labels: - "maintenance" - "ci" - title: "๐Ÿ“š Documentation" labels: - "documentation" - title: "โฌ†๏ธ Dependency updates" labels: - "dependencies" version-resolver: major: labels: - "major" - "breaking-change" minor: labels: - "minor" - "new-feature" patch: labels: - "bugfix" - "chore" - "ci" - "dependencies" - "documentation" - "enhancement" - "performance" - "refactor" default: patch template: | ## Whatโ€™s changed $CHANGES pySmartThings-pysmartthings-71aec67/.github/renovate.json000066400000000000000000000021611511701743400237400ustar00rootroot00000000000000{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "schedule": ["before 2am"], "rebaseWhen": "behind-base-branch", "dependencyDashboard": true, "labels": ["dependencies", "no-stale"], "lockFileMaintenance": { "enabled": true, "automerge": true }, "commitMessagePrefix": "โฌ†๏ธ", "packageRules": [ { "matchManagers": ["poetry"], "addLabels": ["python"] }, { "matchManagers": ["poetry"], "matchDepTypes": ["dev"], "rangeStrategy": "pin" }, { "matchManagers": ["poetry"], "matchUpdateTypes": ["minor", "patch"], "automerge": true }, { "matchManagers": ["npm", "nvm"], "addLabels": ["javascript"], "rangeStrategy": "pin" }, { "matchManagers": ["npm", "nvm"], "matchUpdateTypes": ["minor", "patch"], "automerge": true }, { "matchManagers": ["github-actions"], "addLabels": ["github_actions"], "rangeStrategy": "pin" }, { "matchManagers": ["github-actions"], "matchUpdateTypes": ["minor", "patch"], "automerge": true } ] } pySmartThings-pysmartthings-71aec67/.github/workflows/000077500000000000000000000000001511701743400232575ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/.github/workflows/generate.yaml000066400000000000000000000027071511701743400257430ustar00rootroot00000000000000--- name: Generate enums # yamllint disable-line rule:truthy on: workflow_dispatch: env: DEFAULT_PYTHON: "3.13" jobs: generate: name: Generate enums runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install Python dependencies run: poetry install --no-interaction - name: โคต๏ธ Check out capabilities from GitHub uses: actions/checkout@v6.0.1 with: repository: "pysmartthings/capabilities" path: "capabilities" - name: Generate run: python script/generate_enums.py - name: Run ruff run: poetry run ruff format src && poetry run ruff check src --fix - name: Remove capabilities run: rm -rf capabilities - name: Create Pull Request uses: peter-evans/create-pull-request@v7 with: base: ${{ github.head_ref }} title: Update capabilities body: Sync the capabilities with the SmartThings API pySmartThings-pysmartthings-71aec67/.github/workflows/labels.yaml000066400000000000000000000007361511701743400254130ustar00rootroot00000000000000--- name: Sync labels # yamllint disable-line rule:truthy on: push: branches: - main paths: - .github/labels.yml workflow_dispatch: jobs: labels: name: โ™ป๏ธ Sync labels runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿš€ Run Label Syncer uses: micnncim/action-label-syncer@v1.3.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} pySmartThings-pysmartthings-71aec67/.github/workflows/linting.yaml000066400000000000000000000146011511701743400256110ustar00rootroot00000000000000--- name: Linting # yamllint disable-line rule:truthy on: push: branches: - main pull_request: workflow_dispatch: env: DEFAULT_PYTHON: "3.12" jobs: codespell: name: codespell runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install Python dependencies run: poetry install --no-interaction - name: ๐Ÿš€ Check code for common misspellings run: poetry run pre-commit run codespell --all-files ruff: name: Ruff runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install Python dependencies run: poetry install --no-interaction - name: ๐Ÿš€ Run ruff linter run: poetry run ruff check --output-format=github . - name: ๐Ÿš€ Run ruff formatter run: poetry run ruff format --check . pre-commit-hooks: name: pre-commit-hooks runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install Python dependencies run: poetry install --no-interaction - name: ๐Ÿš€ Check Python AST run: poetry run pre-commit run check-ast --all-files - name: ๐Ÿš€ Check for case conflicts run: poetry run pre-commit run check-case-conflict --all-files - name: ๐Ÿš€ Check docstring is first run: poetry run pre-commit run check-docstring-first --all-files - name: ๐Ÿš€ Check that executables have shebangs run: poetry run pre-commit run check-executables-have-shebangs --all-files - name: ๐Ÿš€ Check JSON files run: poetry run pre-commit run check-json --all-files - name: ๐Ÿš€ Check for merge conflicts run: poetry run pre-commit run check-merge-conflict --all-files - name: ๐Ÿš€ Check for broken symlinks run: poetry run pre-commit run check-symlinks --all-files - name: ๐Ÿš€ Check TOML files run: poetry run pre-commit run check-toml --all-files - name: ๐Ÿš€ Check XML files run: poetry run pre-commit run check-xml --all-files - name: ๐Ÿš€ Check YAML files run: poetry run pre-commit run check-yaml --all-files - name: ๐Ÿš€ Detect Private Keys run: poetry run pre-commit run detect-private-key --all-files - name: ๐Ÿš€ Check End of Files run: poetry run pre-commit run end-of-file-fixer --all-files - name: ๐Ÿš€ Trim Trailing Whitespace run: poetry run pre-commit run trailing-whitespace --all-files pylint: name: pylint runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install Python dependencies run: poetry install --no-interaction - name: ๐Ÿš€ Run pylint run: poetry run pre-commit run pylint --all-files yamllint: name: yamllint runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install Python dependencies run: poetry install --no-interaction - name: ๐Ÿš€ Run yamllint run: poetry run yamllint . prettier: name: Prettier runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install Python dependencies run: poetry install --no-interaction - name: ๐Ÿ— Set up Node.js uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6 with: node-version-file: ".nvmrc" cache: "npm" - name: ๐Ÿ— Install NPM dependencies run: npm install - name: ๐Ÿš€ Run prettier run: poetry run pre-commit run prettier --all-files pySmartThings-pysmartthings-71aec67/.github/workflows/lock.yaml000066400000000000000000000006651511701743400251020ustar00rootroot00000000000000--- name: Lock # yamllint disable-line rule:truthy on: schedule: - cron: "0 9 * * *" workflow_dispatch: jobs: lock: name: ๐Ÿ”’ Lock closed issues and PRs runs-on: ubuntu-latest steps: - uses: dessant/lock-threads@v5.0.1 with: github-token: ${{ github.token }} issue-inactive-days: "30" issue-lock-reason: "" pr-inactive-days: "1" pr-lock-reason: "" pySmartThings-pysmartthings-71aec67/.github/workflows/pr-labels.yaml000066400000000000000000000013021511701743400260200ustar00rootroot00000000000000--- name: PR Labels # yamllint disable-line rule:truthy on: pull_request_target: types: - opened - labeled - unlabeled - synchronize workflow_call: jobs: pr_labels: name: Verify runs-on: ubuntu-latest steps: - name: ๐Ÿท Verify PR has a valid label uses: jesusvasquez333/verify-pr-label-action@v1.4.0 with: pull-request-number: "${{ github.event.pull_request.number }}" github-token: "${{ secrets.GITHUB_TOKEN }}" valid-labels: >- breaking-change, bugfix, documentation, enhancement, refactor, performance, new-feature, maintenance, ci, dependencies disable-reviews: true pySmartThings-pysmartthings-71aec67/.github/workflows/release-drafter.yaml000066400000000000000000000005741511701743400272160ustar00rootroot00000000000000--- name: Release Drafter # yamllint disable-line rule:truthy on: push: branches: - main workflow_dispatch: jobs: update_release_draft: name: โœ๏ธ Draft release runs-on: ubuntu-latest steps: - name: ๐Ÿš€ Run Release Drafter uses: release-drafter/release-drafter@v6.1.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} pySmartThings-pysmartthings-71aec67/.github/workflows/release.yaml000066400000000000000000000031351511701743400255650ustar00rootroot00000000000000--- name: Release # yamllint disable-line rule:truthy on: release: types: - published env: DEFAULT_PYTHON: "3.12" jobs: release: name: Releasing to PyPi runs-on: ubuntu-latest environment: name: release url: https://pypi.org/p/spotifyaio permissions: contents: write id-token: write steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install dependencies run: poetry install --no-interaction - name: ๐Ÿ— Set package version run: | version="${{ github.event.release.tag_name }}" version="${version,,}" version="${version#v}" poetry version --no-interaction "${version}" - name: ๐Ÿ— Build package run: poetry build --no-interaction - name: ๐Ÿš€ Publish to PyPi uses: pypa/gh-action-pypi-publish@v1.13.0 with: verbose: true print-hash: true - name: โœ๏ธ Sign published artifacts uses: sigstore/gh-action-sigstore-python@v3.1.0 with: inputs: ./dist/*.tar.gz ./dist/*.whl release-signing-artifacts: true pySmartThings-pysmartthings-71aec67/.github/workflows/tests.yaml000066400000000000000000000050751511701743400253140ustar00rootroot00000000000000--- name: Testing # yamllint disable-line rule:truthy on: push: branches: - main pull_request: workflow_dispatch: env: DEFAULT_PYTHON: "3.12" jobs: pytest: name: Python ${{ matrix.python }} runs-on: ubuntu-latest strategy: matrix: python: ["3.12", "3.13"] steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ matrix.python }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ matrix.python }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install dependencies run: poetry install --no-interaction - name: ๐Ÿš€ Run pytest run: poetry run pytest --cov src tests - name: โฌ†๏ธ Upload coverage artifact uses: actions/upload-artifact@v5.0.0 with: include-hidden-files: true name: coverage-${{ matrix.python }} path: .coverage coverage: runs-on: ubuntu-latest needs: pytest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 with: fetch-depth: 0 - name: โฌ‡๏ธ Download coverage data uses: actions/download-artifact@v6.0.0 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install dependencies run: poetry install --no-interaction - name: ๐Ÿš€ Process coverage results run: | poetry run coverage combine coverage*/.coverage* poetry run coverage xml -i - name: ๐Ÿš€ Upload coverage report uses: codecov/codecov-action@v5.5.1 with: fail_ci_if_error: true token: ${{ secrets.CODECOV_TOKEN }} - name: SonarCloud Scan if: github.event.pull_request.head.repo.fork == false uses: SonarSource/sonarcloud-github-action@v5.0.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} pySmartThings-pysmartthings-71aec67/.github/workflows/typing.yaml000066400000000000000000000016071511701743400254610ustar00rootroot00000000000000--- name: Typing # yamllint disable-line rule:truthy on: push: branches: - main pull_request: workflow_dispatch: env: DEFAULT_PYTHON: "3.12" jobs: mypy: name: mypy runs-on: ubuntu-latest steps: - name: โคต๏ธ Check out code from GitHub uses: actions/checkout@v6.0.1 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.1.0 with: python-version: ${{ env.DEFAULT_PYTHON }} cache: "poetry" - name: ๐Ÿ— Install workflow dependencies run: | poetry config virtualenvs.create true poetry config virtualenvs.in-project true - name: ๐Ÿ— Install dependencies run: poetry install --no-interaction - name: ๐Ÿš€ Run mypy run: poetry run mypy src pySmartThings-pysmartthings-71aec67/.gitignore000066400000000000000000000027011511701743400216520ustar00rootroot00000000000000# Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] *$py.class # OSX useful to ignore *.DS_Store .AppleDouble .LSOverride # Thumbnails ._* # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk # C extensions *.so # Distribution / packaging .Python env/ build/ develop-eggs/ dist/ downloads/ eggs/ .eggs/ lib/ lib64/ parts/ sdist/ var/ *.egg-info/ .installed.cfg *.egg # PyInstaller # Usually these files are written by a python script from a template # before PyInstaller builds the exe, so as to inject date/other infos into it. *.manifest *.spec # Installer logs pip-log.txt pip-delete-this-directory.txt # Unit test / coverage reports htmlcov/ .tox/ .coverage .coverage.* .cache nosetests.xml coverage.xml *,cover .hypothesis/ .pytest_cache/ # Translations *.mo *.pot # Django stuff: *.log # Sphinx documentation docs/_build/ # pyenv .python-version # virtualenv .venv venv/ ENV/ # mypy .mypy_cache/ # ruff .ruff_cache # Visual Studio Code .vscode # IntelliJ Idea family of suites .idea *.iml ## File-based project format: *.ipr *.iws ## mpeltonen/sbt-idea plugin .idea_modules/ # PyBuilder target/ # Cookiecutter output/ python_boilerplate/ # Node node_modules/ # Deepcode AI .dccache pySmartThings-pysmartthings-71aec67/.nvmrc000066400000000000000000000000101511701743400207770ustar00rootroot0000000000000024.11.1 pySmartThings-pysmartthings-71aec67/.pre-commit-config.yaml000066400000000000000000000076771511701743400241640ustar00rootroot00000000000000--- repos: - repo: local hooks: - id: ruff-check name: ๐Ÿถ Ruff Linter language: system types: [python] entry: poetry run ruff check --fix require_serial: true stages: [pre-commit, pre-push, manual] - id: ruff-format name: ๐Ÿถ Ruff Formatter language: system types: [python] entry: poetry run ruff format require_serial: true stages: [pre-commit, pre-push, manual] - id: check-ast name: ๐Ÿ Check Python AST language: system types: [python] entry: poetry run check-ast - id: check-case-conflict name: ๐Ÿ”  Check for case conflicts language: system entry: poetry run check-case-conflict - id: check-docstring-first name: โ„น๏ธ Check docstring is first language: system types: [python] entry: poetry run check-docstring-first - id: check-executables-have-shebangs name: ๐Ÿง Check that executables have shebangs language: system types: [text, executable] entry: poetry run check-executables-have-shebangs stages: [pre-commit, pre-push, manual] - id: check-json name: ๏ฝ› Check JSON files language: system types: [json] entry: poetry run check-json - id: check-merge-conflict name: ๐Ÿ’ฅ Check for merge conflicts language: system types: [text] entry: poetry run check-merge-conflict - id: check-symlinks name: ๐Ÿ”— Check for broken symlinks language: system types: [symlink] entry: poetry run check-symlinks - id: check-toml name: โœ… Check TOML files language: system types: [toml] entry: poetry run check-toml - id: check-xml name: โœ… Check XML files entry: check-xml language: system types: [xml] - id: check-yaml name: โœ… Check YAML files language: system types: [yaml] entry: poetry run check-yaml - id: codespell name: โœ… Check code for common misspellings language: system types: [text] exclude: ^poetry\.lock$ entry: poetry run codespell args: - --ignore-words-list=unx,mirrorIn - id: detect-private-key name: ๐Ÿ•ต๏ธ Detect Private Keys language: system types: [text] entry: poetry run detect-private-key - id: end-of-file-fixer name: โฎ Fix End of Files language: system types: [text] entry: poetry run end-of-file-fixer stages: [pre-commit, pre-push, manual] - id: mypy name: ๐Ÿ†Ž Static type checking using mypy language: system types: [python] entry: poetry run mypy require_serial: true - id: no-commit-to-branch name: ๐Ÿ›‘ Don't commit to main branch language: system entry: poetry run no-commit-to-branch pass_filenames: false always_run: true args: - --branch=main - id: poetry name: ๐Ÿ“œ Check pyproject with Poetry language: system entry: poetry check pass_filenames: false always_run: true - id: prettier name: ๐Ÿ’„ Ensuring files are prettier language: system types: [yaml, json, markdown] entry: npm run prettier pass_filenames: false - id: pylint name: ๐ŸŒŸ Starring code with pylint language: system types: [python] entry: poetry run pylint - id: trailing-whitespace name: โœ„ Trim Trailing Whitespace language: system types: [text] entry: poetry run trailing-whitespace-fixer stages: [pre-commit, pre-push, manual] - id: yamllint name: ๐ŸŽ— Check YAML files with yamllint language: system types: [yaml] entry: poetry run yamllint pySmartThings-pysmartthings-71aec67/.prettierignore000066400000000000000000000000131511701743400227170ustar00rootroot00000000000000.gitignore pySmartThings-pysmartthings-71aec67/.vscode/000077500000000000000000000000001511701743400212235ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/.vscode/settings.json000066400000000000000000000011731511701743400237600ustar00rootroot00000000000000{ "python.linting.pylintEnabled": true, "python.linting.enabled": true, "python.formatting.provider": "none", "editor.formatOnPaste": false, "editor.formatOnSave": true, "editor.formatOnType": true, "files.trimTrailingWhitespace": true, "files.exclude": { "**/.git": true, "**/.svn": true, "**/.hg": true, "**/CVS": true, "**/.DS_Store": true, "**/*.pyc": { "when": "$(basename).py" }, "**/__pycache__": true }, "[python]": { "editor.defaultFormatter": "ms-python.black-formatter" } } pySmartThings-pysmartthings-71aec67/.yamllint000066400000000000000000000024001511701743400215100ustar00rootroot00000000000000--- ignore: - .venv rules: braces: level: error min-spaces-inside: 0 max-spaces-inside: 1 min-spaces-inside-empty: -1 max-spaces-inside-empty: -1 brackets: level: error min-spaces-inside: 0 max-spaces-inside: 0 min-spaces-inside-empty: -1 max-spaces-inside-empty: -1 colons: level: error max-spaces-before: 0 max-spaces-after: 1 commas: level: error max-spaces-before: 0 min-spaces-after: 1 max-spaces-after: 1 comments: level: error require-starting-space: true min-spaces-from-content: 1 comments-indentation: level: error document-end: level: error present: false document-start: level: error present: true empty-lines: level: error max: 1 max-start: 0 max-end: 1 hyphens: level: error max-spaces-after: 1 indentation: level: error spaces: 2 indent-sequences: true check-multi-line-strings: false key-duplicates: level: error line-length: level: warning max: 120 allow-non-breakable-words: true allow-non-breakable-inline-mappings: true new-line-at-end-of-file: level: error new-lines: level: error type: unix trailing-spaces: level: error truthy: level: error pySmartThings-pysmartthings-71aec67/CONTRIBUTING.md000066400000000000000000000057531511701743400221250ustar00rootroot00000000000000# Contributing Guidelines Contributions welcome! **Before spending lots of time on something, ask for feedback on your idea first!** ## Style This repository follows [PEP8](https://www.python.org/dev/peps/pep-0008/) and [PEP 257 (Docstring Conventions)](https://www.python.org/dev/peps/pep-0257/). Imports should be sorted with `isort`. Commits and pull requests are automatically linted with Coveralls, Travis CI, and Hound. _Save time by checking for style/lint issues **before** committing._ Run `lint.bat` to automatically install the test dependencies and run the linters. Alternatively, you can run the linters manually from the root of the project: ```bash pip install isort pip install -r test-requirements.txt isort tests pysmartthings --recursive pylint tests pysmartthings flake8 tests pysmartthings pydocstyle tests pysmartthings ``` ## Testing All code is checked to verify: - All the unit tests pass - All code passes the checks from the linting tools - Code coverage is maintained or improved without adding exclusions to `.coveragerc` You can run all the tests with Tox in a virtual environment by simply running: ```bash tox ``` Unit tests can be ran outside of Tox by running: ```bash pytest tests ``` To check the code coverage and determine which statements are not covered, run: ```bash pytest tests --cov --cov-report=term-missing ``` ### Rules There are a few basic ground-rules for contributors: 1. Follow the style and testing guidelines above 2. Fill out the pull request template and complete check-list activities 3. Submit a pull request and be responsive to questions and feedback ### Releases Declaring formal releases remains the prerogative of the project maintainer. ### Changes to this arrangement This is an experiment and feedback is welcome! This document may also be subject to pull- requests or changes by contributors where you believe you have something valuable to add or change. ## Developer's Certificate of Origin 1.1 By making a contribution to this project, I certify that: - (a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or - (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or - (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. - (d) I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this project or the open source license(s) involved. pySmartThings-pysmartthings-71aec67/LICENSE000066400000000000000000000252151511701743400206740ustar00rootroot00000000000000Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and 2. You must cause any modified files to carry prominent notices stating that You changed the files; and 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2018 Andrew N. Sayre Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. pySmartThings-pysmartthings-71aec67/README.md000066400000000000000000000342671511701743400211550ustar00rootroot00000000000000# Python: SmartThings [![GitHub Release][releases-shield]][releases] [![Python Versions][python-versions-shield]][pypi] ![Project Stage][project-stage-shield] ![Project Maintenance][maintenance-shield] [![License][license-shield]](LICENSE.md) [![Build Status][build-shield]][build] [![Code Coverage][codecov-shield]][codecov] [![Code Smells][code-smells]][sonarcloud] Asynchronous Python client for SmartThings. ## About This package allows you to fetch data from SmartThings. ## Installation ```bash pip install pysmartthings ``` ## Changelog & Releases This repository keeps a change log using [GitHub's releases][releases] functionality. The format of the log is based on [Keep a Changelog][keepchangelog]. Releases are based on [Semantic Versioning][semver], and use the format of `MAJOR.MINOR.PATCH`. In a nutshell, the version will be incremented based on the following: - `MAJOR`: Incompatible or major changes. - `MINOR`: Backwards-compatible new features and enhancements. - `PATCH`: Backwards-compatible bugfixes and package updates. ## Contributing This is an active open-source project. We are always open to people who want to use the code or contribute to it. We've set up a separate document for our [contribution guidelines](.github/CONTRIBUTING.md). Thank you for being involved! :heart_eyes: ## Setting up development environment This Python project is fully managed using the [Poetry][poetry] dependency manager. But also relies on the use of NodeJS for certain checks during development. You need at least: - Python 3.12+ - [Poetry][poetry-install] - NodeJS 12+ (including NPM) To install all packages, including all development requirements: ```bash npm install poetry install ``` As this repository uses the [pre-commit][pre-commit] framework, all changes are linted and tested with each commit. You can run all checks and tests manually, using the following command: ```bash poetry run pre-commit run --all-files ``` To run just the Python tests: ```bash poetry run pytest ``` ## Authors & contributors For a full list of all authors and contributors, check [the contributor's page][contributors]. ## License Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and 2. You must cause any modified files to carry prominent notices stating that You changed the files; and 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2018 Andrew N. Sayre Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. [build-shield]: https://github.com/pySmartThings/pysmartthings/actions/workflows/tests.yaml/badge.svg [build]: https://github.com/pySmartThings/pysmartthings/actions [code-smells]: https://sonarcloud.io/api/project_badges/measure?project=pySmartThings_pysmartthings&metric=code_smells [codecov-shield]: https://codecov.io/gh/pySmartThings/pysmartthings/branch/master/graph/badge.svg [codecov]: https://codecov.io/gh/pySmartThings/pysmartthings [commits-shield]: https://img.shields.io/github/commit-activity/y/pySmartThings/pysmartthings.svg [commits]: https://github.com/pySmartThings/pysmartthings/commits/master [contributors]: https://github.com/pySmartThings/pysmartthings/graphs/contributors [keepchangelog]: http://keepachangelog.com/en/1.0.0/ [license-shield]: https://img.shields.io/github/license/pySmartThings/pysmartthings.svg [maintenance-shield]: https://img.shields.io/maintenance/yes/2025.svg [poetry-install]: https://python-poetry.org/docs/#installation [poetry]: https://python-poetry.org [pre-commit]: https://pre-commit.com/ [project-stage-shield]: https://img.shields.io/badge/project%20stage-stable-green.svg [python-versions-shield]: https://img.shields.io/pypi/pyversions/pysmartthings [releases-shield]: https://img.shields.io/github/release/pySmartThings/pysmartthings.svg [releases]: https://github.com/pySmartThings/pysmartthings/releases [semver]: http://semver.org/spec/v2.0.0.html [sonarcloud]: https://sonarcloud.io/summary/new_code?id=pySmartThings_pysmartthings [pypi]: https://pypi.org/project/pysmartthings/ pySmartThings-pysmartthings-71aec67/package-lock.json000066400000000000000000000014301511701743400230740ustar00rootroot00000000000000{ "name": "pysmartthings", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pysmartthings", "version": "0.0.0", "license": "Apache-2.0", "devDependencies": { "prettier": "3.7.4" } }, "node_modules/prettier": { "version": "3.7.4", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } } } } pySmartThings-pysmartthings-71aec67/package.json000066400000000000000000000005271511701743400221540ustar00rootroot00000000000000{ "name": "pysmartthings", "version": "0.0.0", "private": true, "description": "Asynchronous Python client for SmartThings.", "scripts": { "prettier": "prettier --write **/*.{json,js,md,yml,yaml}" }, "author": "Andrew Sayre ", "license": "Apache-2.0", "devDependencies": { "prettier": "3.7.4" } } pySmartThings-pysmartthings-71aec67/poetry.lock000066400000000000000000006061401511701743400220650ustar00rootroot00000000000000# This file is automatically @generated by Poetry 1.8.5 and should not be changed by hand. [[package]] name = "aiohappyeyeballs" version = "2.6.1" description = "Happy Eyeballs for asyncio" optional = false python-versions = ">=3.9" files = [ {file = "aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8"}, {file = "aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558"}, ] [[package]] name = "aiohttp" version = "3.13.2" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.9" files = [ {file = "aiohttp-3.13.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:2372b15a5f62ed37789a6b383ff7344fc5b9f243999b0cd9b629d8bc5f5b4155"}, {file = "aiohttp-3.13.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e7f8659a48995edee7229522984bd1009c1213929c769c2daa80b40fe49a180c"}, {file = "aiohttp-3.13.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:939ced4a7add92296b0ad38892ce62b98c619288a081170695c6babe4f50e636"}, {file = "aiohttp-3.13.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6315fb6977f1d0dd41a107c527fee2ed5ab0550b7d885bc15fee20ccb17891da"}, {file = "aiohttp-3.13.2-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6e7352512f763f760baaed2637055c49134fd1d35b37c2dedfac35bfe5cf8725"}, {file = "aiohttp-3.13.2-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e09a0a06348a2dd73e7213353c90d709502d9786219f69b731f6caa0efeb46f5"}, {file = "aiohttp-3.13.2-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a09a6d073fb5789456545bdee2474d14395792faa0527887f2f4ec1a486a59d3"}, {file = "aiohttp-3.13.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b59d13c443f8e049d9e94099c7e412e34610f1f49be0f230ec656a10692a5802"}, {file = "aiohttp-3.13.2-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:20db2d67985d71ca033443a1ba2001c4b5693fe09b0e29f6d9358a99d4d62a8a"}, {file = "aiohttp-3.13.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:960c2fc686ba27b535f9fd2b52d87ecd7e4fd1cf877f6a5cba8afb5b4a8bd204"}, {file = "aiohttp-3.13.2-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:6c00dbcf5f0d88796151e264a8eab23de2997c9303dd7c0bf622e23b24d3ce22"}, {file = "aiohttp-3.13.2-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fed38a5edb7945f4d1bcabe2fcd05db4f6ec7e0e82560088b754f7e08d93772d"}, {file = "aiohttp-3.13.2-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:b395bbca716c38bef3c764f187860e88c724b342c26275bc03e906142fc5964f"}, {file = "aiohttp-3.13.2-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:204ffff2426c25dfda401ba08da85f9c59525cdc42bda26660463dd1cbcfec6f"}, {file = "aiohttp-3.13.2-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:05c4dd3c48fb5f15db31f57eb35374cb0c09afdde532e7fb70a75aede0ed30f6"}, {file = "aiohttp-3.13.2-cp310-cp310-win32.whl", hash = "sha256:e574a7d61cf10351d734bcddabbe15ede0eaa8a02070d85446875dc11189a251"}, {file = "aiohttp-3.13.2-cp310-cp310-win_amd64.whl", hash = "sha256:364f55663085d658b8462a1c3f17b2b84a5c2e1ba858e1b79bff7b2e24ad1514"}, {file = "aiohttp-3.13.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4647d02df098f6434bafd7f32ad14942f05a9caa06c7016fdcc816f343997dd0"}, {file = "aiohttp-3.13.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:e3403f24bcb9c3b29113611c3c16a2a447c3953ecf86b79775e7be06f7ae7ccb"}, {file = "aiohttp-3.13.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:43dff14e35aba17e3d6d5ba628858fb8cb51e30f44724a2d2f0c75be492c55e9"}, {file = "aiohttp-3.13.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e2a9ea08e8c58bb17655630198833109227dea914cd20be660f52215f6de5613"}, {file = "aiohttp-3.13.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53b07472f235eb80e826ad038c9d106c2f653584753f3ddab907c83f49eedead"}, {file = "aiohttp-3.13.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e736c93e9c274fce6419af4aac199984d866e55f8a4cec9114671d0ea9688780"}, {file = "aiohttp-3.13.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:ff5e771f5dcbc81c64898c597a434f7682f2259e0cd666932a913d53d1341d1a"}, {file = "aiohttp-3.13.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a3b6fb0c207cc661fa0bf8c66d8d9b657331ccc814f4719468af61034b478592"}, {file = "aiohttp-3.13.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:97a0895a8e840ab3520e2288db7cace3a1981300d48babeb50e7425609e2e0ab"}, {file = "aiohttp-3.13.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9e8f8afb552297aca127c90cb840e9a1d4bfd6a10d7d8f2d9176e1acc69bad30"}, {file = "aiohttp-3.13.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:ed2f9c7216e53c3df02264f25d824b079cc5914f9e2deba94155190ef648ee40"}, {file = "aiohttp-3.13.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:99c5280a329d5fa18ef30fd10c793a190d996567667908bef8a7f81f8202b948"}, {file = "aiohttp-3.13.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2ca6ffef405fc9c09a746cb5d019c1672cd7f402542e379afc66b370833170cf"}, {file = "aiohttp-3.13.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:47f438b1a28e926c37632bff3c44df7d27c9b57aaf4e34b1def3c07111fdb782"}, {file = "aiohttp-3.13.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9acda8604a57bb60544e4646a4615c1866ee6c04a8edef9b8ee6fd1d8fa2ddc8"}, {file = "aiohttp-3.13.2-cp311-cp311-win32.whl", hash = "sha256:868e195e39b24aaa930b063c08bb0c17924899c16c672a28a65afded9c46c6ec"}, {file = "aiohttp-3.13.2-cp311-cp311-win_amd64.whl", hash = "sha256:7fd19df530c292542636c2a9a85854fab93474396a52f1695e799186bbd7f24c"}, {file = "aiohttp-3.13.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b1e56bab2e12b2b9ed300218c351ee2a3d8c8fdab5b1ec6193e11a817767e47b"}, {file = "aiohttp-3.13.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:364e25edaabd3d37b1db1f0cbcee8c73c9a3727bfa262b83e5e4cf3489a2a9dc"}, {file = "aiohttp-3.13.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c5c94825f744694c4b8db20b71dba9a257cd2ba8e010a803042123f3a25d50d7"}, {file = "aiohttp-3.13.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba2715d842ffa787be87cbfce150d5e88c87a98e0b62e0f5aa489169a393dbbb"}, {file = "aiohttp-3.13.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:585542825c4bc662221fb257889e011a5aa00f1ae4d75d1d246a5225289183e3"}, {file = "aiohttp-3.13.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:39d02cb6025fe1aabca329c5632f48c9532a3dabccd859e7e2f110668972331f"}, {file = "aiohttp-3.13.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e67446b19e014d37342f7195f592a2a948141d15a312fe0e700c2fd2f03124f6"}, {file = "aiohttp-3.13.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4356474ad6333e41ccefd39eae869ba15a6c5299c9c01dfdcfdd5c107be4363e"}, {file = "aiohttp-3.13.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:eeacf451c99b4525f700f078becff32c32ec327b10dcf31306a8a52d78166de7"}, {file = "aiohttp-3.13.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d8a9b889aeabd7a4e9af0b7f4ab5ad94d42e7ff679aaec6d0db21e3b639ad58d"}, {file = "aiohttp-3.13.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:fa89cb11bc71a63b69568d5b8a25c3ca25b6d54c15f907ca1c130d72f320b76b"}, {file = "aiohttp-3.13.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8aa7c807df234f693fed0ecd507192fc97692e61fee5702cdc11155d2e5cadc8"}, {file = "aiohttp-3.13.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:9eb3e33fdbe43f88c3c75fa608c25e7c47bbd80f48d012763cb67c47f39a7e16"}, {file = "aiohttp-3.13.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9434bc0d80076138ea986833156c5a48c9c7a8abb0c96039ddbb4afc93184169"}, {file = "aiohttp-3.13.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ff15c147b2ad66da1f2cbb0622313f2242d8e6e8f9b79b5206c84523a4473248"}, {file = "aiohttp-3.13.2-cp312-cp312-win32.whl", hash = "sha256:27e569eb9d9e95dbd55c0fc3ec3a9335defbf1d8bc1d20171a49f3c4c607b93e"}, {file = "aiohttp-3.13.2-cp312-cp312-win_amd64.whl", hash = "sha256:8709a0f05d59a71f33fd05c17fc11fcb8c30140506e13c2f5e8ee1b8964e1b45"}, {file = "aiohttp-3.13.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7519bdc7dfc1940d201651b52bf5e03f5503bda45ad6eacf64dda98be5b2b6be"}, {file = "aiohttp-3.13.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:088912a78b4d4f547a1f19c099d5a506df17eacec3c6f4375e2831ec1d995742"}, {file = "aiohttp-3.13.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:5276807b9de9092af38ed23ce120539ab0ac955547b38563a9ba4f5b07b95293"}, {file = "aiohttp-3.13.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1237c1375eaef0db4dcd7c2559f42e8af7b87ea7d295b118c60c36a6e61cb811"}, {file = "aiohttp-3.13.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:96581619c57419c3d7d78703d5b78c1e5e5fc0172d60f555bdebaced82ded19a"}, {file = "aiohttp-3.13.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a2713a95b47374169409d18103366de1050fe0ea73db358fc7a7acb2880422d4"}, {file = "aiohttp-3.13.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:228a1cd556b3caca590e9511a89444925da87d35219a49ab5da0c36d2d943a6a"}, {file = "aiohttp-3.13.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ac6cde5fba8d7d8c6ac963dbb0256a9854e9fafff52fbcc58fdf819357892c3e"}, {file = "aiohttp-3.13.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f2bef8237544f4e42878c61cef4e2839fee6346dc60f5739f876a9c50be7fcdb"}, {file = "aiohttp-3.13.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:16f15a4eac3bc2d76c45f7ebdd48a65d41b242eb6c31c2245463b40b34584ded"}, {file = "aiohttp-3.13.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:bb7fb776645af5cc58ab804c58d7eba545a97e047254a52ce89c157b5af6cd0b"}, {file = "aiohttp-3.13.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:e1b4951125ec10c70802f2cb09736c895861cd39fd9dcb35107b4dc8ae6220b8"}, {file = "aiohttp-3.13.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:550bf765101ae721ee1d37d8095f47b1f220650f85fe1af37a90ce75bab89d04"}, {file = "aiohttp-3.13.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:fe91b87fc295973096251e2d25a811388e7d8adf3bd2b97ef6ae78bc4ac6c476"}, {file = "aiohttp-3.13.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e0c8e31cfcc4592cb200160344b2fb6ae0f9e4effe06c644b5a125d4ae5ebe23"}, {file = "aiohttp-3.13.2-cp313-cp313-win32.whl", hash = "sha256:0740f31a60848d6edb296a0df827473eede90c689b8f9f2a4cdde74889eb2254"}, {file = "aiohttp-3.13.2-cp313-cp313-win_amd64.whl", hash = "sha256:a88d13e7ca367394908f8a276b89d04a3652044612b9a408a0bb22a5ed976a1a"}, {file = "aiohttp-3.13.2-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:2475391c29230e063ef53a66669b7b691c9bfc3f1426a0f7bcdf1216bdbac38b"}, {file = "aiohttp-3.13.2-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:f33c8748abef4d8717bb20e8fb1b3e07c6adacb7fd6beaae971a764cf5f30d61"}, {file = "aiohttp-3.13.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:ae32f24bbfb7dbb485a24b30b1149e2f200be94777232aeadba3eecece4d0aa4"}, {file = "aiohttp-3.13.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5d7f02042c1f009ffb70067326ef183a047425bb2ff3bc434ead4dd4a4a66a2b"}, {file = "aiohttp-3.13.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:93655083005d71cd6c072cdab54c886e6570ad2c4592139c3fb967bfc19e4694"}, {file = "aiohttp-3.13.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0db1e24b852f5f664cd728db140cf11ea0e82450471232a394b3d1a540b0f906"}, {file = "aiohttp-3.13.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b009194665bcd128e23eaddef362e745601afa4641930848af4c8559e88f18f9"}, {file = "aiohttp-3.13.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c038a8fdc8103cd51dbd986ecdce141473ffd9775a7a8057a6ed9c3653478011"}, {file = "aiohttp-3.13.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66bac29b95a00db411cd758fea0e4b9bdba6d549dfe333f9a945430f5f2cc5a6"}, {file = "aiohttp-3.13.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:4ebf9cfc9ba24a74cf0718f04aac2a3bbe745902cc7c5ebc55c0f3b5777ef213"}, {file = "aiohttp-3.13.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:a4b88ebe35ce54205c7074f7302bd08a4cb83256a3e0870c72d6f68a3aaf8e49"}, {file = "aiohttp-3.13.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:98c4fb90bb82b70a4ed79ca35f656f4281885be076f3f970ce315402b53099ae"}, {file = "aiohttp-3.13.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:ec7534e63ae0f3759df3a1ed4fa6bc8f75082a924b590619c0dd2f76d7043caa"}, {file = "aiohttp-3.13.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5b927cf9b935a13e33644cbed6c8c4b2d0f25b713d838743f8fe7191b33829c4"}, {file = "aiohttp-3.13.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:88d6c017966a78c5265d996c19cdb79235be5e6412268d7e2ce7dee339471b7a"}, {file = "aiohttp-3.13.2-cp314-cp314-win32.whl", hash = "sha256:f7c183e786e299b5d6c49fb43a769f8eb8e04a2726a2bd5887b98b5cc2d67940"}, {file = "aiohttp-3.13.2-cp314-cp314-win_amd64.whl", hash = "sha256:fe242cd381e0fb65758faf5ad96c2e460df6ee5b2de1072fe97e4127927e00b4"}, {file = "aiohttp-3.13.2-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:f10d9c0b0188fe85398c61147bbd2a657d616c876863bfeff43376e0e3134673"}, {file = "aiohttp-3.13.2-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:e7c952aefdf2460f4ae55c5e9c3e80aa72f706a6317e06020f80e96253b1accd"}, {file = "aiohttp-3.13.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c20423ce14771d98353d2e25e83591fa75dfa90a3c1848f3d7c68243b4fbded3"}, {file = "aiohttp-3.13.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e96eb1a34396e9430c19d8338d2ec33015e4a87ef2b4449db94c22412e25ccdf"}, {file = "aiohttp-3.13.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:23fb0783bc1a33640036465019d3bba069942616a6a2353c6907d7fe1ccdaf4e"}, {file = "aiohttp-3.13.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2e1a9bea6244a1d05a4e57c295d69e159a5c50d8ef16aa390948ee873478d9a5"}, {file = "aiohttp-3.13.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0a3d54e822688b56e9f6b5816fb3de3a3a64660efac64e4c2dc435230ad23bad"}, {file = "aiohttp-3.13.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7a653d872afe9f33497215745da7a943d1dc15b728a9c8da1c3ac423af35178e"}, {file = "aiohttp-3.13.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:56d36e80d2003fa3fc0207fac644216d8532e9504a785ef9a8fd013f84a42c61"}, {file = "aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:78cd586d8331fb8e241c2dd6b2f4061778cc69e150514b39a9e28dd050475661"}, {file = "aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:20b10bbfbff766294fe99987f7bb3b74fdd2f1a2905f2562132641ad434dcf98"}, {file = "aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:9ec49dff7e2b3c85cdeaa412e9d438f0ecd71676fde61ec57027dd392f00c693"}, {file = "aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:94f05348c4406450f9d73d38efb41d669ad6cd90c7ee194810d0eefbfa875a7a"}, {file = "aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:fa4dcb605c6f82a80c7f95713c2b11c3b8e9893b3ebd2bc9bde93165ed6107be"}, {file = "aiohttp-3.13.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cf00e5db968c3f67eccd2778574cf64d8b27d95b237770aa32400bd7a1ca4f6c"}, {file = "aiohttp-3.13.2-cp314-cp314t-win32.whl", hash = "sha256:d23b5fe492b0805a50d3371e8a728a9134d8de5447dce4c885f5587294750734"}, {file = "aiohttp-3.13.2-cp314-cp314t-win_amd64.whl", hash = "sha256:ff0a7b0a82a7ab905cbda74006318d1b12e37c797eb1b0d4eb3e316cf47f658f"}, {file = "aiohttp-3.13.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:7fbdf5ad6084f1940ce88933de34b62358d0f4a0b6ec097362dcd3e5a65a4989"}, {file = "aiohttp-3.13.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7c3a50345635a02db61792c85bb86daffac05330f6473d524f1a4e3ef9d0046d"}, {file = "aiohttp-3.13.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e87dff73f46e969af38ab3f7cb75316a7c944e2e574ff7c933bc01b10def7f5"}, {file = "aiohttp-3.13.2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2adebd4577724dcae085665f294cc57c8701ddd4d26140504db622b8d566d7aa"}, {file = "aiohttp-3.13.2-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e036a3a645fe92309ec34b918394bb377950cbb43039a97edae6c08db64b23e2"}, {file = "aiohttp-3.13.2-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:23ad365e30108c422d0b4428cf271156dd56790f6dd50d770b8e360e6c5ab2e6"}, {file = "aiohttp-3.13.2-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1f9b2c2d4b9d958b1f9ae0c984ec1dd6b6689e15c75045be8ccb4011426268ca"}, {file = "aiohttp-3.13.2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3a92cf4b9bea33e15ecbaa5c59921be0f23222608143d025c989924f7e3e0c07"}, {file = "aiohttp-3.13.2-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:070599407f4954021509193404c4ac53153525a19531051661440644728ba9a7"}, {file = "aiohttp-3.13.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:29562998ec66f988d49fb83c9b01694fa927186b781463f376c5845c121e4e0b"}, {file = "aiohttp-3.13.2-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4dd3db9d0f4ebca1d887d76f7cdbcd1116ac0d05a9221b9dad82c64a62578c4d"}, {file = "aiohttp-3.13.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d7bc4b7f9c4921eba72677cd9fedd2308f4a4ca3e12fab58935295ad9ea98700"}, {file = "aiohttp-3.13.2-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:dacd50501cd017f8cccb328da0c90823511d70d24a323196826d923aad865901"}, {file = "aiohttp-3.13.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:8b2f1414f6a1e0683f212ec80e813f4abef94c739fd090b66c9adf9d2a05feac"}, {file = "aiohttp-3.13.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:04c3971421576ed24c191f610052bcb2f059e395bc2489dd99e397f9bc466329"}, {file = "aiohttp-3.13.2-cp39-cp39-win32.whl", hash = "sha256:9f377d0a924e5cc94dc620bc6366fc3e889586a7f18b748901cf016c916e2084"}, {file = "aiohttp-3.13.2-cp39-cp39-win_amd64.whl", hash = "sha256:9c705601e16c03466cb72011bd1af55d68fa65b045356d8f96c216e5f6db0fa5"}, {file = "aiohttp-3.13.2.tar.gz", hash = "sha256:40176a52c186aefef6eb3cad2cdd30cd06e3afbe88fe8ab2af9c0b90f228daca"}, ] [package.dependencies] aiohappyeyeballs = ">=2.5.0" aiosignal = ">=1.4.0" attrs = ">=17.3.0" frozenlist = ">=1.1.1" multidict = ">=4.5,<7.0" propcache = ">=0.2.0" yarl = ">=1.17.0,<2.0" [package.extras] speedups = ["Brotli", "aiodns (>=3.3.0)", "backports.zstd", "brotlicffi"] [[package]] name = "aiohttp-sse-client2" version = "0.3.0" description = "A Server-Sent Event python client base on aiohttp" optional = false python-versions = "*" files = [ {file = "aiohttp-sse-client2-0.3.0.tar.gz", hash = "sha256:5cdd33fc0d034aea339e190726bb918bc61fd3424c7ab528d07b1d60790a979f"}, {file = "aiohttp_sse_client2-0.3.0-py2.py3-none-any.whl", hash = "sha256:1921bfe488667bf70651a38f54363fdd0c5f0d7021010e632bf80754c6850b25"}, ] [package.dependencies] aiohttp = ">=3" attrs = "*" multidict = "*" yarl = "*" [[package]] name = "aioresponses" version = "0.7.8" description = "Mock out requests made by ClientSession from aiohttp package" optional = false python-versions = "*" files = [ {file = "aioresponses-0.7.8-py2.py3-none-any.whl", hash = "sha256:b73bd4400d978855e55004b23a3a84cb0f018183bcf066a85ad392800b5b9a94"}, {file = "aioresponses-0.7.8.tar.gz", hash = "sha256:b861cdfe5dc58f3b8afac7b0a6973d5d7b2cb608dd0f6253d16b8ee8eaf6df11"}, ] [package.dependencies] aiohttp = ">=3.3.0,<4.0.0" packaging = ">=22.0" [[package]] name = "aiosignal" version = "1.4.0" description = "aiosignal: a list of registered asynchronous callbacks" optional = false python-versions = ">=3.9" files = [ {file = "aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e"}, {file = "aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7"}, ] [package.dependencies] frozenlist = ">=1.1.0" typing-extensions = {version = ">=4.2", markers = "python_version < \"3.13\""} [[package]] name = "astroid" version = "4.0.2" description = "An abstract syntax tree for Python with inference support." optional = false python-versions = ">=3.10.0" files = [ {file = "astroid-4.0.2-py3-none-any.whl", hash = "sha256:d7546c00a12efc32650b19a2bb66a153883185d3179ab0d4868086f807338b9b"}, {file = "astroid-4.0.2.tar.gz", hash = "sha256:ac8fb7ca1c08eb9afec91ccc23edbd8ac73bb22cbdd7da1d488d9fb8d6579070"}, ] [[package]] name = "attrs" version = "25.4.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.9" files = [ {file = "attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373"}, {file = "attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11"}, ] [[package]] name = "cfgv" version = "3.5.0" description = "Validate configuration and produce human readable error messages." optional = false python-versions = ">=3.10" files = [ {file = "cfgv-3.5.0-py2.py3-none-any.whl", hash = "sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0"}, {file = "cfgv-3.5.0.tar.gz", hash = "sha256:d5b1034354820651caa73ede66a6294d6e95c1b00acc5e9b098e917404669132"}, ] [[package]] name = "codespell" version = "2.4.1" description = "Fix common misspellings in text files" optional = false python-versions = ">=3.8" files = [ {file = "codespell-2.4.1-py3-none-any.whl", hash = "sha256:3dadafa67df7e4a3dbf51e0d7315061b80d265f9552ebd699b3dd6834b47e425"}, {file = "codespell-2.4.1.tar.gz", hash = "sha256:299fcdcb09d23e81e35a671bbe746d5ad7e8385972e65dbb833a2eaac33c01e5"}, ] [package.extras] dev = ["Pygments", "build", "chardet", "pre-commit", "pytest", "pytest-cov", "pytest-dependency", "ruff", "tomli", "twine"] hard-encoding-detection = ["chardet"] toml = ["tomli"] types = ["chardet (>=5.1.0)", "mypy", "pytest", "pytest-cov", "pytest-dependency"] [[package]] name = "colorama" version = "0.4.6" description = "Cross-platform colored terminal text." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] [[package]] name = "covdefaults" version = "2.3.0" description = "A coverage plugin to provide sensible default settings" optional = false python-versions = ">=3.7" files = [ {file = "covdefaults-2.3.0-py2.py3-none-any.whl", hash = "sha256:2832961f6ffcfe4b57c338bc3418a3526f495c26fb9c54565409c5532f7c41be"}, {file = "covdefaults-2.3.0.tar.gz", hash = "sha256:4e99f679f12d792bc62e5510fa3eb59546ed47bd569e36e4fddc4081c9c3ebf7"}, ] [package.dependencies] coverage = ">=6.0.2" [[package]] name = "coverage" version = "7.12.0" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.10" files = [ {file = "coverage-7.12.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:32b75c2ba3f324ee37af3ccee5b30458038c50b349ad9b88cee85096132a575b"}, {file = "coverage-7.12.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cb2a1b6ab9fe833714a483a915de350abc624a37149649297624c8d57add089c"}, {file = "coverage-7.12.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5734b5d913c3755e72f70bf6cc37a0518d4f4745cde760c5d8e12005e62f9832"}, {file = "coverage-7.12.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b527a08cdf15753279b7afb2339a12073620b761d79b81cbe2cdebdb43d90daa"}, {file = "coverage-7.12.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9bb44c889fb68004e94cab71f6a021ec83eac9aeabdbb5a5a88821ec46e1da73"}, {file = "coverage-7.12.0-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4b59b501455535e2e5dde5881739897967b272ba25988c89145c12d772810ccb"}, {file = "coverage-7.12.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d8842f17095b9868a05837b7b1b73495293091bed870e099521ada176aa3e00e"}, {file = "coverage-7.12.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:c5a6f20bf48b8866095c6820641e7ffbe23f2ac84a2efc218d91235e404c7777"}, {file = "coverage-7.12.0-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:5f3738279524e988d9da2893f307c2093815c623f8d05a8f79e3eff3a7a9e553"}, {file = "coverage-7.12.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e0d68c1f7eabbc8abe582d11fa393ea483caf4f44b0af86881174769f185c94d"}, {file = "coverage-7.12.0-cp310-cp310-win32.whl", hash = "sha256:7670d860e18b1e3ee5930b17a7d55ae6287ec6e55d9799982aa103a2cc1fa2ef"}, {file = "coverage-7.12.0-cp310-cp310-win_amd64.whl", hash = "sha256:f999813dddeb2a56aab5841e687b68169da0d3f6fc78ccf50952fa2463746022"}, {file = "coverage-7.12.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:aa124a3683d2af98bd9d9c2bfa7a5076ca7e5ab09fdb96b81fa7d89376ae928f"}, {file = "coverage-7.12.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d93fbf446c31c0140208dcd07c5d882029832e8ed7891a39d6d44bd65f2316c3"}, {file = "coverage-7.12.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:52ca620260bd8cd6027317bdd8b8ba929be1d741764ee765b42c4d79a408601e"}, {file = "coverage-7.12.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f3433ffd541380f3a0e423cff0f4926d55b0cc8c1d160fdc3be24a4c03aa65f7"}, {file = "coverage-7.12.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f7bbb321d4adc9f65e402c677cd1c8e4c2d0105d3ce285b51b4d87f1d5db5245"}, {file = "coverage-7.12.0-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:22a7aade354a72dff3b59c577bfd18d6945c61f97393bc5fb7bd293a4237024b"}, {file = "coverage-7.12.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3ff651dcd36d2fea66877cd4a82de478004c59b849945446acb5baf9379a1b64"}, {file = "coverage-7.12.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:31b8b2e38391a56e3cea39d22a23faaa7c3fc911751756ef6d2621d2a9daf742"}, {file = "coverage-7.12.0-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:297bc2da28440f5ae51c845a47c8175a4db0553a53827886e4fb25c66633000c"}, {file = "coverage-7.12.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:6ff7651cc01a246908eac162a6a86fc0dbab6de1ad165dfb9a1e2ec660b44984"}, {file = "coverage-7.12.0-cp311-cp311-win32.whl", hash = "sha256:313672140638b6ddb2c6455ddeda41c6a0b208298034544cfca138978c6baed6"}, {file = "coverage-7.12.0-cp311-cp311-win_amd64.whl", hash = "sha256:a1783ed5bd0d5938d4435014626568dc7f93e3cb99bc59188cc18857c47aa3c4"}, {file = "coverage-7.12.0-cp311-cp311-win_arm64.whl", hash = "sha256:4648158fd8dd9381b5847622df1c90ff314efbfc1df4550092ab6013c238a5fc"}, {file = "coverage-7.12.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:29644c928772c78512b48e14156b81255000dcfd4817574ff69def189bcb3647"}, {file = "coverage-7.12.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8638cbb002eaa5d7c8d04da667813ce1067080b9a91099801a0053086e52b736"}, {file = "coverage-7.12.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:083631eeff5eb9992c923e14b810a179798bb598e6a0dd60586819fc23be6e60"}, {file = "coverage-7.12.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:99d5415c73ca12d558e07776bd957c4222c687b9f1d26fa0e1b57e3598bdcde8"}, {file = "coverage-7.12.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e949ebf60c717c3df63adb4a1a366c096c8d7fd8472608cd09359e1bd48ef59f"}, {file = "coverage-7.12.0-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6d907ddccbca819afa2cd014bc69983b146cca2735a0b1e6259b2a6c10be1e70"}, {file = "coverage-7.12.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b1518ecbad4e6173f4c6e6c4a46e49555ea5679bf3feda5edb1b935c7c44e8a0"}, {file = "coverage-7.12.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:51777647a749abdf6f6fd8c7cffab12de68ab93aab15efc72fbbb83036c2a068"}, {file = "coverage-7.12.0-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:42435d46d6461a3b305cdfcad7cdd3248787771f53fe18305548cba474e6523b"}, {file = "coverage-7.12.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:5bcead88c8423e1855e64b8057d0544e33e4080b95b240c2a355334bb7ced937"}, {file = "coverage-7.12.0-cp312-cp312-win32.whl", hash = "sha256:dcbb630ab034e86d2a0f79aefd2be07e583202f41e037602d438c80044957baa"}, {file = "coverage-7.12.0-cp312-cp312-win_amd64.whl", hash = "sha256:2fd8354ed5d69775ac42986a691fbf68b4084278710cee9d7c3eaa0c28fa982a"}, {file = "coverage-7.12.0-cp312-cp312-win_arm64.whl", hash = "sha256:737c3814903be30695b2de20d22bcc5428fdae305c61ba44cdc8b3252984c49c"}, {file = "coverage-7.12.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:47324fffca8d8eae7e185b5bb20c14645f23350f870c1649003618ea91a78941"}, {file = "coverage-7.12.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ccf3b2ede91decd2fb53ec73c1f949c3e034129d1e0b07798ff1d02ea0c8fa4a"}, {file = "coverage-7.12.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:b365adc70a6936c6b0582dc38746b33b2454148c02349345412c6e743efb646d"}, {file = "coverage-7.12.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:bc13baf85cd8a4cfcf4a35c7bc9d795837ad809775f782f697bf630b7e200211"}, {file = "coverage-7.12.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:099d11698385d572ceafb3288a5b80fe1fc58bf665b3f9d362389de488361d3d"}, {file = "coverage-7.12.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:473dc45d69694069adb7680c405fb1e81f60b2aff42c81e2f2c3feaf544d878c"}, {file = "coverage-7.12.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:583f9adbefd278e9de33c33d6846aa8f5d164fa49b47144180a0e037f0688bb9"}, {file = "coverage-7.12.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b2089cc445f2dc0af6f801f0d1355c025b76c24481935303cf1af28f636688f0"}, {file = "coverage-7.12.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:950411f1eb5d579999c5f66c62a40961f126fc71e5e14419f004471957b51508"}, {file = "coverage-7.12.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:b1aab7302a87bafebfe76b12af681b56ff446dc6f32ed178ff9c092ca776e6bc"}, {file = "coverage-7.12.0-cp313-cp313-win32.whl", hash = "sha256:d7e0d0303c13b54db495eb636bc2465b2fb8475d4c8bcec8fe4b5ca454dfbae8"}, {file = "coverage-7.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:ce61969812d6a98a981d147d9ac583a36ac7db7766f2e64a9d4d059c2fe29d07"}, {file = "coverage-7.12.0-cp313-cp313-win_arm64.whl", hash = "sha256:bcec6f47e4cb8a4c2dc91ce507f6eefc6a1b10f58df32cdc61dff65455031dfc"}, {file = "coverage-7.12.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:459443346509476170d553035e4a3eed7b860f4fe5242f02de1010501956ce87"}, {file = "coverage-7.12.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:04a79245ab2b7a61688958f7a855275997134bc84f4a03bc240cf64ff132abf6"}, {file = "coverage-7.12.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:09a86acaaa8455f13d6a99221d9654df249b33937b4e212b4e5a822065f12aa7"}, {file = "coverage-7.12.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:907e0df1b71ba77463687a74149c6122c3f6aac56c2510a5d906b2f368208560"}, {file = "coverage-7.12.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9b57e2d0ddd5f0582bae5437c04ee71c46cd908e7bc5d4d0391f9a41e812dd12"}, {file = "coverage-7.12.0-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:58c1c6aa677f3a1411fe6fb28ec3a942e4f665df036a3608816e0847fad23296"}, {file = "coverage-7.12.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:4c589361263ab2953e3c4cd2a94db94c4ad4a8e572776ecfbad2389c626e4507"}, {file = "coverage-7.12.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:91b810a163ccad2e43b1faa11d70d3cf4b6f3d83f9fd5f2df82a32d47b648e0d"}, {file = "coverage-7.12.0-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:40c867af715f22592e0d0fb533a33a71ec9e0f73a6945f722a0c85c8c1cbe3a2"}, {file = "coverage-7.12.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:68b0d0a2d84f333de875666259dadf28cc67858bc8fd8b3f1eae84d3c2bec455"}, {file = "coverage-7.12.0-cp313-cp313t-win32.whl", hash = "sha256:73f9e7fbd51a221818fd11b7090eaa835a353ddd59c236c57b2199486b116c6d"}, {file = "coverage-7.12.0-cp313-cp313t-win_amd64.whl", hash = "sha256:24cff9d1f5743f67db7ba46ff284018a6e9aeb649b67aa1e70c396aa1b7cb23c"}, {file = "coverage-7.12.0-cp313-cp313t-win_arm64.whl", hash = "sha256:c87395744f5c77c866d0f5a43d97cc39e17c7f1cb0115e54a2fe67ca75c5d14d"}, {file = "coverage-7.12.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a1c59b7dc169809a88b21a936eccf71c3895a78f5592051b1af8f4d59c2b4f92"}, {file = "coverage-7.12.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:8787b0f982e020adb732b9f051f3e49dd5054cebbc3f3432061278512a2b1360"}, {file = "coverage-7.12.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5ea5a9f7dc8877455b13dd1effd3202e0bca72f6f3ab09f9036b1bcf728f69ac"}, {file = "coverage-7.12.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fdba9f15849534594f60b47c9a30bc70409b54947319a7c4fd0e8e3d8d2f355d"}, {file = "coverage-7.12.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a00594770eb715854fb1c57e0dea08cce6720cfbc531accdb9850d7c7770396c"}, {file = "coverage-7.12.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5560c7e0d82b42eb1951e4f68f071f8017c824ebfd5a6ebe42c60ac16c6c2434"}, {file = "coverage-7.12.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d6c2e26b481c9159c2773a37947a9718cfdc58893029cdfb177531793e375cfc"}, {file = "coverage-7.12.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:6e1a8c066dabcde56d5d9fed6a66bc19a2883a3fe051f0c397a41fc42aedd4cc"}, {file = "coverage-7.12.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:f7ba9da4726e446d8dd8aae5a6cd872511184a5d861de80a86ef970b5dacce3e"}, {file = "coverage-7.12.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:e0f483ab4f749039894abaf80c2f9e7ed77bbf3c737517fb88c8e8e305896a17"}, {file = "coverage-7.12.0-cp314-cp314-win32.whl", hash = "sha256:76336c19a9ef4a94b2f8dc79f8ac2da3f193f625bb5d6f51a328cd19bfc19933"}, {file = "coverage-7.12.0-cp314-cp314-win_amd64.whl", hash = "sha256:7c1059b600aec6ef090721f8f633f60ed70afaffe8ecab85b59df748f24b31fe"}, {file = "coverage-7.12.0-cp314-cp314-win_arm64.whl", hash = "sha256:172cf3a34bfef42611963e2b661302a8931f44df31629e5b1050567d6b90287d"}, {file = "coverage-7.12.0-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:aa7d48520a32cb21c7a9b31f81799e8eaec7239db36c3b670be0fa2403828d1d"}, {file = "coverage-7.12.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:90d58ac63bc85e0fb919f14d09d6caa63f35a5512a2205284b7816cafd21bb03"}, {file = "coverage-7.12.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:ca8ecfa283764fdda3eae1bdb6afe58bf78c2c3ec2b2edcb05a671f0bba7b3f9"}, {file = "coverage-7.12.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:874fe69a0785d96bd066059cd4368022cebbec1a8958f224f0016979183916e6"}, {file = "coverage-7.12.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5b3c889c0b8b283a24d721a9eabc8ccafcfc3aebf167e4cd0d0e23bf8ec4e339"}, {file = "coverage-7.12.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8bb5b894b3ec09dcd6d3743229dc7f2c42ef7787dc40596ae04c0edda487371e"}, {file = "coverage-7.12.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:79a44421cd5fba96aa57b5e3b5a4d3274c449d4c622e8f76882d76635501fd13"}, {file = "coverage-7.12.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:33baadc0efd5c7294f436a632566ccc1f72c867f82833eb59820ee37dc811c6f"}, {file = "coverage-7.12.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:c406a71f544800ef7e9e0000af706b88465f3573ae8b8de37e5f96c59f689ad1"}, {file = "coverage-7.12.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:e71bba6a40883b00c6d571599b4627f50c360b3d0d02bfc658168936be74027b"}, {file = "coverage-7.12.0-cp314-cp314t-win32.whl", hash = "sha256:9157a5e233c40ce6613dead4c131a006adfda70e557b6856b97aceed01b0e27a"}, {file = "coverage-7.12.0-cp314-cp314t-win_amd64.whl", hash = "sha256:e84da3a0fd233aeec797b981c51af1cabac74f9bd67be42458365b30d11b5291"}, {file = "coverage-7.12.0-cp314-cp314t-win_arm64.whl", hash = "sha256:01d24af36fedda51c2b1aca56e4330a3710f83b02a5ff3743a6b015ffa7c9384"}, {file = "coverage-7.12.0-py3-none-any.whl", hash = "sha256:159d50c0b12e060b15ed3d39f87ed43d4f7f7ad40b8a534f4dd331adbb51104a"}, {file = "coverage-7.12.0.tar.gz", hash = "sha256:fc11e0a4e372cb5f282f16ef90d4a585034050ccda536451901abfb19a57f40c"}, ] [package.extras] toml = ["tomli"] [[package]] name = "dill" version = "0.4.0" description = "serialize all of Python" optional = false python-versions = ">=3.8" files = [ {file = "dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049"}, {file = "dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0"}, ] [package.extras] graph = ["objgraph (>=1.7.2)"] profile = ["gprof2dot (>=2022.7.29)"] [[package]] name = "distlib" version = "0.4.0" description = "Distribution utilities" optional = false python-versions = "*" files = [ {file = "distlib-0.4.0-py2.py3-none-any.whl", hash = "sha256:9659f7d87e46584a30b5780e43ac7a2143098441670ff0a49d5f9034c54a6c16"}, {file = "distlib-0.4.0.tar.gz", hash = "sha256:feec40075be03a04501a973d81f633735b4b69f98b05450592310c0f401a4e0d"}, ] [[package]] name = "filelock" version = "3.20.0" description = "A platform independent file lock." optional = false python-versions = ">=3.10" files = [ {file = "filelock-3.20.0-py3-none-any.whl", hash = "sha256:339b4732ffda5cd79b13f4e2711a31b0365ce445d95d243bb996273d072546a2"}, {file = "filelock-3.20.0.tar.gz", hash = "sha256:711e943b4ec6be42e1d4e6690b48dc175c822967466bb31c0c293f34334c13f4"}, ] [[package]] name = "frozenlist" version = "1.8.0" description = "A list-like structure which implements collections.abc.MutableSequence" optional = false python-versions = ">=3.9" files = [ {file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011"}, {file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565"}, {file = "frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad"}, {file = "frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2"}, {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186"}, {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e"}, {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450"}, {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef"}, {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4"}, {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff"}, {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c"}, {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f"}, {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7"}, {file = "frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a"}, {file = "frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6"}, {file = "frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e"}, {file = "frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84"}, {file = "frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9"}, {file = "frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93"}, {file = "frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f"}, {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695"}, {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52"}, {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581"}, {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567"}, {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b"}, {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92"}, {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d"}, {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd"}, {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967"}, {file = "frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25"}, {file = "frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b"}, {file = "frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a"}, {file = "frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1"}, {file = "frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b"}, {file = "frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4"}, {file = "frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383"}, {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4"}, {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8"}, {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b"}, {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52"}, {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29"}, {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3"}, {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143"}, {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608"}, {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa"}, {file = "frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf"}, {file = "frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746"}, {file = "frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd"}, {file = "frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a"}, {file = "frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7"}, {file = "frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40"}, {file = "frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027"}, {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822"}, {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121"}, {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5"}, {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e"}, {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11"}, {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1"}, {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1"}, {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8"}, {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed"}, {file = "frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496"}, {file = "frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231"}, {file = "frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62"}, {file = "frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94"}, {file = "frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c"}, {file = "frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52"}, {file = "frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51"}, {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65"}, {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82"}, {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714"}, {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d"}, {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506"}, {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51"}, {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e"}, {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0"}, {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41"}, {file = "frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b"}, {file = "frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888"}, {file = "frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042"}, {file = "frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0"}, {file = "frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f"}, {file = "frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c"}, {file = "frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2"}, {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8"}, {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686"}, {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e"}, {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a"}, {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128"}, {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f"}, {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7"}, {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30"}, {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7"}, {file = "frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806"}, {file = "frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0"}, {file = "frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b"}, {file = "frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d"}, {file = "frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed"}, {file = "frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930"}, {file = "frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c"}, {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24"}, {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37"}, {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a"}, {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2"}, {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef"}, {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe"}, {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8"}, {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a"}, {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e"}, {file = "frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df"}, {file = "frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd"}, {file = "frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79"}, {file = "frozenlist-1.8.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8b7138e5cd0647e4523d6685b0eac5d4be9a184ae9634492f25c6eb38c12a47"}, {file = "frozenlist-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6483e309ca809f1efd154b4d37dc6d9f61037d6c6a81c2dc7a15cb22c8c5dca"}, {file = "frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b9290cf81e95e93fdf90548ce9d3c1211cf574b8e3f4b3b7cb0537cf2227068"}, {file = "frozenlist-1.8.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:59a6a5876ca59d1b63af8cd5e7ffffb024c3dc1e9cf9301b21a2e76286505c95"}, {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6dc4126390929823e2d2d9dc79ab4046ed74680360fc5f38b585c12c66cdf459"}, {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:332db6b2563333c5671fecacd085141b5800cb866be16d5e3eb15a2086476675"}, {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ff15928d62a0b80bb875655c39bf517938c7d589554cbd2669be42d97c2cb61"}, {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7bf6cdf8e07c8151fba6fe85735441240ec7f619f935a5205953d58009aef8c6"}, {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:48e6d3f4ec5c7273dfe83ff27c91083c6c9065af655dc2684d2c200c94308bb5"}, {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:1a7607e17ad33361677adcd1443edf6f5da0ce5e5377b798fba20fae194825f3"}, {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3a935c3a4e89c733303a2d5a7c257ea44af3a56c8202df486b7f5de40f37e1"}, {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:940d4a017dbfed9daf46a3b086e1d2167e7012ee297fef9e1c545c4d022f5178"}, {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b9be22a69a014bc47e78072d0ecae716f5eb56c15238acca0f43d6eb8e4a5bda"}, {file = "frozenlist-1.8.0-cp39-cp39-win32.whl", hash = "sha256:1aa77cb5697069af47472e39612976ed05343ff2e84a3dcf15437b232cbfd087"}, {file = "frozenlist-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:7398c222d1d405e796970320036b1b563892b65809d9e5261487bb2c7f7b5c6a"}, {file = "frozenlist-1.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f3b365f31c6cd4af24545ca0a244a53688cad8834e32f56831c4923b50a103"}, {file = "frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d"}, {file = "frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad"}, ] [[package]] name = "identify" version = "2.6.15" description = "File identification library for Python" optional = false python-versions = ">=3.9" files = [ {file = "identify-2.6.15-py2.py3-none-any.whl", hash = "sha256:1181ef7608e00704db228516541eb83a88a9f94433a8c80bb9b5bd54b1d81757"}, {file = "identify-2.6.15.tar.gz", hash = "sha256:e4f4864b96c6557ef2a1e1c951771838f4edc9df3a72ec7118b338801b11c7bf"}, ] [package.extras] license = ["ukkonen"] [[package]] name = "idna" version = "3.11" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.8" files = [ {file = "idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea"}, {file = "idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902"}, ] [package.extras] all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] [[package]] name = "iniconfig" version = "2.3.0" description = "brain-dead simple config-ini parsing" optional = false python-versions = ">=3.10" files = [ {file = "iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12"}, {file = "iniconfig-2.3.0.tar.gz", hash = "sha256:c76315c77db068650d49c5b56314774a7804df16fee4402c1f19d6d15d8c4730"}, ] [[package]] name = "isort" version = "7.0.0" description = "A Python utility / library to sort Python imports." optional = false python-versions = ">=3.10.0" files = [ {file = "isort-7.0.0-py3-none-any.whl", hash = "sha256:1bcabac8bc3c36c7fb7b98a76c8abb18e0f841a3ba81decac7691008592499c1"}, {file = "isort-7.0.0.tar.gz", hash = "sha256:5513527951aadb3ac4292a41a16cbc50dd1642432f5e8c20057d414bdafb4187"}, ] [package.extras] colors = ["colorama"] plugins = ["setuptools"] [[package]] name = "librt" version = "0.7.3" description = "Mypyc runtime library" optional = false python-versions = ">=3.9" files = [ {file = "librt-0.7.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2682162855a708e3270eba4b92026b93f8257c3e65278b456c77631faf0f4f7a"}, {file = "librt-0.7.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:440c788f707c061d237c1e83edf6164ff19f5c0f823a3bf054e88804ebf971ec"}, {file = "librt-0.7.3-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:399938edbd3d78339f797d685142dd8a623dfaded023cf451033c85955e4838a"}, {file = "librt-0.7.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1975eda520957c6e0eb52d12968dd3609ffb7eef05d4223d097893d6daf1d8a7"}, {file = "librt-0.7.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f9da128d0edf990cf0d2ca011b02cd6f639e79286774bd5b0351245cbb5a6e51"}, {file = "librt-0.7.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e19acfde38cb532a560b98f473adc741c941b7a9bc90f7294bc273d08becb58b"}, {file = "librt-0.7.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:7b4f57f7a0c65821c5441d98c47ff7c01d359b1e12328219709bdd97fdd37f90"}, {file = "librt-0.7.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:256793988bff98040de23c57cf36e1f4c2f2dc3dcd17537cdac031d3b681db71"}, {file = "librt-0.7.3-cp310-cp310-win32.whl", hash = "sha256:fcb72249ac4ea81a7baefcbff74df7029c3cb1cf01a711113fa052d563639c9c"}, {file = "librt-0.7.3-cp310-cp310-win_amd64.whl", hash = "sha256:4887c29cadbdc50640179e3861c276325ff2986791e6044f73136e6e798ff806"}, {file = "librt-0.7.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:687403cced6a29590e6be6964463835315905221d797bc5c934a98750fe1a9af"}, {file = "librt-0.7.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:24d70810f6e2ea853ff79338001533716b373cc0f63e2a0be5bc96129edb5fb5"}, {file = "librt-0.7.3-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:bf8c7735fbfc0754111f00edda35cf9e98a8d478de6c47b04eaa9cef4300eaa7"}, {file = "librt-0.7.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e32d43610dff472eab939f4d7fbdd240d1667794192690433672ae22d7af8445"}, {file = "librt-0.7.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:adeaa886d607fb02563c1f625cf2ee58778a2567c0c109378da8f17ec3076ad7"}, {file = "librt-0.7.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:572a24fc5958c61431da456a0ef1eeea6b4989d81eeb18b8e5f1f3077592200b"}, {file = "librt-0.7.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:6488e69d408b492e08bfb68f20c4a899a354b4386a446ecd490baff8d0862720"}, {file = "librt-0.7.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ed028fc3d41adda916320712838aec289956c89b4f0a361ceadf83a53b4c047a"}, {file = "librt-0.7.3-cp311-cp311-win32.whl", hash = "sha256:2cf9d73499486ce39eebbff5f42452518cc1f88d8b7ea4a711ab32962b176ee2"}, {file = "librt-0.7.3-cp311-cp311-win_amd64.whl", hash = "sha256:35f1609e3484a649bb80431310ddbec81114cd86648f1d9482bc72a3b86ded2e"}, {file = "librt-0.7.3-cp311-cp311-win_arm64.whl", hash = "sha256:550fdbfbf5bba6a2960b27376ca76d6aaa2bd4b1a06c4255edd8520c306fcfc0"}, {file = "librt-0.7.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0fa9ac2e49a6bee56e47573a6786cb635e128a7b12a0dc7851090037c0d397a3"}, {file = "librt-0.7.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2e980cf1ed1a2420a6424e2ed884629cdead291686f1048810a817de07b5eb18"}, {file = "librt-0.7.3-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e094e445c37c57e9ec612847812c301840239d34ccc5d153a982fa9814478c60"}, {file = "librt-0.7.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:aca73d70c3f553552ba9133d4a09e767dcfeee352d8d8d3eb3f77e38a3beb3ed"}, {file = "librt-0.7.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c634a0a6db395fdaba0361aa78395597ee72c3aad651b9a307a3a7eaf5efd67e"}, {file = "librt-0.7.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a59a69deeb458c858b8fea6acf9e2acd5d755d76cd81a655256bc65c20dfff5b"}, {file = "librt-0.7.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d91e60ac44bbe3a77a67af4a4c13114cbe9f6d540337ce22f2c9eaf7454ca71f"}, {file = "librt-0.7.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:703456146dc2bf430f7832fd1341adac5c893ec3c1430194fdcefba00012555c"}, {file = "librt-0.7.3-cp312-cp312-win32.whl", hash = "sha256:b7c1239b64b70be7759554ad1a86288220bbb04d68518b527783c4ad3fb4f80b"}, {file = "librt-0.7.3-cp312-cp312-win_amd64.whl", hash = "sha256:ef59c938f72bdbc6ab52dc50f81d0637fde0f194b02d636987cea2ab30f8f55a"}, {file = "librt-0.7.3-cp312-cp312-win_arm64.whl", hash = "sha256:ff21c554304e8226bf80c3a7754be27c6c3549a9fec563a03c06ee8f494da8fc"}, {file = "librt-0.7.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:56f2a47beda8409061bc1c865bef2d4bd9ff9255219402c0817e68ab5ad89aed"}, {file = "librt-0.7.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:14569ac5dd38cfccf0a14597a88038fb16811a6fede25c67b79c6d50fc2c8fdc"}, {file = "librt-0.7.3-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6038ccbd5968325a5d6fd393cf6e00b622a8de545f0994b89dd0f748dcf3e19e"}, {file = "librt-0.7.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d39079379a9a28e74f4d57dc6357fa310a1977b51ff12239d7271ec7e71d67f5"}, {file = "librt-0.7.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8837d5a52a2d7aa9f4c3220a8484013aed1d8ad75240d9a75ede63709ef89055"}, {file = "librt-0.7.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:399bbd7bcc1633c3e356ae274a1deb8781c7bf84d9c7962cc1ae0c6e87837292"}, {file = "librt-0.7.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:8d8cf653e798ee4c4e654062b633db36984a1572f68c3aa25e364a0ddfbbb910"}, {file = "librt-0.7.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2f03484b54bf4ae80ab2e504a8d99d20d551bfe64a7ec91e218010b467d77093"}, {file = "librt-0.7.3-cp313-cp313-win32.whl", hash = "sha256:44b3689b040df57f492e02cd4f0bacd1b42c5400e4b8048160c9d5e866de8abe"}, {file = "librt-0.7.3-cp313-cp313-win_amd64.whl", hash = "sha256:6b407c23f16ccc36614c136251d6b32bf30de7a57f8e782378f1107be008ddb0"}, {file = "librt-0.7.3-cp313-cp313-win_arm64.whl", hash = "sha256:abfc57cab3c53c4546aee31859ef06753bfc136c9d208129bad23e2eca39155a"}, {file = "librt-0.7.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:120dd21d46ff875e849f1aae19346223cf15656be489242fe884036b23d39e93"}, {file = "librt-0.7.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:1617bea5ab31266e152871208502ee943cb349c224846928a1173c864261375e"}, {file = "librt-0.7.3-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:93b2a1f325fefa1482516ced160c8c7b4b8d53226763fa6c93d151fa25164207"}, {file = "librt-0.7.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d4801db8354436fd3936531e7f0e4feb411f62433a6b6cb32bb416e20b529f"}, {file = "librt-0.7.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11ad45122bbed42cfc8b0597450660126ef28fd2d9ae1a219bc5af8406f95678"}, {file = "librt-0.7.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:6b4e7bff1d76dd2b46443078519dc75df1b5e01562345f0bb740cea5266d8218"}, {file = "librt-0.7.3-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:d86f94743a11873317094326456b23f8a5788bad9161fd2f0e52088c33564620"}, {file = "librt-0.7.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:754a0d09997095ad764ccef050dd5bf26cbf457aab9effcba5890dad081d879e"}, {file = "librt-0.7.3-cp314-cp314-win32.whl", hash = "sha256:fbd7351d43b80d9c64c3cfcb50008f786cc82cba0450e8599fdd64f264320bd3"}, {file = "librt-0.7.3-cp314-cp314-win_amd64.whl", hash = "sha256:d376a35c6561e81d2590506804b428fc1075fcc6298fc5bb49b771534c0ba010"}, {file = "librt-0.7.3-cp314-cp314-win_arm64.whl", hash = "sha256:cbdb3f337c88b43c3b49ca377731912c101178be91cb5071aac48faa898e6f8e"}, {file = "librt-0.7.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9f0e0927efe87cd42ad600628e595a1a0aa1c64f6d0b55f7e6059079a428641a"}, {file = "librt-0.7.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:020c6db391268bcc8ce75105cb572df8cb659a43fd347366aaa407c366e5117a"}, {file = "librt-0.7.3-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7af7785f5edd1f418da09a8cdb9ec84b0213e23d597413e06525340bcce1ea4f"}, {file = "librt-0.7.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8ccadf260bb46a61b9c7e89e2218f6efea9f3eeaaab4e3d1f58571890e54858e"}, {file = "librt-0.7.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d9883b2d819ce83f87ba82a746c81d14ada78784db431e57cc9719179847376e"}, {file = "librt-0.7.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:59cb0470612d21fa1efddfa0dd710756b50d9c7fb6c1236bbf8ef8529331dc70"}, {file = "librt-0.7.3-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:1fe603877e1865b5fd047a5e40379509a4a60204aa7aa0f72b16f7a41c3f0712"}, {file = "librt-0.7.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5460d99ed30f043595bbdc888f542bad2caeb6226b01c33cda3ae444e8f82d42"}, {file = "librt-0.7.3-cp314-cp314t-win32.whl", hash = "sha256:d09f677693328503c9e492e33e9601464297c01f9ebd966ea8fc5308f3069bfd"}, {file = "librt-0.7.3-cp314-cp314t-win_amd64.whl", hash = "sha256:25711f364c64cab2c910a0247e90b51421e45dbc8910ceeb4eac97a9e132fc6f"}, {file = "librt-0.7.3-cp314-cp314t-win_arm64.whl", hash = "sha256:a9f9b661f82693eb56beb0605156c7fca57f535704ab91837405913417d6990b"}, {file = "librt-0.7.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:cd8551aa21df6c60baa2624fd086ae7486bdde00c44097b32e1d1b1966e365e0"}, {file = "librt-0.7.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6eb9295c730e26b849ed1f4022735f36863eb46b14b6e10604c1c39b8b5efaea"}, {file = "librt-0.7.3-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3edbf257c40d21a42615e9e332a6b10a8bacaaf58250aed8552a14a70efd0d65"}, {file = "librt-0.7.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b29e97273bd6999e2bfe9fe3531b1f4f64effd28327bced048a33e49b99674a"}, {file = "librt-0.7.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e40520c37926166c24d0c2e0f3bc3a5f46646c34bdf7b4ea9747c297d6ee809"}, {file = "librt-0.7.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:6bdd9adfca615903578d2060ee8a6eb1c24eaf54919ff0ddc820118e5718931b"}, {file = "librt-0.7.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:f57aca20e637750a2c18d979f7096e2c2033cc40cf7ed201494318de1182f135"}, {file = "librt-0.7.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:cad9971881e4fec00d96af7eaf4b63aa7a595696fc221808b0d3ce7ca9743258"}, {file = "librt-0.7.3-cp39-cp39-win32.whl", hash = "sha256:170cdb8436188347af17bf9cccf3249ba581c933ed56d926497119d4cf730cec"}, {file = "librt-0.7.3-cp39-cp39-win_amd64.whl", hash = "sha256:b278a9248a4e3260fee3db7613772ca9ab6763a129d6d6f29555e2f9b168216d"}, {file = "librt-0.7.3.tar.gz", hash = "sha256:3ec50cf65235ff5c02c5b747748d9222e564ad48597122a361269dd3aa808798"}, ] [[package]] name = "mashumaro" version = "3.17" description = "Fast and well tested serialization library" optional = false python-versions = ">=3.9" files = [ {file = "mashumaro-3.17-py3-none-any.whl", hash = "sha256:3964e2c804f62de9e4c58fb985de71dcd716f9507cc18374b1bd5c4f1a1b879b"}, {file = "mashumaro-3.17.tar.gz", hash = "sha256:de1d8b1faffee58969c7f97e35963a92480a38d4c9858e92e0721efec12258ed"}, ] [package.dependencies] typing_extensions = ">=4.14.0" [package.extras] msgpack = ["msgpack (>=0.5.6)"] orjson = ["orjson"] toml = ["tomli (>=1.1.0)", "tomli-w (>=1.0)"] yaml = ["pyyaml (>=3.13)"] [[package]] name = "mccabe" version = "0.7.0" description = "McCabe checker, plugin for flake8" optional = false python-versions = ">=3.6" files = [ {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, ] [[package]] name = "multidict" version = "6.7.0" description = "multidict implementation" optional = false python-versions = ">=3.9" files = [ {file = "multidict-6.7.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9f474ad5acda359c8758c8accc22032c6abe6dc87a8be2440d097785e27a9349"}, {file = "multidict-6.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b7a9db5a870f780220e931d0002bbfd88fb53aceb6293251e2c839415c1b20e"}, {file = "multidict-6.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:03ca744319864e92721195fa28c7a3b2bc7b686246b35e4078c1e4d0eb5466d3"}, {file = "multidict-6.7.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f0e77e3c0008bc9316e662624535b88d360c3a5d3f81e15cf12c139a75250046"}, {file = "multidict-6.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08325c9e5367aa379a3496aa9a022fe8837ff22e00b94db256d3a1378c76ab32"}, {file = "multidict-6.7.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e2862408c99f84aa571ab462d25236ef9cb12a602ea959ba9c9009a54902fc73"}, {file = "multidict-6.7.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4d72a9a2d885f5c208b0cb91ff2ed43636bb7e345ec839ff64708e04f69a13cc"}, {file = "multidict-6.7.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:478cc36476687bac1514d651cbbaa94b86b0732fb6855c60c673794c7dd2da62"}, {file = "multidict-6.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6843b28b0364dc605f21481c90fadb5f60d9123b442eb8a726bb74feef588a84"}, {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23bfeee5316266e5ee2d625df2d2c602b829435fc3a235c2ba2131495706e4a0"}, {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:680878b9f3d45c31e1f730eef731f9b0bc1da456155688c6745ee84eb818e90e"}, {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:eb866162ef2f45063acc7a53a88ef6fe8bf121d45c30ea3c9cd87ce7e191a8d4"}, {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:df0e3bf7993bdbeca5ac25aa859cf40d39019e015c9c91809ba7093967f7a648"}, {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:661709cdcd919a2ece2234f9bae7174e5220c80b034585d7d8a755632d3e2111"}, {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:096f52730c3fb8ed419db2d44391932b63891b2c5ed14850a7e215c0ba9ade36"}, {file = "multidict-6.7.0-cp310-cp310-win32.whl", hash = "sha256:afa8a2978ec65d2336305550535c9c4ff50ee527914328c8677b3973ade52b85"}, {file = "multidict-6.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:b15b3afff74f707b9275d5ba6a91ae8f6429c3ffb29bbfd216b0b375a56f13d7"}, {file = "multidict-6.7.0-cp310-cp310-win_arm64.whl", hash = "sha256:4b73189894398d59131a66ff157837b1fafea9974be486d036bb3d32331fdbf0"}, {file = "multidict-6.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4d409aa42a94c0b3fa617708ef5276dfe81012ba6753a0370fcc9d0195d0a1fc"}, {file = "multidict-6.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14c9e076eede3b54c636f8ce1c9c252b5f057c62131211f0ceeec273810c9721"}, {file = "multidict-6.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c09703000a9d0fa3c3404b27041e574cc7f4df4c6563873246d0e11812a94b6"}, {file = "multidict-6.7.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a265acbb7bb33a3a2d626afbe756371dce0279e7b17f4f4eda406459c2b5ff1c"}, {file = "multidict-6.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51cb455de290ae462593e5b1cb1118c5c22ea7f0d3620d9940bf695cea5a4bd7"}, {file = "multidict-6.7.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:db99677b4457c7a5c5a949353e125ba72d62b35f74e26da141530fbb012218a7"}, {file = "multidict-6.7.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f470f68adc395e0183b92a2f4689264d1ea4b40504a24d9882c27375e6662bb9"}, {file = "multidict-6.7.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0db4956f82723cc1c270de9c6e799b4c341d327762ec78ef82bb962f79cc07d8"}, {file = "multidict-6.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e56d780c238f9e1ae66a22d2adf8d16f485381878250db8d496623cd38b22bd"}, {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9d14baca2ee12c1a64740d4531356ba50b82543017f3ad6de0deb943c5979abb"}, {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:295a92a76188917c7f99cda95858c822f9e4aae5824246bba9b6b44004ddd0a6"}, {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:39f1719f57adbb767ef592a50ae5ebb794220d1188f9ca93de471336401c34d2"}, {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:0a13fb8e748dfc94749f622de065dd5c1def7e0d2216dba72b1d8069a389c6ff"}, {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e3aa16de190d29a0ea1b48253c57d99a68492c8dd8948638073ab9e74dc9410b"}, {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a048ce45dcdaaf1defb76b2e684f997fb5abf74437b6cb7b22ddad934a964e34"}, {file = "multidict-6.7.0-cp311-cp311-win32.whl", hash = "sha256:a90af66facec4cebe4181b9e62a68be65e45ac9b52b67de9eec118701856e7ff"}, {file = "multidict-6.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:95b5ffa4349df2887518bb839409bcf22caa72d82beec453216802f475b23c81"}, {file = "multidict-6.7.0-cp311-cp311-win_arm64.whl", hash = "sha256:329aa225b085b6f004a4955271a7ba9f1087e39dcb7e65f6284a988264a63912"}, {file = "multidict-6.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8a3862568a36d26e650a19bb5cbbba14b71789032aebc0423f8cc5f150730184"}, {file = "multidict-6.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:960c60b5849b9b4f9dcc9bea6e3626143c252c74113df2c1540aebce70209b45"}, {file = "multidict-6.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2049be98fb57a31b4ccf870bf377af2504d4ae35646a19037ec271e4c07998aa"}, {file = "multidict-6.7.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0934f3843a1860dd465d38895c17fce1f1cb37295149ab05cd1b9a03afacb2a7"}, {file = "multidict-6.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3e34f3a1b8131ba06f1a73adab24f30934d148afcd5f5de9a73565a4404384e"}, {file = "multidict-6.7.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:efbb54e98446892590dc2458c19c10344ee9a883a79b5cec4bc34d6656e8d546"}, {file = "multidict-6.7.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a35c5fc61d4f51eb045061e7967cfe3123d622cd500e8868e7c0c592a09fedc4"}, {file = "multidict-6.7.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29fe6740ebccba4175af1b9b87bf553e9c15cd5868ee967e010efcf94e4fd0f1"}, {file = "multidict-6.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:123e2a72e20537add2f33a79e605f6191fba2afda4cbb876e35c1a7074298a7d"}, {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b284e319754366c1aee2267a2036248b24eeb17ecd5dc16022095e747f2f4304"}, {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:803d685de7be4303b5a657b76e2f6d1240e7e0a8aa2968ad5811fa2285553a12"}, {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c04a328260dfd5db8c39538f999f02779012268f54614902d0afc775d44e0a62"}, {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8a19cdb57cd3df4cd865849d93ee14920fb97224300c88501f16ecfa2604b4e0"}, {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b2fd74c52accced7e75de26023b7dccee62511a600e62311b918ec5c168fc2a"}, {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3e8bfdd0e487acf992407a140d2589fe598238eaeffa3da8448d63a63cd363f8"}, {file = "multidict-6.7.0-cp312-cp312-win32.whl", hash = "sha256:dd32a49400a2c3d52088e120ee00c1e3576cbff7e10b98467962c74fdb762ed4"}, {file = "multidict-6.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:92abb658ef2d7ef22ac9f8bb88e8b6c3e571671534e029359b6d9e845923eb1b"}, {file = "multidict-6.7.0-cp312-cp312-win_arm64.whl", hash = "sha256:490dab541a6a642ce1a9d61a4781656b346a55c13038f0b1244653828e3a83ec"}, {file = "multidict-6.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bee7c0588aa0076ce77c0ea5d19a68d76ad81fcd9fe8501003b9a24f9d4000f6"}, {file = "multidict-6.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7ef6b61cad77091056ce0e7ce69814ef72afacb150b7ac6a3e9470def2198159"}, {file = "multidict-6.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c0359b1ec12b1d6849c59f9d319610b7f20ef990a6d454ab151aa0e3b9f78ca"}, {file = "multidict-6.7.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cd240939f71c64bd658f186330603aac1a9a81bf6273f523fca63673cb7378a8"}, {file = "multidict-6.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60a4d75718a5efa473ebd5ab685786ba0c67b8381f781d1be14da49f1a2dc60"}, {file = "multidict-6.7.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53a42d364f323275126aff81fb67c5ca1b7a04fda0546245730a55c8c5f24bc4"}, {file = "multidict-6.7.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3b29b980d0ddbecb736735ee5bef69bb2ddca56eff603c86f3f29a1128299b4f"}, {file = "multidict-6.7.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8a93b1c0ed2d04b97a5e9336fd2d33371b9a6e29ab7dd6503d63407c20ffbaf"}, {file = "multidict-6.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ff96e8815eecacc6645da76c413eb3b3d34cfca256c70b16b286a687d013c32"}, {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7516c579652f6a6be0e266aec0acd0db80829ca305c3d771ed898538804c2036"}, {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:040f393368e63fb0f3330e70c26bfd336656bed925e5cbe17c9da839a6ab13ec"}, {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b3bc26a951007b1057a1c543af845f1c7e3e71cc240ed1ace7bf4484aa99196e"}, {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7b022717c748dd1992a83e219587aabe45980d88969f01b316e78683e6285f64"}, {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:9600082733859f00d79dee64effc7aef1beb26adb297416a4ad2116fd61374bd"}, {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:94218fcec4d72bc61df51c198d098ce2b378e0ccbac41ddbed5ef44092913288"}, {file = "multidict-6.7.0-cp313-cp313-win32.whl", hash = "sha256:a37bd74c3fa9d00be2d7b8eca074dc56bd8077ddd2917a839bd989612671ed17"}, {file = "multidict-6.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:30d193c6cc6d559db42b6bcec8a5d395d34d60c9877a0b71ecd7c204fcf15390"}, {file = "multidict-6.7.0-cp313-cp313-win_arm64.whl", hash = "sha256:ea3334cabe4d41b7ccd01e4d349828678794edbc2d3ae97fc162a3312095092e"}, {file = "multidict-6.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ad9ce259f50abd98a1ca0aa6e490b58c316a0fce0617f609723e40804add2c00"}, {file = "multidict-6.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07f5594ac6d084cbb5de2df218d78baf55ef150b91f0ff8a21cc7a2e3a5a58eb"}, {file = "multidict-6.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0591b48acf279821a579282444814a2d8d0af624ae0bc600aa4d1b920b6e924b"}, {file = "multidict-6.7.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:749a72584761531d2b9467cfbdfd29487ee21124c304c4b6cb760d8777b27f9c"}, {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b4c3d199f953acd5b446bf7c0de1fe25d94e09e79086f8dc2f48a11a129cdf1"}, {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9fb0211dfc3b51efea2f349ec92c114d7754dd62c01f81c3e32b765b70c45c9b"}, {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a027ec240fe73a8d6281872690b988eed307cd7d91b23998ff35ff577ca688b5"}, {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1d964afecdf3a8288789df2f5751dc0a8261138c3768d9af117ed384e538fad"}, {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caf53b15b1b7df9fbd0709aa01409000a2b4dd03a5f6f5cc548183c7c8f8b63c"}, {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:654030da3197d927f05a536a66186070e98765aa5142794c9904555d3a9d8fb5"}, {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:2090d3718829d1e484706a2f525e50c892237b2bf9b17a79b059cb98cddc2f10"}, {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2d2cfeec3f6f45651b3d408c4acec0ebf3daa9bc8a112a084206f5db5d05b754"}, {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:4ef089f985b8c194d341eb2c24ae6e7408c9a0e2e5658699c92f497437d88c3c"}, {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e93a0617cd16998784bf4414c7e40f17a35d2350e5c6f0bd900d3a8e02bd3762"}, {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f0feece2ef8ebc42ed9e2e8c78fc4aa3cf455733b507c09ef7406364c94376c6"}, {file = "multidict-6.7.0-cp313-cp313t-win32.whl", hash = "sha256:19a1d55338ec1be74ef62440ca9e04a2f001a04d0cc49a4983dc320ff0f3212d"}, {file = "multidict-6.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3da4fb467498df97e986af166b12d01f05d2e04f978a9c1c680ea1988e0bc4b6"}, {file = "multidict-6.7.0-cp313-cp313t-win_arm64.whl", hash = "sha256:b4121773c49a0776461f4a904cdf6264c88e42218aaa8407e803ca8025872792"}, {file = "multidict-6.7.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842"}, {file = "multidict-6.7.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b"}, {file = "multidict-6.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38"}, {file = "multidict-6.7.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128"}, {file = "multidict-6.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34"}, {file = "multidict-6.7.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99"}, {file = "multidict-6.7.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202"}, {file = "multidict-6.7.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1"}, {file = "multidict-6.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3"}, {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d"}, {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6"}, {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7"}, {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb"}, {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f"}, {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f"}, {file = "multidict-6.7.0-cp314-cp314-win32.whl", hash = "sha256:fbafe31d191dfa7c4c51f7a6149c9fb7e914dcf9ffead27dcfd9f1ae382b3885"}, {file = "multidict-6.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:2f67396ec0310764b9222a1728ced1ab638f61aadc6226f17a71dd9324f9a99c"}, {file = "multidict-6.7.0-cp314-cp314-win_arm64.whl", hash = "sha256:ba672b26069957ee369cfa7fc180dde1fc6f176eaf1e6beaf61fbebbd3d9c000"}, {file = "multidict-6.7.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63"}, {file = "multidict-6.7.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718"}, {file = "multidict-6.7.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2"}, {file = "multidict-6.7.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e"}, {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064"}, {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e"}, {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd"}, {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a"}, {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96"}, {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e"}, {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599"}, {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394"}, {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38"}, {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9"}, {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0"}, {file = "multidict-6.7.0-cp314-cp314t-win32.whl", hash = "sha256:b2d7f80c4e1fd010b07cb26820aae86b7e73b681ee4889684fb8d2d4537aab13"}, {file = "multidict-6.7.0-cp314-cp314t-win_amd64.whl", hash = "sha256:09929cab6fcb68122776d575e03c6cc64ee0b8fca48d17e135474b042ce515cd"}, {file = "multidict-6.7.0-cp314-cp314t-win_arm64.whl", hash = "sha256:cc41db090ed742f32bd2d2c721861725e6109681eddf835d0a82bd3a5c382827"}, {file = "multidict-6.7.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:363eb68a0a59bd2303216d2346e6c441ba10d36d1f9969fcb6f1ba700de7bb5c"}, {file = "multidict-6.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d874eb056410ca05fed180b6642e680373688efafc7f077b2a2f61811e873a40"}, {file = "multidict-6.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b55d5497b51afdfde55925e04a022f1de14d4f4f25cdfd4f5d9b0aa96166851"}, {file = "multidict-6.7.0-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f8e5c0031b90ca9ce555e2e8fd5c3b02a25f14989cbc310701823832c99eb687"}, {file = "multidict-6.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cf41880c991716f3c7cec48e2f19ae4045fc9db5fc9cff27347ada24d710bb5"}, {file = "multidict-6.7.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8cfc12a8630a29d601f48d47787bd7eb730e475e83edb5d6c5084317463373eb"}, {file = "multidict-6.7.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3996b50c3237c4aec17459217c1e7bbdead9a22a0fcd3c365564fbd16439dde6"}, {file = "multidict-6.7.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7f5170993a0dd3ab871c74f45c0a21a4e2c37a2f2b01b5f722a2ad9c6650469e"}, {file = "multidict-6.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ec81878ddf0e98817def1e77d4f50dae5ef5b0e4fe796fae3bd674304172416e"}, {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9281bf5b34f59afbc6b1e477a372e9526b66ca446f4bf62592839c195a718b32"}, {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:68af405971779d8b37198726f2b6fe3955db846fee42db7a4286fc542203934c"}, {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3ba3ef510467abb0667421a286dc906e30eb08569365f5cdb131d7aff7c2dd84"}, {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b61189b29081a20c7e4e0b49b44d5d44bb0dc92be3c6d06a11cc043f81bf9329"}, {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fb287618b9c7aa3bf8d825f02d9201b2f13078a5ed3b293c8f4d953917d84d5e"}, {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:521f33e377ff64b96c4c556b81c55d0cfffb96a11c194fd0c3f1e56f3d8dd5a4"}, {file = "multidict-6.7.0-cp39-cp39-win32.whl", hash = "sha256:ce8fdc2dca699f8dbf055a61d73eaa10482569ad20ee3c36ef9641f69afa8c91"}, {file = "multidict-6.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:7e73299c99939f089dd9b2120a04a516b95cdf8c1cd2b18c53ebf0de80b1f18f"}, {file = "multidict-6.7.0-cp39-cp39-win_arm64.whl", hash = "sha256:6bdce131e14b04fd34a809b6380dbfd826065c3e2fe8a50dbae659fa0c390546"}, {file = "multidict-6.7.0-py3-none-any.whl", hash = "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3"}, {file = "multidict-6.7.0.tar.gz", hash = "sha256:c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5"}, ] [[package]] name = "mypy" version = "1.19.0" description = "Optional static typing for Python" optional = false python-versions = ">=3.9" files = [ {file = "mypy-1.19.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:6148ede033982a8c5ca1143de34c71836a09f105068aaa8b7d5edab2b053e6c8"}, {file = "mypy-1.19.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a9ac09e52bb0f7fb912f5d2a783345c72441a08ef56ce3e17c1752af36340a39"}, {file = "mypy-1.19.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:11f7254c15ab3f8ed68f8e8f5cbe88757848df793e31c36aaa4d4f9783fd08ab"}, {file = "mypy-1.19.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:318ba74f75899b0e78b847d8c50821e4c9637c79d9a59680fc1259f29338cb3e"}, {file = "mypy-1.19.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cf7d84f497f78b682edd407f14a7b6e1a2212b433eedb054e2081380b7395aa3"}, {file = "mypy-1.19.0-cp310-cp310-win_amd64.whl", hash = "sha256:c3385246593ac2b97f155a0e9639be906e73534630f663747c71908dfbf26134"}, {file = "mypy-1.19.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a31e4c28e8ddb042c84c5e977e28a21195d086aaffaf08b016b78e19c9ef8106"}, {file = "mypy-1.19.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:34ec1ac66d31644f194b7c163d7f8b8434f1b49719d403a5d26c87fff7e913f7"}, {file = "mypy-1.19.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cb64b0ba5980466a0f3f9990d1c582bcab8db12e29815ecb57f1408d99b4bff7"}, {file = "mypy-1.19.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:120cffe120cca5c23c03c77f84abc0c14c5d2e03736f6c312480020082f1994b"}, {file = "mypy-1.19.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7a500ab5c444268a70565e374fc803972bfd1f09545b13418a5174e29883dab7"}, {file = "mypy-1.19.0-cp311-cp311-win_amd64.whl", hash = "sha256:c14a98bc63fd867530e8ec82f217dae29d0550c86e70debc9667fff1ec83284e"}, {file = "mypy-1.19.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:0fb3115cb8fa7c5f887c8a8d81ccdcb94cff334684980d847e5a62e926910e1d"}, {file = "mypy-1.19.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f3e19e3b897562276bb331074d64c076dbdd3e79213f36eed4e592272dabd760"}, {file = "mypy-1.19.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9d491295825182fba01b6ffe2c6fe4e5a49dbf4e2bb4d1217b6ced3b4797bc6"}, {file = "mypy-1.19.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6016c52ab209919b46169651b362068f632efcd5eb8ef9d1735f6f86da7853b2"}, {file = "mypy-1.19.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f188dcf16483b3e59f9278c4ed939ec0254aa8a60e8fc100648d9ab5ee95a431"}, {file = "mypy-1.19.0-cp312-cp312-win_amd64.whl", hash = "sha256:0e3c3d1e1d62e678c339e7ade72746a9e0325de42cd2cccc51616c7b2ed1a018"}, {file = "mypy-1.19.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7686ed65dbabd24d20066f3115018d2dce030d8fa9db01aa9f0a59b6813e9f9e"}, {file = "mypy-1.19.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fd4a985b2e32f23bead72e2fb4bbe5d6aceee176be471243bd831d5b2644672d"}, {file = "mypy-1.19.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fc51a5b864f73a3a182584b1ac75c404396a17eced54341629d8bdcb644a5bba"}, {file = "mypy-1.19.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:37af5166f9475872034b56c5efdcf65ee25394e9e1d172907b84577120714364"}, {file = "mypy-1.19.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:510c014b722308c9bd377993bcbf9a07d7e0692e5fa8fc70e639c1eb19fc6bee"}, {file = "mypy-1.19.0-cp313-cp313-win_amd64.whl", hash = "sha256:cabbee74f29aa9cd3b444ec2f1e4fa5a9d0d746ce7567a6a609e224429781f53"}, {file = "mypy-1.19.0-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:f2e36bed3c6d9b5f35d28b63ca4b727cb0228e480826ffc8953d1892ddc8999d"}, {file = "mypy-1.19.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a18d8abdda14035c5718acb748faec09571432811af129bf0d9e7b2d6699bf18"}, {file = "mypy-1.19.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f75e60aca3723a23511948539b0d7ed514dda194bc3755eae0bfc7a6b4887aa7"}, {file = "mypy-1.19.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8f44f2ae3c58421ee05fe609160343c25f70e3967f6e32792b5a78006a9d850f"}, {file = "mypy-1.19.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:63ea6a00e4bd6822adbfc75b02ab3653a17c02c4347f5bb0cf1d5b9df3a05835"}, {file = "mypy-1.19.0-cp314-cp314-win_amd64.whl", hash = "sha256:3ad925b14a0bb99821ff6f734553294aa6a3440a8cb082fe1f5b84dfb662afb1"}, {file = "mypy-1.19.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:0dde5cb375cb94deff0d4b548b993bec52859d1651e073d63a1386d392a95495"}, {file = "mypy-1.19.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1cf9c59398db1c68a134b0b5354a09a1e124523f00bacd68e553b8bd16ff3299"}, {file = "mypy-1.19.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3210d87b30e6af9c8faed61be2642fcbe60ef77cec64fa1ef810a630a4cf671c"}, {file = "mypy-1.19.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2c1101ab41d01303103ab6ef82cbbfedb81c1a060c868fa7cc013d573d37ab5"}, {file = "mypy-1.19.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0ea4fd21bb48f0da49e6d3b37ef6bd7e8228b9fe41bbf4d80d9364d11adbd43c"}, {file = "mypy-1.19.0-cp39-cp39-win_amd64.whl", hash = "sha256:16f76ff3f3fd8137aadf593cb4607d82634fca675e8211ad75c43d86033ee6c6"}, {file = "mypy-1.19.0-py3-none-any.whl", hash = "sha256:0c01c99d626380752e527d5ce8e69ffbba2046eb8a060db0329690849cf9b6f9"}, {file = "mypy-1.19.0.tar.gz", hash = "sha256:f6b874ca77f733222641e5c46e4711648c4037ea13646fd0cdc814c2eaec2528"}, ] [package.dependencies] librt = ">=0.6.2" mypy_extensions = ">=1.0.0" pathspec = ">=0.9.0" typing_extensions = ">=4.6.0" [package.extras] dmypy = ["psutil (>=4.0)"] faster-cache = ["orjson"] install-types = ["pip"] mypyc = ["setuptools (>=50)"] reports = ["lxml"] [[package]] name = "mypy-extensions" version = "1.1.0" description = "Type system extensions for programs checked with the mypy type checker." optional = false python-versions = ">=3.8" files = [ {file = "mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505"}, {file = "mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558"}, ] [[package]] name = "nodeenv" version = "1.9.1" description = "Node.js virtual environment builder" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" files = [ {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, ] [[package]] name = "orjson" version = "3.11.5" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = false python-versions = ">=3.9" files = [ {file = "orjson-3.11.5-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:df9eadb2a6386d5ea2bfd81309c505e125cfc9ba2b1b99a97e60985b0b3665d1"}, {file = "orjson-3.11.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ccc70da619744467d8f1f49a8cadae5ec7bbe054e5232d95f92ed8737f8c5870"}, {file = "orjson-3.11.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:073aab025294c2f6fc0807201c76fdaed86f8fc4be52c440fb78fbb759a1ac09"}, {file = "orjson-3.11.5-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:835f26fa24ba0bb8c53ae2a9328d1706135b74ec653ed933869b74b6909e63fd"}, {file = "orjson-3.11.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:667c132f1f3651c14522a119e4dd631fad98761fa960c55e8e7430bb2a1ba4ac"}, {file = "orjson-3.11.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:42e8961196af655bb5e63ce6c60d25e8798cd4dfbc04f4203457fa3869322c2e"}, {file = "orjson-3.11.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75412ca06e20904c19170f8a24486c4e6c7887dea591ba18a1ab572f1300ee9f"}, {file = "orjson-3.11.5-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:6af8680328c69e15324b5af3ae38abbfcf9cbec37b5346ebfd52339c3d7e8a18"}, {file = "orjson-3.11.5-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a86fe4ff4ea523eac8f4b57fdac319faf037d3c1be12405e6a7e86b3fbc4756a"}, {file = "orjson-3.11.5-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e607b49b1a106ee2086633167033afbd63f76f2999e9236f638b06b112b24ea7"}, {file = "orjson-3.11.5-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:7339f41c244d0eea251637727f016b3d20050636695bc78345cce9029b189401"}, {file = "orjson-3.11.5-cp310-cp310-win32.whl", hash = "sha256:8be318da8413cdbbce77b8c5fac8d13f6eb0f0db41b30bb598631412619572e8"}, {file = "orjson-3.11.5-cp310-cp310-win_amd64.whl", hash = "sha256:b9f86d69ae822cabc2a0f6c099b43e8733dda788405cba2665595b7e8dd8d167"}, {file = "orjson-3.11.5-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9c8494625ad60a923af6b2b0bd74107146efe9b55099e20d7740d995f338fcd8"}, {file = "orjson-3.11.5-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:7bb2ce0b82bc9fd1168a513ddae7a857994b780b2945a8c51db4ab1c4b751ebc"}, {file = "orjson-3.11.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67394d3becd50b954c4ecd24ac90b5051ee7c903d167459f93e77fc6f5b4c968"}, {file = "orjson-3.11.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:298d2451f375e5f17b897794bcc3e7b821c0f32b4788b9bcae47ada24d7f3cf7"}, {file = "orjson-3.11.5-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aa5e4244063db8e1d87e0f54c3f7522f14b2dc937e65d5241ef0076a096409fd"}, {file = "orjson-3.11.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1db2088b490761976c1b2e956d5d4e6409f3732e9d79cfa69f876c5248d1baf9"}, {file = "orjson-3.11.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c2ed66358f32c24e10ceea518e16eb3549e34f33a9d51f99ce23b0251776a1ef"}, {file = "orjson-3.11.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2021afda46c1ed64d74b555065dbd4c2558d510d8cec5ea6a53001b3e5e82a9"}, {file = "orjson-3.11.5-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b42ffbed9128e547a1647a3e50bc88ab28ae9daa61713962e0d3dd35e820c125"}, {file = "orjson-3.11.5-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:8d5f16195bb671a5dd3d1dbea758918bada8f6cc27de72bd64adfbd748770814"}, {file = "orjson-3.11.5-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:c0e5d9f7a0227df2927d343a6e3859bebf9208b427c79bd31949abcc2fa32fa5"}, {file = "orjson-3.11.5-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:23d04c4543e78f724c4dfe656b3791b5f98e4c9253e13b2636f1af5d90e4a880"}, {file = "orjson-3.11.5-cp311-cp311-win32.whl", hash = "sha256:c404603df4865f8e0afe981aa3c4b62b406e6d06049564d58934860b62b7f91d"}, {file = "orjson-3.11.5-cp311-cp311-win_amd64.whl", hash = "sha256:9645ef655735a74da4990c24ffbd6894828fbfa117bc97c1edd98c282ecb52e1"}, {file = "orjson-3.11.5-cp311-cp311-win_arm64.whl", hash = "sha256:1cbf2735722623fcdee8e712cbaaab9e372bbcb0c7924ad711b261c2eccf4a5c"}, {file = "orjson-3.11.5-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:334e5b4bff9ad101237c2d799d9fd45737752929753bf4faf4b207335a416b7d"}, {file = "orjson-3.11.5-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:ff770589960a86eae279f5d8aa536196ebda8273a2a07db2a54e82b93bc86626"}, {file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ed24250e55efbcb0b35bed7caaec8cedf858ab2f9f2201f17b8938c618c8ca6f"}, {file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a66d7769e98a08a12a139049aac2f0ca3adae989817f8c43337455fbc7669b85"}, {file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86cfc555bfd5794d24c6a1903e558b50644e5e68e6471d66502ce5cb5fdef3f9"}, {file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a230065027bc2a025e944f9d4714976a81e7ecfa940923283bca7bbc1f10f626"}, {file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b29d36b60e606df01959c4b982729c8845c69d1963f88686608be9ced96dbfaa"}, {file = "orjson-3.11.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c74099c6b230d4261fdc3169d50efc09abf38ace1a42ea2f9994b1d79153d477"}, {file = "orjson-3.11.5-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e697d06ad57dd0c7a737771d470eedc18e68dfdefcdd3b7de7f33dfda5b6212e"}, {file = "orjson-3.11.5-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e08ca8a6c851e95aaecc32bc44a5aa75d0ad26af8cdac7c77e4ed93acf3d5b69"}, {file = "orjson-3.11.5-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e8b5f96c05fce7d0218df3fdfeb962d6b8cfff7e3e20264306b46dd8b217c0f3"}, {file = "orjson-3.11.5-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ddbfdb5099b3e6ba6d6ea818f61997bb66de14b411357d24c4612cf1ebad08ca"}, {file = "orjson-3.11.5-cp312-cp312-win32.whl", hash = "sha256:9172578c4eb09dbfcf1657d43198de59b6cef4054de385365060ed50c458ac98"}, {file = "orjson-3.11.5-cp312-cp312-win_amd64.whl", hash = "sha256:2b91126e7b470ff2e75746f6f6ee32b9ab67b7a93c8ba1d15d3a0caaf16ec875"}, {file = "orjson-3.11.5-cp312-cp312-win_arm64.whl", hash = "sha256:acbc5fac7e06777555b0722b8ad5f574739e99ffe99467ed63da98f97f9ca0fe"}, {file = "orjson-3.11.5-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:3b01799262081a4c47c035dd77c1301d40f568f77cc7ec1bb7db5d63b0a01629"}, {file = "orjson-3.11.5-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:61de247948108484779f57a9f406e4c84d636fa5a59e411e6352484985e8a7c3"}, {file = "orjson-3.11.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:894aea2e63d4f24a7f04a1908307c738d0dce992e9249e744b8f4e8dd9197f39"}, {file = "orjson-3.11.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ddc21521598dbe369d83d4d40338e23d4101dad21dae0e79fa20465dbace019f"}, {file = "orjson-3.11.5-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7cce16ae2f5fb2c53c3eafdd1706cb7b6530a67cc1c17abe8ec747f5cd7c0c51"}, {file = "orjson-3.11.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e46c762d9f0e1cfb4ccc8515de7f349abbc95b59cb5a2bd68df5973fdef913f8"}, {file = "orjson-3.11.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d7345c759276b798ccd6d77a87136029e71e66a8bbf2d2755cbdde1d82e78706"}, {file = "orjson-3.11.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75bc2e59e6a2ac1dd28901d07115abdebc4563b5b07dd612bf64260a201b1c7f"}, {file = "orjson-3.11.5-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:54aae9b654554c3b4edd61896b978568c6daa16af96fa4681c9b5babd469f863"}, {file = "orjson-3.11.5-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4bdd8d164a871c4ec773f9de0f6fe8769c2d6727879c37a9666ba4183b7f8228"}, {file = "orjson-3.11.5-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a261fef929bcf98a60713bf5e95ad067cea16ae345d9a35034e73c3990e927d2"}, {file = "orjson-3.11.5-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:c028a394c766693c5c9909dec76b24f37e6a1b91999e8d0c0d5feecbe93c3e05"}, {file = "orjson-3.11.5-cp313-cp313-win32.whl", hash = "sha256:2cc79aaad1dfabe1bd2d50ee09814a1253164b3da4c00a78c458d82d04b3bdef"}, {file = "orjson-3.11.5-cp313-cp313-win_amd64.whl", hash = "sha256:ff7877d376add4e16b274e35a3f58b7f37b362abf4aa31863dadacdd20e3a583"}, {file = "orjson-3.11.5-cp313-cp313-win_arm64.whl", hash = "sha256:59ac72ea775c88b163ba8d21b0177628bd015c5dd060647bbab6e22da3aad287"}, {file = "orjson-3.11.5-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:e446a8ea0a4c366ceafc7d97067bfd55292969143b57e3c846d87fc701e797a0"}, {file = "orjson-3.11.5-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:53deb5addae9c22bbe3739298f5f2196afa881ea75944e7720681c7080909a81"}, {file = "orjson-3.11.5-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:82cd00d49d6063d2b8791da5d4f9d20539c5951f965e45ccf4e96d33505ce68f"}, {file = "orjson-3.11.5-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3fd15f9fc8c203aeceff4fda211157fad114dde66e92e24097b3647a08f4ee9e"}, {file = "orjson-3.11.5-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9df95000fbe6777bf9820ae82ab7578e8662051bb5f83d71a28992f539d2cda7"}, {file = "orjson-3.11.5-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:92a8d676748fca47ade5bc3da7430ed7767afe51b2f8100e3cd65e151c0eaceb"}, {file = "orjson-3.11.5-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aa0f513be38b40234c77975e68805506cad5d57b3dfd8fe3baa7f4f4051e15b4"}, {file = "orjson-3.11.5-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa1863e75b92891f553b7922ce4ee10ed06db061e104f2b7815de80cdcb135ad"}, {file = "orjson-3.11.5-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4be86b58e9ea262617b8ca6251a2f0d63cc132a6da4b5fcc8e0a4128782c829"}, {file = "orjson-3.11.5-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:b923c1c13fa02084eb38c9c065afd860a5cff58026813319a06949c3af5732ac"}, {file = "orjson-3.11.5-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:1b6bd351202b2cd987f35a13b5e16471cf4d952b42a73c391cc537974c43ef6d"}, {file = "orjson-3.11.5-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:bb150d529637d541e6af06bbe3d02f5498d628b7f98267ff87647584293ab439"}, {file = "orjson-3.11.5-cp314-cp314-win32.whl", hash = "sha256:9cc1e55c884921434a84a0c3dd2699eb9f92e7b441d7f53f3941079ec6ce7499"}, {file = "orjson-3.11.5-cp314-cp314-win_amd64.whl", hash = "sha256:a4f3cb2d874e03bc7767c8f88adaa1a9a05cecea3712649c3b58589ec7317310"}, {file = "orjson-3.11.5-cp314-cp314-win_arm64.whl", hash = "sha256:38b22f476c351f9a1c43e5b07d8b5a02eb24a6ab8e75f700f7d479d4568346a5"}, {file = "orjson-3.11.5-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1b280e2d2d284a6713b0cfec7b08918ebe57df23e3f76b27586197afca3cb1e9"}, {file = "orjson-3.11.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c8d8a112b274fae8c5f0f01954cb0480137072c271f3f4958127b010dfefaec"}, {file = "orjson-3.11.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f0a2ae6f09ac7bd47d2d5a5305c1d9ed08ac057cda55bb0a49fa506f0d2da00"}, {file = "orjson-3.11.5-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c0d87bd1896faac0d10b4f849016db81a63e4ec5df38757ffae84d45ab38aa71"}, {file = "orjson-3.11.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:801a821e8e6099b8c459ac7540b3c32dba6013437c57fdcaec205b169754f38c"}, {file = "orjson-3.11.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:69a0f6ac618c98c74b7fbc8c0172ba86f9e01dbf9f62aa0b1776c2231a7bffe5"}, {file = "orjson-3.11.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fea7339bdd22e6f1060c55ac31b6a755d86a5b2ad3657f2669ec243f8e3b2bdb"}, {file = "orjson-3.11.5-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4dad582bc93cef8f26513e12771e76385a7e6187fd713157e971c784112aad56"}, {file = "orjson-3.11.5-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:0522003e9f7fba91982e83a97fec0708f5a714c96c4209db7104e6b9d132f111"}, {file = "orjson-3.11.5-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:7403851e430a478440ecc1258bcbacbfbd8175f9ac1e39031a7121dd0de05ff8"}, {file = "orjson-3.11.5-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5f691263425d3177977c8d1dd896cde7b98d93cbf390b2544a090675e83a6a0a"}, {file = "orjson-3.11.5-cp39-cp39-win32.whl", hash = "sha256:61026196a1c4b968e1b1e540563e277843082e9e97d78afa03eb89315af531f1"}, {file = "orjson-3.11.5-cp39-cp39-win_amd64.whl", hash = "sha256:09b94b947ac08586af635ef922d69dc9bc63321527a3a04647f4986a73f4bd30"}, {file = "orjson-3.11.5.tar.gz", hash = "sha256:82393ab47b4fe44ffd0a7659fa9cfaacc717eb617c93cde83795f14af5c2e9d5"}, ] [[package]] name = "packaging" version = "25.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" files = [ {file = "packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484"}, {file = "packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f"}, ] [[package]] name = "pathspec" version = "0.12.1" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.8" files = [ {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, ] [[package]] name = "platformdirs" version = "4.5.1" description = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." optional = false python-versions = ">=3.10" files = [ {file = "platformdirs-4.5.1-py3-none-any.whl", hash = "sha256:d03afa3963c806a9bed9d5125c8f4cb2fdaf74a55ab60e5d59b3fde758104d31"}, {file = "platformdirs-4.5.1.tar.gz", hash = "sha256:61d5cdcc6065745cdd94f0f878977f8de9437be93de97c1c12f853c9c0cdcbda"}, ] [package.extras] docs = ["furo (>=2025.9.25)", "proselint (>=0.14)", "sphinx (>=8.2.3)", "sphinx-autodoc-typehints (>=3.2)"] test = ["appdirs (==1.4.4)", "covdefaults (>=2.3)", "pytest (>=8.4.2)", "pytest-cov (>=7)", "pytest-mock (>=3.15.1)"] type = ["mypy (>=1.18.2)"] [[package]] name = "pluggy" version = "1.6.0" description = "plugin and hook calling mechanisms for python" optional = false python-versions = ">=3.9" files = [ {file = "pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746"}, {file = "pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3"}, ] [package.extras] dev = ["pre-commit", "tox"] testing = ["coverage", "pytest", "pytest-benchmark"] [[package]] name = "pre-commit" version = "4.5.0" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.10" files = [ {file = "pre_commit-4.5.0-py2.py3-none-any.whl", hash = "sha256:25e2ce09595174d9c97860a95609f9f852c0614ba602de3561e267547f2335e1"}, {file = "pre_commit-4.5.0.tar.gz", hash = "sha256:dc5a065e932b19fc1d4c653c6939068fe54325af8e741e74e88db4d28a4dd66b"}, ] [package.dependencies] cfgv = ">=2.0.0" identify = ">=1.0.0" nodeenv = ">=0.11.1" pyyaml = ">=5.1" virtualenv = ">=20.10.0" [[package]] name = "pre-commit-hooks" version = "6.0.0" description = "Some out-of-the-box hooks for pre-commit." optional = false python-versions = ">=3.9" files = [ {file = "pre_commit_hooks-6.0.0-py2.py3-none-any.whl", hash = "sha256:76161b76d321d2f8ee2a8e0b84c30ee8443e01376121fd1c90851e33e3bd7ee2"}, {file = "pre_commit_hooks-6.0.0.tar.gz", hash = "sha256:76d8370c006f5026cdd638a397a678d26dda735a3c88137e05885a020f824034"}, ] [package.dependencies] "ruamel.yaml" = ">=0.15" [[package]] name = "propcache" version = "0.4.1" description = "Accelerated property cache" optional = false python-versions = ">=3.9" files = [ {file = "propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db"}, {file = "propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8"}, {file = "propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925"}, {file = "propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21"}, {file = "propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5"}, {file = "propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db"}, {file = "propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7"}, {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4"}, {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60"}, {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f"}, {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900"}, {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c"}, {file = "propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb"}, {file = "propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37"}, {file = "propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581"}, {file = "propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf"}, {file = "propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5"}, {file = "propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e"}, {file = "propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566"}, {file = "propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165"}, {file = "propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc"}, {file = "propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48"}, {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570"}, {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85"}, {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e"}, {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757"}, {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f"}, {file = "propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1"}, {file = "propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6"}, {file = "propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239"}, {file = "propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2"}, {file = "propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403"}, {file = "propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207"}, {file = "propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72"}, {file = "propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367"}, {file = "propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4"}, {file = "propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf"}, {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3"}, {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778"}, {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6"}, {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9"}, {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75"}, {file = "propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8"}, {file = "propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db"}, {file = "propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1"}, {file = "propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf"}, {file = "propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311"}, {file = "propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74"}, {file = "propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe"}, {file = "propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af"}, {file = "propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c"}, {file = "propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f"}, {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1"}, {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24"}, {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa"}, {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61"}, {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66"}, {file = "propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81"}, {file = "propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e"}, {file = "propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1"}, {file = "propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b"}, {file = "propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566"}, {file = "propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835"}, {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e"}, {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859"}, {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b"}, {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0"}, {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af"}, {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393"}, {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874"}, {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7"}, {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1"}, {file = "propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717"}, {file = "propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37"}, {file = "propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a"}, {file = "propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12"}, {file = "propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c"}, {file = "propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded"}, {file = "propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641"}, {file = "propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4"}, {file = "propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44"}, {file = "propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d"}, {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b"}, {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e"}, {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f"}, {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49"}, {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144"}, {file = "propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f"}, {file = "propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153"}, {file = "propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992"}, {file = "propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f"}, {file = "propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393"}, {file = "propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0"}, {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a"}, {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be"}, {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc"}, {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a"}, {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89"}, {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726"}, {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367"}, {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36"}, {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455"}, {file = "propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85"}, {file = "propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1"}, {file = "propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9"}, {file = "propcache-0.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3d233076ccf9e450c8b3bc6720af226b898ef5d051a2d145f7d765e6e9f9bcff"}, {file = "propcache-0.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:357f5bb5c377a82e105e44bd3d52ba22b616f7b9773714bff93573988ef0a5fb"}, {file = "propcache-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cbc3b6dfc728105b2a57c06791eb07a94229202ea75c59db644d7d496b698cac"}, {file = "propcache-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:182b51b421f0501952d938dc0b0eb45246a5b5153c50d42b495ad5fb7517c888"}, {file = "propcache-0.4.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b536b39c5199b96fc6245eb5fb796c497381d3942f169e44e8e392b29c9ebcc"}, {file = "propcache-0.4.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db65d2af507bbfbdcedb254a11149f894169d90488dd3e7190f7cdcb2d6cd57a"}, {file = "propcache-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd2dbc472da1f772a4dae4fa24be938a6c544671a912e30529984dd80400cd88"}, {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:daede9cd44e0f8bdd9e6cc9a607fc81feb80fae7a5fc6cecaff0e0bb32e42d00"}, {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:71b749281b816793678ae7f3d0d84bd36e694953822eaad408d682efc5ca18e0"}, {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:0002004213ee1f36cfb3f9a42b5066100c44276b9b72b4e1504cddd3d692e86e"}, {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fe49d0a85038f36ba9e3ffafa1103e61170b28e95b16622e11be0a0ea07c6781"}, {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:99d43339c83aaf4d32bda60928231848eee470c6bda8d02599cc4cebe872d183"}, {file = "propcache-0.4.1-cp39-cp39-win32.whl", hash = "sha256:a129e76735bc792794d5177069691c3217898b9f5cee2b2661471e52ffe13f19"}, {file = "propcache-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:948dab269721ae9a87fd16c514a0a2c2a1bdb23a9a61b969b0f9d9ee2968546f"}, {file = "propcache-0.4.1-cp39-cp39-win_arm64.whl", hash = "sha256:5fd37c406dd6dc85aa743e214cef35dc54bbdd1419baac4f6ae5e5b1a2976938"}, {file = "propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237"}, {file = "propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d"}, ] [[package]] name = "pygments" version = "2.19.2" description = "Pygments is a syntax highlighting package written in Python." optional = false python-versions = ">=3.8" files = [ {file = "pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b"}, {file = "pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887"}, ] [package.extras] windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pylint" version = "4.0.4" description = "python code static checker" optional = false python-versions = ">=3.10.0" files = [ {file = "pylint-4.0.4-py3-none-any.whl", hash = "sha256:63e06a37d5922555ee2c20963eb42559918c20bd2b21244e4ef426e7c43b92e0"}, {file = "pylint-4.0.4.tar.gz", hash = "sha256:d9b71674e19b1c36d79265b5887bf8e55278cbe236c9e95d22dc82cf044fdbd2"}, ] [package.dependencies] astroid = ">=4.0.2,<=4.1.dev0" colorama = {version = ">=0.4.5", markers = "sys_platform == \"win32\""} dill = {version = ">=0.3.7", markers = "python_version >= \"3.12\""} isort = ">=5,<5.13 || >5.13,<8" mccabe = ">=0.6,<0.8" platformdirs = ">=2.2" tomlkit = ">=0.10.1" [package.extras] spelling = ["pyenchant (>=3.2,<4.0)"] testutils = ["gitpython (>3)"] [[package]] name = "pyperclip" version = "1.11.0" description = "A cross-platform clipboard module for Python. (Only handles plain text for now.)" optional = false python-versions = "*" files = [ {file = "pyperclip-1.11.0-py3-none-any.whl", hash = "sha256:299403e9ff44581cb9ba2ffeed69c7aa96a008622ad0c46cb575ca75b5b84273"}, {file = "pyperclip-1.11.0.tar.gz", hash = "sha256:244035963e4428530d9e3a6101a1ef97209c6825edab1567beac148ccc1db1b6"}, ] [[package]] name = "pytest" version = "9.0.2" description = "pytest: simple powerful testing with Python" optional = false python-versions = ">=3.10" files = [ {file = "pytest-9.0.2-py3-none-any.whl", hash = "sha256:711ffd45bf766d5264d487b917733b453d917afd2b0ad65223959f59089f875b"}, {file = "pytest-9.0.2.tar.gz", hash = "sha256:75186651a92bd89611d1d9fc20f0b4345fd827c41ccd5c299a868a05d70edf11"}, ] [package.dependencies] colorama = {version = ">=0.4", markers = "sys_platform == \"win32\""} iniconfig = ">=1.0.1" packaging = ">=22" pluggy = ">=1.5,<2" pygments = ">=2.7.2" [package.extras] dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "requests", "setuptools", "xmlschema"] [[package]] name = "pytest-asyncio" version = "1.3.0" description = "Pytest support for asyncio" optional = false python-versions = ">=3.10" files = [ {file = "pytest_asyncio-1.3.0-py3-none-any.whl", hash = "sha256:611e26147c7f77640e6d0a92a38ed17c3e9848063698d5c93d5aa7aa11cebff5"}, {file = "pytest_asyncio-1.3.0.tar.gz", hash = "sha256:d7f52f36d231b80ee124cd216ffb19369aa168fc10095013c6b014a34d3ee9e5"}, ] [package.dependencies] pytest = ">=8.2,<10" typing-extensions = {version = ">=4.12", markers = "python_version < \"3.13\""} [package.extras] docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1)"] testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] [[package]] name = "pytest-cov" version = "7.0.0" description = "Pytest plugin for measuring coverage." optional = false python-versions = ">=3.9" files = [ {file = "pytest_cov-7.0.0-py3-none-any.whl", hash = "sha256:3b8e9558b16cc1479da72058bdecf8073661c7f57f7d3c5f22a1c23507f2d861"}, {file = "pytest_cov-7.0.0.tar.gz", hash = "sha256:33c97eda2e049a0c5298e91f519302a1334c26ac65c1a483d6206fd458361af1"}, ] [package.dependencies] coverage = {version = ">=7.10.6", extras = ["toml"]} pluggy = ">=1.2" pytest = ">=7" [package.extras] testing = ["process-tests", "pytest-xdist", "virtualenv"] [[package]] name = "pytest-timeout" version = "2.4.0" description = "pytest plugin to abort hanging tests" optional = false python-versions = ">=3.7" files = [ {file = "pytest_timeout-2.4.0-py3-none-any.whl", hash = "sha256:c42667e5cdadb151aeb5b26d114aff6bdf5a907f176a007a30b940d3d865b5c2"}, {file = "pytest_timeout-2.4.0.tar.gz", hash = "sha256:7e68e90b01f9eff71332b25001f85c75495fc4e3a836701876183c4bcfd0540a"}, ] [package.dependencies] pytest = ">=7.0.0" [[package]] name = "pyyaml" version = "6.0.3" description = "YAML parser and emitter for Python" optional = false python-versions = ">=3.8" files = [ {file = "PyYAML-6.0.3-cp38-cp38-macosx_10_13_x86_64.whl", hash = "sha256:c2514fceb77bc5e7a2f7adfaa1feb2fb311607c9cb518dbc378688ec73d8292f"}, {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9c57bb8c96f6d1808c030b1687b9b5fb476abaa47f0db9c0101f5e9f394e97f4"}, {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efd7b85f94a6f21e4932043973a7ba2613b059c4a000551892ac9f1d11f5baf3"}, {file = "PyYAML-6.0.3-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:22ba7cfcad58ef3ecddc7ed1db3409af68d023b7f940da23c6c2a1890976eda6"}, {file = "PyYAML-6.0.3-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:6344df0d5755a2c9a276d4473ae6b90647e216ab4757f8426893b5dd2ac3f369"}, {file = "PyYAML-6.0.3-cp38-cp38-win32.whl", hash = "sha256:3ff07ec89bae51176c0549bc4c63aa6202991da2d9a6129d7aef7f1407d3f295"}, {file = "PyYAML-6.0.3-cp38-cp38-win_amd64.whl", hash = "sha256:5cf4e27da7e3fbed4d6c3d8e797387aaad68102272f8f9752883bc32d61cb87b"}, {file = "pyyaml-6.0.3-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:214ed4befebe12df36bcc8bc2b64b396ca31be9304b8f59e25c11cf94a4c033b"}, {file = "pyyaml-6.0.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:02ea2dfa234451bbb8772601d7b8e426c2bfa197136796224e50e35a78777956"}, {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b30236e45cf30d2b8e7b3e85881719e98507abed1011bf463a8fa23e9c3e98a8"}, {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:66291b10affd76d76f54fad28e22e51719ef9ba22b29e1d7d03d6777a9174198"}, {file = "pyyaml-6.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c7708761fccb9397fe64bbc0395abcae8c4bf7b0eac081e12b809bf47700d0b"}, {file = "pyyaml-6.0.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:418cf3f2111bc80e0933b2cd8cd04f286338bb88bdc7bc8e6dd775ebde60b5e0"}, {file = "pyyaml-6.0.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:5e0b74767e5f8c593e8c9b5912019159ed0533c70051e9cce3e8b6aa699fcd69"}, {file = "pyyaml-6.0.3-cp310-cp310-win32.whl", hash = "sha256:28c8d926f98f432f88adc23edf2e6d4921ac26fb084b028c733d01868d19007e"}, {file = "pyyaml-6.0.3-cp310-cp310-win_amd64.whl", hash = "sha256:bdb2c67c6c1390b63c6ff89f210c8fd09d9a1217a465701eac7316313c915e4c"}, {file = "pyyaml-6.0.3-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:44edc647873928551a01e7a563d7452ccdebee747728c1080d881d68af7b997e"}, {file = "pyyaml-6.0.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:652cb6edd41e718550aad172851962662ff2681490a8a711af6a4d288dd96824"}, {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:10892704fc220243f5305762e276552a0395f7beb4dbf9b14ec8fd43b57f126c"}, {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:850774a7879607d3a6f50d36d04f00ee69e7fc816450e5f7e58d7f17f1ae5c00"}, {file = "pyyaml-6.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b8bb0864c5a28024fac8a632c443c87c5aa6f215c0b126c449ae1a150412f31d"}, {file = "pyyaml-6.0.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d37d57ad971609cf3c53ba6a7e365e40660e3be0e5175fa9f2365a379d6095a"}, {file = "pyyaml-6.0.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:37503bfbfc9d2c40b344d06b2199cf0e96e97957ab1c1b546fd4f87e53e5d3e4"}, {file = "pyyaml-6.0.3-cp311-cp311-win32.whl", hash = "sha256:8098f252adfa6c80ab48096053f512f2321f0b998f98150cea9bd23d83e1467b"}, {file = "pyyaml-6.0.3-cp311-cp311-win_amd64.whl", hash = "sha256:9f3bfb4965eb874431221a3ff3fdcddc7e74e3b07799e0e84ca4a0f867d449bf"}, {file = "pyyaml-6.0.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7f047e29dcae44602496db43be01ad42fc6f1cc0d8cd6c83d342306c32270196"}, {file = "pyyaml-6.0.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0"}, {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9149cad251584d5fb4981be1ecde53a1ca46c891a79788c0df828d2f166bda28"}, {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5fdec68f91a0c6739b380c83b951e2c72ac0197ace422360e6d5a959d8d97b2c"}, {file = "pyyaml-6.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ba1cc08a7ccde2d2ec775841541641e4548226580ab850948cbfda66a1befcdc"}, {file = "pyyaml-6.0.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8dc52c23056b9ddd46818a57b78404882310fb473d63f17b07d5c40421e47f8e"}, {file = "pyyaml-6.0.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41715c910c881bc081f1e8872880d3c650acf13dfa8214bad49ed4cede7c34ea"}, {file = "pyyaml-6.0.3-cp312-cp312-win32.whl", hash = "sha256:96b533f0e99f6579b3d4d4995707cf36df9100d67e0c8303a0c55b27b5f99bc5"}, {file = "pyyaml-6.0.3-cp312-cp312-win_amd64.whl", hash = "sha256:5fcd34e47f6e0b794d17de1b4ff496c00986e1c83f7ab2fb8fcfe9616ff7477b"}, {file = "pyyaml-6.0.3-cp312-cp312-win_arm64.whl", hash = "sha256:64386e5e707d03a7e172c0701abfb7e10f0fb753ee1d773128192742712a98fd"}, {file = "pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8"}, {file = "pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1"}, {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c"}, {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5"}, {file = "pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6"}, {file = "pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6"}, {file = "pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be"}, {file = "pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26"}, {file = "pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c"}, {file = "pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb"}, {file = "pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac"}, {file = "pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310"}, {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7"}, {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788"}, {file = "pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5"}, {file = "pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764"}, {file = "pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35"}, {file = "pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac"}, {file = "pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3"}, {file = "pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3"}, {file = "pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba"}, {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c"}, {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702"}, {file = "pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c"}, {file = "pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065"}, {file = "pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65"}, {file = "pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9"}, {file = "pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b"}, {file = "pyyaml-6.0.3-cp39-cp39-macosx_10_13_x86_64.whl", hash = "sha256:b865addae83924361678b652338317d1bd7e79b1f4596f96b96c77a5a34b34da"}, {file = "pyyaml-6.0.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c3355370a2c156cffb25e876646f149d5d68f5e0a3ce86a5084dd0b64a994917"}, {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3c5677e12444c15717b902a5798264fa7909e41153cdf9ef7ad571b704a63dd9"}, {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ed875a24292240029e4483f9d4a4b8a1ae08843b9c54f43fcc11e404532a8a5"}, {file = "pyyaml-6.0.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0150219816b6a1fa26fb4699fb7daa9caf09eb1999f3b70fb6e786805e80375a"}, {file = "pyyaml-6.0.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926"}, {file = "pyyaml-6.0.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:27c0abcb4a5dac13684a37f76e701e054692a9b2d3064b70f5e4eb54810553d7"}, {file = "pyyaml-6.0.3-cp39-cp39-win32.whl", hash = "sha256:1ebe39cb5fc479422b83de611d14e2c0d3bb2a18bbcb01f229ab3cfbd8fee7a0"}, {file = "pyyaml-6.0.3-cp39-cp39-win_amd64.whl", hash = "sha256:2e71d11abed7344e42a8849600193d15b6def118602c4c176f748e4583246007"}, {file = "pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f"}, ] [[package]] name = "ruamel-yaml" version = "0.18.16" description = "ruamel.yaml is a YAML parser/emitter that supports roundtrip preservation of comments, seq/map flow style, and map key order" optional = false python-versions = ">=3.8" files = [ {file = "ruamel.yaml-0.18.16-py3-none-any.whl", hash = "sha256:048f26d64245bae57a4f9ef6feb5b552a386830ef7a826f235ffb804c59efbba"}, {file = "ruamel.yaml-0.18.16.tar.gz", hash = "sha256:a6e587512f3c998b2225d68aa1f35111c29fad14aed561a26e73fab729ec5e5a"}, ] [package.dependencies] "ruamel.yaml.clib" = {version = ">=0.2.7", markers = "platform_python_implementation == \"CPython\" and python_version < \"3.14\""} [package.extras] docs = ["mercurial (>5.7)", "ryd"] jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] [[package]] name = "ruamel-yaml-clib" version = "0.2.15" description = "C version of reader, parser and emitter for ruamel.yaml derived from libyaml" optional = false python-versions = ">=3.9" files = [ {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:88eea8baf72f0ccf232c22124d122a7f26e8a24110a0273d9bcddcb0f7e1fa03"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9b6f7d74d094d1f3a4e157278da97752f16ee230080ae331fcc219056ca54f77"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4be366220090d7c3424ac2b71c90d1044ea34fca8c0b88f250064fd06087e614"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1f66f600833af58bea694d5892453f2270695b92200280ee8c625ec5a477eed3"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:da3d6adadcf55a93c214d23941aef4abfd45652110aed6580e814152f385b862"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:e9fde97ecb7bb9c41261c2ce0da10323e9227555c674989f8d9eb7572fc2098d"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:05c70f7f86be6f7bee53794d80050a28ae7e13e4a0087c1839dcdefd68eb36b6"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f1d38cbe622039d111b69e9ca945e7e3efebb30ba998867908773183357f3ed"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-win32.whl", hash = "sha256:fe239bdfdae2302e93bd6e8264bd9b71290218fff7084a9db250b55caaccf43f"}, {file = "ruamel_yaml_clib-0.2.15-cp310-cp310-win_amd64.whl", hash = "sha256:468858e5cbde0198337e6a2a78eda8c3fb148bdf4c6498eaf4bc9ba3f8e780bd"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c583229f336682b7212a43d2fa32c30e643d3076178fb9f7a6a14dde85a2d8bd"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:56ea19c157ed8c74b6be51b5fa1c3aff6e289a041575f0556f66e5fb848bb137"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5fea0932358e18293407feb921d4f4457db837b67ec1837f87074667449f9401"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ef71831bd61fbdb7aa0399d5c4da06bea37107ab5c79ff884cc07f2450910262"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:617d35dc765715fa86f8c3ccdae1e4229055832c452d4ec20856136acc75053f"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1b45498cc81a4724a2d42273d6cfc243c0547ad7c6b87b4f774cb7bcc131c98d"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:def5663361f6771b18646620fca12968aae730132e104688766cf8a3b1d65922"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:014181cdec565c8745b7cbc4de3bf2cc8ced05183d986e6d1200168e5bb59490"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-win32.whl", hash = "sha256:d290eda8f6ada19e1771b54e5706b8f9807e6bb08e873900d5ba114ced13e02c"}, {file = "ruamel_yaml_clib-0.2.15-cp311-cp311-win_amd64.whl", hash = "sha256:bdc06ad71173b915167702f55d0f3f027fc61abd975bd308a0968c02db4a4c3e"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cb15a2e2a90c8475df45c0949793af1ff413acfb0a716b8b94e488ea95ce7cff"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:64da03cbe93c1e91af133f5bec37fd24d0d4ba2418eaf970d7166b0a26a148a2"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f6d3655e95a80325b84c4e14c080b2470fe4f33b6846f288379ce36154993fb1"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:71845d377c7a47afc6592aacfea738cc8a7e876d586dfba814501d8c53c1ba60"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11e5499db1ccbc7f4b41f0565e4f799d863ea720e01d3e99fa0b7b5fcd7802c9"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4b293a37dc97e2b1e8a1aec62792d1e52027087c8eea4fc7b5abd2bdafdd6642"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:512571ad41bba04eac7268fe33f7f4742210ca26a81fe0c75357fa682636c690"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e5e9f630c73a490b758bf14d859a39f375e6999aea5ddd2e2e9da89b9953486a"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-win32.whl", hash = "sha256:f4421ab780c37210a07d138e56dd4b51f8642187cdfb433eb687fe8c11de0144"}, {file = "ruamel_yaml_clib-0.2.15-cp312-cp312-win_amd64.whl", hash = "sha256:2b216904750889133d9222b7b873c199d48ecbb12912aca78970f84a5aa1a4bc"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4dcec721fddbb62e60c2801ba08c87010bd6b700054a09998c4d09c08147b8fb"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:65f48245279f9bb301d1276f9679b82e4c080a1ae25e679f682ac62446fac471"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:46895c17ead5e22bea5e576f1db7e41cb273e8d062c04a6a49013d9f60996c25"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3eb199178b08956e5be6288ee0b05b2fb0b5c1f309725ad25d9c6ea7e27f962a"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4d1032919280ebc04a80e4fb1e93f7a738129857eaec9448310e638c8bccefcf"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ab0df0648d86a7ecbd9c632e8f8d6b21bb21b5fc9d9e095c796cacf32a728d2d"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:331fb180858dd8534f0e61aa243b944f25e73a4dae9962bd44c46d1761126bbf"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fd4c928ddf6bce586285daa6d90680b9c291cfd045fc40aad34e445d57b1bf51"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-win32.whl", hash = "sha256:bf0846d629e160223805db9fe8cc7aec16aaa11a07310c50c8c7164efa440aec"}, {file = "ruamel_yaml_clib-0.2.15-cp313-cp313-win_amd64.whl", hash = "sha256:45702dfbea1420ba3450bb3dd9a80b33f0badd57539c6aac09f42584303e0db6"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:753faf20b3a5906faf1fc50e4ddb8c074cb9b251e00b14c18b28492f933ac8ef"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:480894aee0b29752560a9de46c0e5f84a82602f2bc5c6cde8db9a345319acfdf"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4d3b58ab2454b4747442ac76fab66739c72b1e2bb9bd173d7694b9f9dbc9c000"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bfd309b316228acecfa30670c3887dcedf9b7a44ea39e2101e75d2654522acd4"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2812ff359ec1f30129b62372e5f22a52936fac13d5d21e70373dbca5d64bb97c"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7e74ea87307303ba91073b63e67f2c667e93f05a8c63079ee5b7a5c8d0d7b043"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:713cd68af9dfbe0bb588e144a61aad8dcc00ef92a82d2e87183ca662d242f524"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:542d77b72786a35563f97069b9379ce762944e67055bea293480f7734b2c7e5e"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-win32.whl", hash = "sha256:424ead8cef3939d690c4b5c85ef5b52155a231ff8b252961b6516ed7cf05f6aa"}, {file = "ruamel_yaml_clib-0.2.15-cp314-cp314-win_amd64.whl", hash = "sha256:ac9b8d5fa4bb7fd2917ab5027f60d4234345fd366fe39aa711d5dca090aa1467"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:923816815974425fbb1f1bf57e85eca6e14d8adc313c66db21c094927ad01815"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:dcc7f3162d3711fd5d52e2267e44636e3e566d1e5675a5f0b30e98f2c4af7974"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5d3c9210219cbc0f22706f19b154c9a798ff65a6beeafbf77fc9c057ec806f7d"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1bb7b728fd9f405aa00b4a0b17ba3f3b810d0ccc5f77f7373162e9b5f0ff75d5"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3cb75a3c14f1d6c3c2a94631e362802f70e83e20d1f2b2ef3026c05b415c4900"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:badd1d7283f3e5894779a6ea8944cc765138b96804496c91812b2829f70e18a7"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:0ba6604bbc3dfcef844631932d06a1a4dcac3fee904efccf582261948431628a"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a8220fd4c6f98485e97aea65e1df76d4fed1678ede1fe1d0eed2957230d287c4"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-win32.whl", hash = "sha256:04d21dc9c57d9608225da28285900762befbb0165ae48482c15d8d4989d4af14"}, {file = "ruamel_yaml_clib-0.2.15-cp39-cp39-win_amd64.whl", hash = "sha256:27dc656e84396e6d687f97c6e65fb284d100483628f02d95464fd731743a4afe"}, {file = "ruamel_yaml_clib-0.2.15.tar.gz", hash = "sha256:46e4cc8c43ef6a94885f72512094e482114a8a706d3c555a34ed4b0d20200600"}, ] [[package]] name = "ruff" version = "0.14.7" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ {file = "ruff-0.14.7-py3-none-linux_armv6l.whl", hash = "sha256:b9d5cb5a176c7236892ad7224bc1e63902e4842c460a0b5210701b13e3de4fca"}, {file = "ruff-0.14.7-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:3f64fe375aefaf36ca7d7250292141e39b4cea8250427482ae779a2aa5d90015"}, {file = "ruff-0.14.7-py3-none-macosx_11_0_arm64.whl", hash = "sha256:93e83bd3a9e1a3bda64cb771c0d47cda0e0d148165013ae2d3554d718632d554"}, {file = "ruff-0.14.7-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3838948e3facc59a6070795de2ae16e5786861850f78d5914a03f12659e88f94"}, {file = "ruff-0.14.7-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:24c8487194d38b6d71cd0fd17a5b6715cda29f59baca1defe1e3a03240f851d1"}, {file = "ruff-0.14.7-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:79c73db6833f058a4be8ffe4a0913b6d4ad41f6324745179bd2aa09275b01d0b"}, {file = "ruff-0.14.7-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:12eb7014fccff10fc62d15c79d8a6be4d0c2d60fe3f8e4d169a0d2def75f5dad"}, {file = "ruff-0.14.7-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c623bbdc902de7ff715a93fa3bb377a4e42dd696937bf95669118773dbf0c50"}, {file = "ruff-0.14.7-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f53accc02ed2d200fa621593cdb3c1ae06aa9b2c3cae70bc96f72f0000ae97a9"}, {file = "ruff-0.14.7-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:281f0e61a23fcdcffca210591f0f53aafaa15f9025b5b3f9706879aaa8683bc4"}, {file = "ruff-0.14.7-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:dbbaa5e14148965b91cb090236931182ee522a5fac9bc5575bafc5c07b9f9682"}, {file = "ruff-0.14.7-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:1464b6e54880c0fe2f2d6eaefb6db15373331414eddf89d6b903767ae2458143"}, {file = "ruff-0.14.7-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:f217ed871e4621ea6128460df57b19ce0580606c23aeab50f5de425d05226784"}, {file = "ruff-0.14.7-py3-none-musllinux_1_2_i686.whl", hash = "sha256:6be02e849440ed3602d2eb478ff7ff07d53e3758f7948a2a598829660988619e"}, {file = "ruff-0.14.7-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:19a0f116ee5e2b468dfe80c41c84e2bbd6b74f7b719bee86c2ecde0a34563bcc"}, {file = "ruff-0.14.7-py3-none-win32.whl", hash = "sha256:e33052c9199b347c8937937163b9b149ef6ab2e4bb37b042e593da2e6f6cccfa"}, {file = "ruff-0.14.7-py3-none-win_amd64.whl", hash = "sha256:e17a20ad0d3fad47a326d773a042b924d3ac31c6ca6deb6c72e9e6b5f661a7c6"}, {file = "ruff-0.14.7-py3-none-win_arm64.whl", hash = "sha256:be4d653d3bea1b19742fcc6502354e32f65cd61ff2fbdb365803ef2c2aec6228"}, {file = "ruff-0.14.7.tar.gz", hash = "sha256:3417deb75d23bd14a722b57b0a1435561db65f0ad97435b4cf9f85ffcef34ae5"}, ] [[package]] name = "six" version = "1.17.0" description = "Python 2 and 3 compatibility utilities" optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" files = [ {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, ] [[package]] name = "syrupy" version = "5.0.0" description = "Pytest Snapshot Test Utility" optional = false python-versions = ">=3.10" files = [ {file = "syrupy-5.0.0-py3-none-any.whl", hash = "sha256:c848e1a980ca52a28715cd2d2b4d434db424699c05653bd1158fb31cf56e9546"}, {file = "syrupy-5.0.0.tar.gz", hash = "sha256:3282fe963fa5d4d3e47231b16d1d4d0f4523705e8199eeb99a22a1bc9f5942f2"}, ] [package.dependencies] pytest = ">=8.0.0" [[package]] name = "tomlkit" version = "0.13.3" description = "Style preserving TOML library" optional = false python-versions = ">=3.8" files = [ {file = "tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0"}, {file = "tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1"}, ] [[package]] name = "treelib" version = "1.8.0" description = "A Python implementation of tree structure." optional = false python-versions = "<4.0,>=3.7" files = [ {file = "treelib-1.8.0-py3-none-any.whl", hash = "sha256:5235d1ebf988c5026f26ce6e5e0cd470007f16d4978185f5c9b3eee8a25aef81"}, {file = "treelib-1.8.0.tar.gz", hash = "sha256:e1be2c6b66ffbfae85079fc4c76fb4909946d01d915ee29ff6795de53aed5d55"}, ] [package.dependencies] six = ">=1.13.0" [[package]] name = "typing-extensions" version = "4.15.0" description = "Backported and Experimental Type Hints for Python 3.9+" optional = false python-versions = ">=3.9" files = [ {file = "typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548"}, {file = "typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466"}, ] [[package]] name = "virtualenv" version = "20.35.4" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" files = [ {file = "virtualenv-20.35.4-py3-none-any.whl", hash = "sha256:c21c9cede36c9753eeade68ba7d523529f228a403463376cf821eaae2b650f1b"}, {file = "virtualenv-20.35.4.tar.gz", hash = "sha256:643d3914d73d3eeb0c552cbb12d7e82adf0e504dbf86a3182f8771a153a1971c"}, ] [package.dependencies] distlib = ">=0.3.7,<1" filelock = ">=3.12.2,<4" platformdirs = ">=3.9.1,<5" [package.extras] docs = ["furo (>=2023.7.26)", "proselint (>=0.13)", "sphinx (>=7.1.2,!=7.3)", "sphinx-argparse (>=0.4)", "sphinxcontrib-towncrier (>=0.2.1a0)", "towncrier (>=23.6)"] test = ["covdefaults (>=2.3)", "coverage (>=7.2.7)", "coverage-enable-subprocess (>=1)", "flaky (>=3.7)", "packaging (>=23.1)", "pytest (>=7.4)", "pytest-env (>=0.8.2)", "pytest-freezer (>=0.4.8)", "pytest-mock (>=3.11.1)", "pytest-randomly (>=3.12)", "pytest-timeout (>=2.1)", "setuptools (>=68)", "time-machine (>=2.10)"] [[package]] name = "yamllint" version = "1.37.1" description = "A linter for YAML files." optional = false python-versions = ">=3.9" files = [ {file = "yamllint-1.37.1-py3-none-any.whl", hash = "sha256:364f0d79e81409f591e323725e6a9f4504c8699ddf2d7263d8d2b539cd66a583"}, {file = "yamllint-1.37.1.tar.gz", hash = "sha256:81f7c0c5559becc8049470d86046b36e96113637bcbe4753ecef06977c00245d"}, ] [package.dependencies] pathspec = ">=0.5.3" pyyaml = "*" [package.extras] dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "sphinx"] [[package]] name = "yarl" version = "1.22.0" description = "Yet another URL library" optional = false python-versions = ">=3.9" files = [ {file = "yarl-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c7bd6683587567e5a49ee6e336e0612bec8329be1b7d4c8af5687dcdeb67ee1e"}, {file = "yarl-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5cdac20da754f3a723cceea5b3448e1a2074866406adeb4ef35b469d089adb8f"}, {file = "yarl-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07a524d84df0c10f41e3ee918846e1974aba4ec017f990dc735aad487a0bdfdf"}, {file = "yarl-1.22.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1b329cb8146d7b736677a2440e422eadd775d1806a81db2d4cded80a48efc1a"}, {file = "yarl-1.22.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75976c6945d85dbb9ee6308cd7ff7b1fb9409380c82d6119bd778d8fcfe2931c"}, {file = "yarl-1.22.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:80ddf7a5f8c86cb3eb4bc9028b07bbbf1f08a96c5c0bc1244be5e8fefcb94147"}, {file = "yarl-1.22.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d332fc2e3c94dad927f2112395772a4e4fedbcf8f80efc21ed7cdfae4d574fdb"}, {file = "yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cf71bf877efeac18b38d3930594c0948c82b64547c1cf420ba48722fe5509f6"}, {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:663e1cadaddae26be034a6ab6072449a8426ddb03d500f43daf952b74553bba0"}, {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:6dcbb0829c671f305be48a7227918cfcd11276c2d637a8033a99a02b67bf9eda"}, {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f0d97c18dfd9a9af4490631905a3f131a8e4c9e80a39353919e2cfed8f00aedc"}, {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:437840083abe022c978470b942ff832c3940b2ad3734d424b7eaffcd07f76737"}, {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a899cbd98dce6f5d8de1aad31cb712ec0a530abc0a86bd6edaa47c1090138467"}, {file = "yarl-1.22.0-cp310-cp310-win32.whl", hash = "sha256:595697f68bd1f0c1c159fcb97b661fc9c3f5db46498043555d04805430e79bea"}, {file = "yarl-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:cb95a9b1adaa48e41815a55ae740cfda005758104049a640a398120bf02515ca"}, {file = "yarl-1.22.0-cp310-cp310-win_arm64.whl", hash = "sha256:b85b982afde6df99ecc996990d4ad7ccbdbb70e2a4ba4de0aecde5922ba98a0b"}, {file = "yarl-1.22.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ab72135b1f2db3fed3997d7e7dc1b80573c67138023852b6efb336a5eae6511"}, {file = "yarl-1.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:669930400e375570189492dc8d8341301578e8493aec04aebc20d4717f899dd6"}, {file = "yarl-1.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:792a2af6d58177ef7c19cbf0097aba92ca1b9cb3ffdd9c7470e156c8f9b5e028"}, {file = "yarl-1.22.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ea66b1c11c9150f1372f69afb6b8116f2dd7286f38e14ea71a44eee9ec51b9d"}, {file = "yarl-1.22.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3e2daa88dc91870215961e96a039ec73e4937da13cf77ce17f9cad0c18df3503"}, {file = "yarl-1.22.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba440ae430c00eee41509353628600212112cd5018d5def7e9b05ea7ac34eb65"}, {file = "yarl-1.22.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e6438cc8f23a9c1478633d216b16104a586b9761db62bfacb6425bac0a36679e"}, {file = "yarl-1.22.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c52a6e78aef5cf47a98ef8e934755abf53953379b7d53e68b15ff4420e6683d"}, {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3b06bcadaac49c70f4c88af4ffcfbe3dc155aab3163e75777818092478bcbbe7"}, {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6944b2dc72c4d7f7052683487e3677456050ff77fcf5e6204e98caf785ad1967"}, {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5372ca1df0f91a86b047d1277c2aaf1edb32d78bbcefffc81b40ffd18f027ed"}, {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:51af598701f5299012b8416486b40fceef8c26fc87dc6d7d1f6fc30609ea0aa6"}, {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b266bd01fedeffeeac01a79ae181719ff848a5a13ce10075adbefc8f1daee70e"}, {file = "yarl-1.22.0-cp311-cp311-win32.whl", hash = "sha256:a9b1ba5610a4e20f655258d5a1fdc7ebe3d837bb0e45b581398b99eb98b1f5ca"}, {file = "yarl-1.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:078278b9b0b11568937d9509b589ee83ef98ed6d561dfe2020e24a9fd08eaa2b"}, {file = "yarl-1.22.0-cp311-cp311-win_arm64.whl", hash = "sha256:b6a6f620cfe13ccec221fa312139135166e47ae169f8253f72a0abc0dae94376"}, {file = "yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f"}, {file = "yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2"}, {file = "yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74"}, {file = "yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df"}, {file = "yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb"}, {file = "yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2"}, {file = "yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82"}, {file = "yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a"}, {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124"}, {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa"}, {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7"}, {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d"}, {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520"}, {file = "yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8"}, {file = "yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c"}, {file = "yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74"}, {file = "yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53"}, {file = "yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a"}, {file = "yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c"}, {file = "yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601"}, {file = "yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a"}, {file = "yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df"}, {file = "yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2"}, {file = "yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b"}, {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273"}, {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a"}, {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d"}, {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02"}, {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67"}, {file = "yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95"}, {file = "yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d"}, {file = "yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b"}, {file = "yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10"}, {file = "yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3"}, {file = "yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9"}, {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f"}, {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0"}, {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e"}, {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708"}, {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f"}, {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d"}, {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8"}, {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5"}, {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f"}, {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62"}, {file = "yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03"}, {file = "yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249"}, {file = "yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b"}, {file = "yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4"}, {file = "yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683"}, {file = "yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b"}, {file = "yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e"}, {file = "yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590"}, {file = "yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2"}, {file = "yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da"}, {file = "yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784"}, {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b"}, {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694"}, {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d"}, {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd"}, {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da"}, {file = "yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2"}, {file = "yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79"}, {file = "yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33"}, {file = "yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1"}, {file = "yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca"}, {file = "yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53"}, {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c"}, {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf"}, {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face"}, {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b"}, {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486"}, {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138"}, {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a"}, {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529"}, {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093"}, {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c"}, {file = "yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e"}, {file = "yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27"}, {file = "yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1"}, {file = "yarl-1.22.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3aa27acb6de7a23785d81557577491f6c38a5209a254d1191519d07d8fe51748"}, {file = "yarl-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:af74f05666a5e531289cb1cc9c883d1de2088b8e5b4de48004e5ca8a830ac859"}, {file = "yarl-1.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:62441e55958977b8167b2709c164c91a6363e25da322d87ae6dd9c6019ceecf9"}, {file = "yarl-1.22.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b580e71cac3f8113d3135888770903eaf2f507e9421e5697d6ee6d8cd1c7f054"}, {file = "yarl-1.22.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e81fda2fb4a07eda1a2252b216aa0df23ebcd4d584894e9612e80999a78fd95b"}, {file = "yarl-1.22.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:99b6fc1d55782461b78221e95fc357b47ad98b041e8e20f47c1411d0aacddc60"}, {file = "yarl-1.22.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:088e4e08f033db4be2ccd1f34cf29fe994772fb54cfe004bbf54db320af56890"}, {file = "yarl-1.22.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4e1f6f0b4da23e61188676e3ed027ef0baa833a2e633c29ff8530800edccba"}, {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:84fc3ec96fce86ce5aa305eb4aa9358279d1aa644b71fab7b8ed33fe3ba1a7ca"}, {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5dbeefd6ca588b33576a01b0ad58aa934bc1b41ef89dee505bf2932b22ddffba"}, {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14291620375b1060613f4aab9ebf21850058b6b1b438f386cc814813d901c60b"}, {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a4fcfc8eb2c34148c118dfa02e6427ca278bfd0f3df7c5f99e33d2c0e81eae3e"}, {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:029866bde8d7b0878b9c160e72305bbf0a7342bcd20b9999381704ae03308dc8"}, {file = "yarl-1.22.0-cp39-cp39-win32.whl", hash = "sha256:4dcc74149ccc8bba31ce1944acee24813e93cfdee2acda3c172df844948ddf7b"}, {file = "yarl-1.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:10619d9fdee46d20edc49d3479e2f8269d0779f1b031e6f7c2aa1c76be04b7ed"}, {file = "yarl-1.22.0-cp39-cp39-win_arm64.whl", hash = "sha256:dd7afd3f8b0bfb4e0d9fc3c31bfe8a4ec7debe124cfd90619305def3c8ca8cd2"}, {file = "yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff"}, {file = "yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71"}, ] [package.dependencies] idna = ">=2.0" multidict = ">=4.0" propcache = ">=0.2.1" [metadata] lock-version = "2.0" python-versions = "^3.12" content-hash = "138faca90da2584aeb7846f0c8e939b3a40c8704d38a80c88bf37babafbd5c41" pySmartThings-pysmartthings-71aec67/pyproject.toml000066400000000000000000000076451511701743400226120ustar00rootroot00000000000000[tool.poetry] name = "pysmartthings" version = "0.0.0" description = "Asynchronous Python client for SmartThings." authors = ["Andrew Sayre "] maintainers = ["Joost Lekkerkerker "] license = "Apache-2.0" readme = "README.md" homepage = "https://github.com/pySmartThings/pysmartthings" repository = "https://github.com/pySmartThings/pysmartthings" documentation = "https://github.com/pySmartThings/pysmartthings" keywords = ["smartthings", "api", "async", "client"] classifiers = [ "Development Status :: 5 - Production/Stable", "Framework :: AsyncIO", "Intended Audience :: Developers", "Natural Language :: English", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3", "Topic :: Home Automation", "Topic :: Software Development :: Libraries :: Python Modules", ] packages = [ { include = "pysmartthings", from = "src" }, ] [tool.poetry.dependencies] python = "^3.12" aiohttp = ">=3.0.0" yarl = ">=1.6.0" mashumaro = "^3.11" orjson = "^3.9.10" aiohttp-sse-client2 = "^0.3.0" [tool.poetry.group.dev.dependencies] codespell = "2.4.1" covdefaults = "2.3.0" coverage = {version = "7.12.0", extras = ["toml"]} pylint = "4.0.4" pytest = "9.0.2" pytest-asyncio = "1.3.0" pytest-cov = "7.0.0" pytest-timeout = "2.4.0" pre-commit = "4.5.0" pre-commit-hooks = "6.0.0" yamllint = "1.37.1" ruff = "0.14.7" syrupy = "5.0.0" aioresponses = "0.7.8" treelib = "1.8.0" pyperclip = "1.11.0" mypy = "1.19.0" [tool.poetry.urls] "Bug Tracker" = "https://github.com/pySmartThings/pysmartthings/issues" Changelog = "https://github.com/pySmartThings/pysmartthings/releases" [tool.coverage.report] show_missing = true fail_under = 80 [tool.coverage.run] plugins = ["covdefaults"] source = ["pysmartthings"] [tool.mypy] # Specify the target platform details in config, so your developers are # free to run mypy on Windows, Linux, or macOS and get consistent # results. platform = "linux" python_version = "3.12" # show error messages from unrelated files follow_imports = "normal" # suppress errors about unsatisfied imports ignore_missing_imports = true # be strict check_untyped_defs = true disallow_any_generics = true disallow_incomplete_defs = true disallow_subclassing_any = true disallow_untyped_calls = true disallow_untyped_decorators = true disallow_untyped_defs = true no_implicit_optional = true strict_optional = true warn_incomplete_stub = true warn_no_return = true warn_redundant_casts = true warn_return_any = true warn_unused_configs = true warn_unused_ignores = true [tool.pylint.MASTER] ignore = [ "tests", ] [tool.pylint.BASIC] good-names = [ "_", "ex", "fp", "i", "id", "j", "k", "on", "Run", "T", ] [tool.pylint.DESIGN] max-attributes = 8 [tool.pylint."MESSAGES CONTROL"] disable = [ "duplicate-code", "format", "unsubscriptable-object", "too-many-instance-attributes", "too-many-arguments", "too-many-public-methods", "wrong-import-order", "too-many-positional-arguments", "too-many-branches", ] [tool.pylint.SIMILARITIES] ignore-imports = true [tool.pylint.FORMAT] max-line-length = 88 [tool.pytest.ini_options] addopts = "--cov" asyncio_mode = "auto" [tool.ruff.lint] ignore = [ "ANN401", # Opinioated warning on disallowing dynamically typed expressions "COM812", # Conflicts with other rules "D203", # Conflicts with other rules "D213", # Conflicts with other rules "D417", # False positives in some occasions "ISC001", # Conflicts with other rules "PLR2004", # Just annoying, not really useful ] select = ["ALL"] [tool.ruff.lint.flake8-pytest-style] fixture-parentheses = false mark-parentheses = false [tool.ruff.lint.isort] known-first-party = ["python_overseerr"] force-sort-within-sections = true split-on-trailing-comma = false combine-as-imports = true [tool.ruff.lint.mccabe] max-complexity = 25 [build-system] build-backend = "poetry.core.masonry.api" requires = ["poetry-core>=1.0.0"] pySmartThings-pysmartthings-71aec67/script/000077500000000000000000000000001511701743400211665ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/script/__init__.py000066400000000000000000000000251511701743400232740ustar00rootroot00000000000000"""Script module.""" pySmartThings-pysmartthings-71aec67/script/generate_enums.py000066400000000000000000000166571511701743400245600ustar00rootroot00000000000000"""Process the device status JSON file to generate a tree of a device status.""" from collections.abc import Callable import json from pathlib import Path import re import sys from typing import Any ORDER = ["standard", "custom", "samsungce", "samsungvd", "samsungim"] def prepare_capability_name(capability_name: str) -> str: """Prepare capability name.""" name = re.sub(r"(? str: """Prepare attribute name.""" return { "dmv": "DATA_MODEL_VERSION", "drlcStatus": "DEMAND_RESPONSE_LOAD_CONTROL_STATUS", "di": "OCF_DEVICE_ID", "n": "DEVICE_NAME", "mnhw": "HARDWARE_VERSION", "mnml": "MANUFACTURER_DETAILS_LINK", "mnmn": "MANUFACTURER_NAME", "mndt": "MANUFACTURE_DATE", "mnmo": "MODEL_NUMBER", "mnfv": "OCF_FIRMWARE_VERSION", "mnos": "OS_VERSION", "pH": "PH", "pi": "PLATFORM_ID", "mnpv": "PLATFORM_VERSION", "icv": "SPEC_VERSION", "mnsl": "SUPPORT_LINK", "st": "SYSTEM_TIME", "vid": "VENDOR_ID", }.get( attribute, re.sub(r"(? str: """Prepare command name.""" return ( re.sub(r"(? int: # pylint: disable=too-many-locals, too-many-statements # noqa: PLR0912 PLR0915 """Run the script.""" attributes = set() commands = set() capability_attributes: dict[str, Any] = {} capability_commands: dict[str, Any] = {} capabilities: dict[str, list[str]] = {} root = Path("capabilities/json") for namespace in root.iterdir(): for js in namespace.iterdir(): with js.open(encoding="utf-8") as f: data = json.load(f) ns = data["id"].split(".")[0] if "." in data["id"] else "standard" if ns not in capability_attributes: capability_attributes[ns] = {} capability_commands[ns] = {} capabilities[ns] = [] capability_attributes[ns][data["id"]] = [] capability_commands[ns][data["id"]] = [] capabilities[ns].append(data["id"]) for attribute in data["attributes"]: attributes.add(attribute) capability_attributes[ns][data["id"]].append(attribute) capability_commands[data["id"]] = [] for command in data["commands"]: commands.add(command) capability_commands[ns][data["id"]].append(command) cap_file = '"""Capability model."""\n' cap_file += "from enum import StrEnum\n" cap_file += "class Capability(StrEnum):\n" cap_file += ' """Capability model."""\n' for namesp in ORDER: for capability in sorted(capabilities[namesp]): name = prepare_capability_name(capability) cap_file += f' {name} = "{capability}"\n' cap_file += "\n" for namesp in sorted(capabilities): if namesp in ORDER: continue for capability in sorted(capabilities[namesp]): name = prepare_capability_name(capability) cap_file += f' {name} = "{capability}"\n' cap_file += "\n" Path("src/pysmartthings/capability.py").write_text(cap_file, encoding="utf-8") file = '"""Attribute model."""\n' file += "from enum import StrEnum\n" file += "from pysmartthings.capability import Capability\n" file += "class Attribute(StrEnum):\n" file += ' """Attribute model."""\n' for attribute in sorted( attributes, key=lambda x: re.sub(r"(? str: """Render capability.""" capability_name = prepare_capability_name(capability) file += f" Capability.{capability_name}: [" first = True for attribute in sorted(attributes, key=prepare_attribute_name): print(attribute) if first: first = False else: file += ", " name = name_fn(attribute) file += f"{class_name}.{name}" file += "],\n" return file if __name__ == "__main__": sys.exit(main()) pySmartThings-pysmartthings-71aec67/script/process_device_status.py000066400000000000000000000072511511701743400261450ustar00rootroot00000000000000"""Process the device status JSON file to generate a tree of a device status.""" import json from pathlib import Path import re import sys from pysmartthings import CAPABILITY_ATTRIBUTES, Attribute, Capability from treelib import Tree def main() -> int: # noqa: PLR0912 """Run the script.""" if len(sys.argv) != 2: print("Usage: python process_device_status.py ") return 1 filename = sys.argv[1] print(f"Processing {filename}") with Path(filename).open(encoding="utf-8") as file: data = json.load(file) components = data["components"] tree = Tree() found_capabilities = {} found_attributes = {} missing_attribute_mapping: dict[str, list[str]] = {} tree.create_node(filename, "root") for component_name, capabilities in components.items(): # pylint: disable=too-many-nested-blocks tree.create_node(component_name, component_name, parent="root") for capability_name, attributes in capabilities.items(): if capability_name not in Capability: found_capabilities[capability_name] = ( re.sub(r"(? int: """Run the script.""" attributes = {attr.name: attr for attr in Attribute} attributes = dict(sorted(attributes.items())) result = "class Attribute(StrEnum):" result += '\n """Attribute model."""\n\n' for name, attribute in attributes.items(): result += f' {name} = "{attribute.value}"\n' pyperclip.copy(result) print(result) return 0 if __name__ == "__main__": main() pySmartThings-pysmartthings-71aec67/script/sort_capability.py000066400000000000000000000022661511701743400247360ustar00rootroot00000000000000"""Script to sort the capability constants.""" import pyperclip from pysmartthings import Capability def main() -> int: """Run the script.""" capabilities = {} dot_capabilities: dict[str, dict[str, Capability]] = {} for capability in Capability: if "." in capability.value: category = capability.value.split(".")[0] if category not in dot_capabilities: dot_capabilities[category] = {} dot_capabilities[category][capability.value] = capability else: capabilities[capability.value] = capability capabilities = dict(sorted(capabilities.items())) result = "class Capability(StrEnum):" result += '\n """Capability model."""\n\n' for name, capability in capabilities.items(): result += f' {capability.name} = "{name}"\n' for category_capabilities in dot_capabilities.values(): result += "\n" capabilities = dict(sorted(category_capabilities.items())) for name, capability in capabilities.items(): result += f' {capability.name} = "{name}"\n' print(result) pyperclip.copy(result) return 0 if __name__ == "__main__": main() pySmartThings-pysmartthings-71aec67/script/sort_command.py000066400000000000000000000007741511701743400242350ustar00rootroot00000000000000"""Sort the Command enum.""" import pyperclip from pysmartthings import Command def main() -> int: """Run the script.""" commands = {attr.name: attr for attr in Command} commands = dict(sorted(commands.items())) result = "class Command(StrEnum):" result += '\n """Command model."""\n\n' for name, command in commands.items(): result += f' {name} = "{command.value}"\n' pyperclip.copy(result) print(result) return 0 if __name__ == "__main__": main() pySmartThings-pysmartthings-71aec67/sonar-project.properties000066400000000000000000000011341511701743400245650ustar00rootroot00000000000000sonar.projectKey=pySmartThings_pysmartthings sonar.organization=pysmartthings sonar.projectName=Asynchronous Python client for SmartThings sonar.projectVersion=1.0 sonar.links.homepage=https://github.com/pySmartThings/pysmartthings sonar.links.ci=https://github.com/pySmartThings/pysmartthings/actions sonar.links.issue=https://github.com/pySmartThings/pysmartthings/issues sonar.links.scm=https://github.com/pySmartThings/pysmartthings/tree/main sonar.language=py sonar.sourceEncoding=UTF-8 sonar.sources=src sonar.tests=tests sonar.python.version=3.12 sonar.python.coverage.reportPaths=coverage.xml pySmartThings-pysmartthings-71aec67/src/000077500000000000000000000000001511701743400204515ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/src/pysmartthings/000077500000000000000000000000001511701743400233655ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/src/pysmartthings/__init__.py000066400000000000000000000037171511701743400255060ustar00rootroot00000000000000"""A python library for interacting with the SmartThings cloud API.""" from .attribute import CAPABILITY_ATTRIBUTES, Attribute from .capability import Capability from .command import CAPABILITY_COMMANDS, Command from .exceptions import ( SmartThingsAuthenticationFailedError, SmartThingsCommandError, SmartThingsConnectionError, SmartThingsError, SmartThingsForbiddenError, SmartThingsNotFoundError, SmartThingsRateLimitError, SmartThingsSinkError, ) from .models import ( BaseLocation, CapabilityStatus, Category, Component, ComponentStatus, Device, DeviceEvent, DeviceHealth, DeviceHealthEvent, DeviceHealthEventRoot, DeviceNetworkType, DeviceResponse, DeviceStatus, DeviceType, ErrorDetails, ErrorResponse, InstalledApp, Lifecycle, Location, LocationResponse, Room, RoomResponse, Scene, SceneResponse, Status, Subscription, ) from .smartthings import SmartThings __all__ = [ "CAPABILITY_ATTRIBUTES", "CAPABILITY_COMMANDS", "Attribute", "BaseLocation", "Capability", "CapabilityStatus", "Category", "Command", "Component", "ComponentStatus", "Device", "DeviceEvent", "DeviceHealth", "DeviceHealthEvent", "DeviceHealthEventRoot", "DeviceNetworkType", "DeviceResponse", "DeviceStatus", "DeviceType", "ErrorDetails", "ErrorResponse", "InstalledApp", "Lifecycle", "Location", "LocationResponse", "Room", "RoomResponse", "Scene", "SceneResponse", "SmartThings", "SmartThingsAuthenticationFailedError", "SmartThingsCommandError", "SmartThingsConnectionError", "SmartThingsError", "SmartThingsForbiddenError", "SmartThingsNotFoundError", "SmartThingsRateLimitError", "SmartThingsSinkError", "Status", "Subscription", ] pySmartThings-pysmartthings-71aec67/src/pysmartthings/attribute.py000066400000000000000000004331561511701743400257560ustar00rootroot00000000000000"""Attribute model.""" from enum import StrEnum from pysmartthings.capability import Capability class Attribute(StrEnum): """Attribute model.""" ABSENCE_PERIOD = "absencePeriod" AC_OPTIONAL_MODE = "acOptionalMode" AC_TROPICAL_NIGHT_MODE_LEVEL = "acTropicalNightModeLevel" ACCELERATION = "acceleration" ACCURACY = "accuracy" ACM_MODE = "acmMode" ACTION_SETTING = "actionSetting" ACTIVATED = "activated" ACTIVATED_SCENE = "activatedScene" ACTIVATION_STATE = "activationState" ACTIVITIES = "activities" ACTIVITY = "activity" ACTIVITY_SENSITIVITY = "activitySensitivity" ACTUAL_FAN_SPEED = "actualFanSpeed" ADD_RINSE = "addRinse" AIR_CONDITIONER_MODE = "airConditionerMode" AIR_CONDITIONER_ODOR_CONTROLLER_PROGRESS = "airConditionerOdorControllerProgress" AIR_CONDITIONER_ODOR_CONTROLLER_STATE = "airConditionerOdorControllerState" AIR_PURIFIER_FAN_MODE = "airPurifierFanMode" AIR_QUALITY = "airQuality" AIR_QUALITY_HEALTH_CONCERN = "airQualityHealthConcern" AIR_QUALITY_MAX_LEVEL = "airQualityMaxLevel" ALARM = "alarm" ALARM_ENABLED = "alarmEnabled" ALARM_MODE = "alarmMode" ALARM_SENSOR_STATE = "alarmSensorState" ALARM_THRESHOLD = "alarmThreshold" ALTITUDE_ACCURACY = "altitudeAccuracy" ALWAYS_ON = "alwaysOn" AMOUNT = "amount" AMOUNT_RESOLUTION = "amountResolution" AMPERAGE = "amperage" AP_OPERATION_MODE = "apOperationMode" APP_NAME = "appName" APP_VERSION = "appVersion" AREA = "area" AREA_IDS = "areaIds" AREA_INFO = "areaInfo" ART_SUPPORTED = "artSupported" ASSOCIATION_GROUP_FOUR = "associationGroupFour" ASSOCIATION_GROUP_THREE = "associationGroupThree" ASSOCIATION_GROUP_TWO = "associationGroupTwo" ATMOS_PRESSURE = "atmosPressure" ATMOSPHERIC_PRESSURE = "atmosphericPressure" AUDIO = "audio" AUDIO_ONLY = "audioOnly" AUDIO_TRACK_DATA = "audioTrackData" AUTO_CLEANING_MODE = "autoCleaningMode" AUTO_DOOR_RELEASE_ENABLED = "autoDoorReleaseEnabled" AUTO_LOCK = "autoLock" AUTO_MODE = "autoMode" AUTO_OPEN_DOOR = "autoOpenDoor" AUTO_RECONNECTION = "autoReconnection" AUTO_UPDATE_ENABLED = "autoUpdateEnabled" AUTOLOCK = "autolock" AUTOMATIC_EXECUTION_MODE = "automaticExecutionMode" AUTOMATIC_EXECUTION_SETTING = "automaticExecutionSetting" AUXILIARY_BATTERY = "auxiliaryBattery" AVAILABILITY = "availability" AVAILABLE = "available" AVAILABLE_AC_FAN_MODES = "availableAcFanModes" AVAILABLE_AC_MODES = "availableAcModes" AVAILABLE_CUSTOM_BUTTONS = "availableCustomButtons" AVAILABLE_FAN_OSCILLATION_MODES = "availableFanOscillationModes" AVAILABLE_FANSPEED_BUTTONS = "availableFanspeedButtons" AVAILABLE_MODULES = "availableModules" AVAILABLE_POWER_BUTTONS = "availablePowerButtons" AVAILABLE_POWER_TOGGLE_BUTTONS = "availablePowerToggleButtons" AVAILABLE_PROGRAMS = "availablePrograms" AVAILABLE_TYPES = "availableTypes" AVAILABLE_VERSION = "availableVersion" AVAILABLE_WATER_SPRAY_LEVELS = "availableWaterSprayLevels" BABY_DETERGENT_ALARM_ENABLED = "babyDetergentAlarmEnabled" BABY_DETERGENT_DOSAGE = "babyDetergentDosage" BABY_DETERGENT_INITIAL_AMOUNT = "babyDetergentInitialAmount" BABY_DETERGENT_ORDER_THRESHOLD = "babyDetergentOrderThreshold" BABY_DETERGENT_REMAINING_AMOUNT = "babyDetergentRemainingAmount" BABY_DETERGENT_TYPE = "babyDetergentType" BASIC_HTML = "basicHtml" BASIC_HTML_DISABLE = "basicHtmlDisable" BASIC_SET_ASSOCIATION_GROUP = "basicSetAssociationGroup" BATON_TOUCH = "batonTouch" BATTERY = "battery" BATTERY_LEVEL = "batteryLevel" BEEP = "beep" BELL_SOUNDS = "bellSounds" BINARY_ID = "binaryId" BLE_CONNECTION_STATE = "bleConnectionState" BLOCKING_STATUS = "blockingStatus" BMI_MEASUREMENT = "bmiMeasurement" BODY_WEIGHT_MEASUREMENT = "bodyWeightMeasurement" BRAKE_FLUID = "brakeFluid" BRIGHTNESS_INTENSITY = "brightnessIntensity" BRIGHTNESS_LEVEL = "brightnessLevel" BURNER_ID = "burnerId" BUTTON = "button" BYPASS_STATUS = "bypassStatus" CALL_STATUS = "callStatus" CAMERA = "camera" CAPTURE_TIME = "captureTime" CARBON_DIOXIDE = "carbonDioxide" CARBON_DIOXIDE_HEALTH_CONCERN = "carbonDioxideHealthConcern" CARBON_MONOXIDE = "carbonMonoxide" CARBON_MONOXIDE_HEALTH_CONCERN = "carbonMonoxideHealthConcern" CARBON_MONOXIDE_LEVEL = "carbonMonoxideLevel" CAST_CONTROL = "castControl" CATEGORY = "category" CELL_SIZE = "cellSize" CHANNEL = "channel" CHARGE_POINT_STATE = "chargePointState" CHARGING_DETAIL = "chargingDetail" CHARGING_PLUG = "chargingPlug" CHARGING_REMAIN_TIME = "chargingRemainTime" CHARGING_STATE = "chargingState" CHARGING_STATUS = "chargingStatus" CHECK_INTERVAL = "checkInterval" CHIME = "chime" CIRCADIAN = "circadian" CLEANED_EXTENT = "cleanedExtent" CLEANING_MODE = "cleaningMode" CLEANING_STEP = "cleaningStep" CLEANING_TYPE = "cleaningType" CLIP = "clip" CLOSEDURATION = "closeduration" CLOUDCOVER = "cloudcover" CLUSTER_ID = "clusterId" CLUSTER_ID_DEC = "clusterIdDec" CLUSTER_NAME = "clusterName" CMD_SELECT = "cmdSelect" CODE_CHANGED = "codeChanged" CODE_LENGTH = "codeLength" CODE_REPORT = "codeReport" COFFEE_BREWING_RECIPES = "coffeeBrewingRecipes" COFFEE_BREWING_STATUS = "coffeeBrewingStatus" COLOR = "color" COLOR_CHANGE_MODE = "colorChangeMode" COLOR_CHANGE_TIMER = "colorChangeTimer" COLOR_CHANGING = "colorChanging" COLOR_MODE = "colorMode" COLOR_TEMP_STEPS = "colorTempSteps" COLOR_TEMPERATURE = "colorTemperature" COLOR_TEMPERATURE_RANGE = "colorTemperatureRange" COLOR_VALUE = "colorValue" COMMAND_CLASS = "commandClass" COMMAND_RESULT = "commandResult" COMPLETION_TIME = "completionTime" CONDITION = "condition" CONNECTED_DEVICE_COUNT = "connectedDeviceCount" CONNECTED_DEVICE_ID = "connectedDeviceId" CONNECTED_ROUTER_COUNT = "connectedRouterCount" CONNECTED_USER_ID = "connectedUserId" CONNECTION = "connection" CONNECTION_INFO = "connectionInfo" CONNECTION_STATE = "connectionState" CONSUMABLE_STATUS = "consumableStatus" CONTACT = "contact" CONTAINER_STATE = "containerState" CONTENT = "content" CONTENTS = "contents" CONTROL_MODE = "controlMode" COOK_RECIPE = "cookRecipe" COOK_TIME = "cookTime" COOK_TIME_RANGE = "cookTimeRange" COOKER_MODE = "cookerMode" COOKER_STATE = "cookerState" COOKTOP_BURNER_MODE = "cooktopBurnerMode" COOKTOP_COOK_RECIPE = "cooktopCookRecipe" COOKTOP_OPERATING_STATE = "cooktopOperatingState" COOLING_SETPOINT = "coolingSetpoint" COOLING_SETPOINT_RANGE = "coolingSetpointRange" COORDINATES = "coordinates" COUNT = "count" COURSE = "course" CREATE_DEVICE = "createDevice" CREATE_QTY = "createQty" CREDENTIALS = "credentials" CURATION_SUPPORT = "curationSupport" CURRENT = "current" CURRENT_ACTIVITY = "currentActivity" CURRENT_APP = "currentApp" CURRENT_CONTROL_MODE = "currentControlMode" CURRENT_LOOP = "currentLoop" CURRENT_OPERATION_MODE = "currentOperationMode" CURRENT_STATUS = "currentStatus" CURRENT_TIME_PERIOD = "currentTimePeriod" CURRENT_TRACK = "currentTrack" CURRENT_TWILIGHT = "currentTwilight" CURRENT_VALUE = "currentValue" CURRENT_VERSION = "currentVersion" CUSTOM_COURSE_CANDIDATES = "customCourseCandidates" CYCLE_TYPE = "cycleType" DASH_BOARD_VALUE = "dashBoardValue" DATA = "data" DATE_STARTED = "dateStarted" DAY_LENGTH = "dayLength" DAY_OF_WEEK = "dayOfWeek" DEFAULT_LEVEL = "defaultLevel" DEFAULT_OPERATION_TIME = "defaultOperationTime" DEFAULT_OVEN_MODE = "defaultOvenMode" DEFAULT_OVEN_SETPOINT = "defaultOvenSetpoint" DEFINED_RECIPE = "definedRecipe" DEFOG_STATE = "defogState" DEFROST = "defrost" DEHUMIDIFIER_MODE = "dehumidifierMode" DENSITY = "density" DEODOR_FILTER_CAPACITY = "deodorFilterCapacity" DEODOR_FILTER_LAST_RESET_DATE = "deodorFilterLastResetDate" DEODOR_FILTER_RESET_TYPE = "deodorFilterResetType" DEODOR_FILTER_STATUS = "deodorFilterStatus" DEODOR_FILTER_USAGE = "deodorFilterUsage" DEODOR_FILTER_USAGE_STEP = "deodorFilterUsageStep" DEPENDENCY_STATUS = "dependencyStatus" DESCRIPTION = "description" DESIRED_HUMIDITY_LEVEL = "desiredHumidityLevel" DESIRED_HUMIDITY_LEVEL_RANGE = "desiredHumidityLevelRange" DESIRED_TEMPERATURE = "desiredTemperature" DETAIL_NAME = "detailName" DETECTED = "detected" DETECTION_INTERVAL = "detectionInterval" DETECTION_METHOD = "detectionMethod" DETECTION_PROXIMITY = "detectionProximity" DETERGENT_TYPE = "detergentType" DEVICE_ASSOCIATION_TYPE = "deviceAssociationType" DEVICE_CONNECTION_STATE = "deviceConnectionState" DEVICE_ICE = "deviceIce" DEVICE_ID = "deviceId" DEVICE_INFO = "deviceInfo" DEVICE_NETWORK_ID = "deviceNetworkId" DEVICE_TYPE = "deviceType" DEVICE_WATCH_DEVICE_STATUS = "DeviceWatch-DeviceStatus" DEVICE_WATCH_ENROLL = "DeviceWatch-Enroll" DEWPOINT = "dewpoint" OCF_DEVICE_ID = "di" DIRECTION = "direction" DISABLED_CAPABILITIES = "disabledCapabilities" DISABLED_COMPONENTS = "disabledComponents" DISABLED_REASON = "disabledReason" DISCONNECTED_ROUTER_COUNT = "disconnectedRouterCount" DISHWASHER_DELAY_START_TIME = "dishwasherDelayStartTime" DISHWASHER_JOB_STATE = "dishwasherJobState" DISHWASHER_MODE = "dishwasherMode" DISHWASHER_OPERATING_PERCENTAGE = "dishwasherOperatingPercentage" DISHWASHER_OPERATING_PROGRESS = "dishwasherOperatingProgress" DISPLAY = "display" DISPLAY_STATUS = "displayStatus" DISTANCE = "distance" DATA_MODEL_VERSION = "dmv" DO_NOT_DISTURB = "doNotDisturb" DOOR = "door" DOOR_STATE = "doorState" DOSAGE = "dosage" DOUBLE = "double" DOWNLINK_SPEED = "downlinkSpeed" DR_MAX_DURATION = "drMaxDuration" DRAIN_FILTER_LAST_RESET_DATE = "drainFilterLastResetDate" DRAIN_FILTER_RESET_TYPE = "drainFilterResetType" DRAIN_FILTER_STATUS = "drainFilterStatus" DRAIN_FILTER_USAGE = "drainFilterUsage" DRAIN_FILTER_USAGE_STEP = "drainFilterUsageStep" DRAINAGE_REQUIREMENT = "drainageRequirement" DRCAPABLE = "drcapable" DRIVER_STATE = "driverState" DRIVER_VERSION = "driverVersion" DRIVING_MODE = "drivingMode" DRIVING_STATUS = "drivingStatus" DEMAND_RESPONSE_LOAD_CONTROL_STATUS = "drlcStatus" DRY_PLUS = "dryPlus" DRYER_AUTO_CYCLE_LINK = "dryerAutoCycleLink" DRYER_CYCLE = "dryerCycle" DRYER_DRY_LEVEL = "dryerDryLevel" DRYER_JOB_STATE = "dryerJobState" DRYER_MODE = "dryerMode" DRYER_WRINKLE_PREVENT = "dryerWrinklePrevent" DRYING_TEMPERATURE = "dryingTemperature" DRYING_TIME = "dryingTime" DUMP_TYPE = "dumpType" DURATION = "duration" DURATION_ALARM = "durationAlarm" DUST_FILTER_CAPACITY = "dustFilterCapacity" DUST_FILTER_LAST_RESET_DATE = "dustFilterLastResetDate" DUST_FILTER_RESET_TYPE = "dustFilterResetType" DUST_FILTER_STATUS = "dustFilterStatus" DUST_FILTER_USAGE = "dustFilterUsage" DUST_FILTER_USAGE_STEP = "dustFilterUsageStep" DUST_HEALTH_CONCERN = "dustHealthConcern" DUST_LEVEL = "dustLevel" EFFECT_MODE = "effectMode" EFFECTS_SET_COMMAND = "effectsSetCommand" ELAPSED_TIME = "elapsedTime" ELECTRIC_HEPA_FILTER_CAPACITY = "electricHepaFilterCapacity" ELECTRIC_HEPA_FILTER_LAST_RESET_DATE = "electricHepaFilterLastResetDate" ELECTRIC_HEPA_FILTER_RESET_TYPE = "electricHepaFilterResetType" ELECTRIC_HEPA_FILTER_STATUS = "electricHepaFilterStatus" ELECTRIC_HEPA_FILTER_USAGE = "electricHepaFilterUsage" ELECTRIC_HEPA_FILTER_USAGE_STEP = "electricHepaFilterUsageStep" ELECTRIC_VEHICLE_BATTERY = "electricVehicleBattery" ENABLE_STATE = "enableState" ENABLED = "enabled" ENCRYPTED = "encrypted" ENCRYPTED_KEK = "encryptedKek" ENCRYPTION = "encryption" END_TIME = "endTime" ENDPOINT = "endpoint" ENERGY = "energy" ENERGY_DELIVERED = "energyDelivered" ENERGY_RESET = "energyReset" ENERGY_SAVING_INFO = "energySavingInfo" ENERGY_SAVING_LEVEL = "energySavingLevel" ENERGY_SAVING_OPERATION = "energySavingOperation" ENERGY_SAVING_OPERATION_SUPPORT = "energySavingOperationSupport" ENERGY_SAVING_SUPPORT = "energySavingSupport" ENERGY_TYPE = "energyType" ENERGY_USAGE_DAY = "energyUsageDay" ENERGY_USAGE_MAX = "energyUsageMax" ENERGY_USAGE_MONTH = "energyUsageMonth" ENERGY_USAGE_STATE = "energyUsageState" ENGINE_OIL = "engineOil" ENGINE_STATE = "engineState" ENROLLMENT_STATUS = "enrollmentStatus" ENROLLMENT_STATUS_CODE = "enrollmentStatusCode" EP_EVENT = "epEvent" EP_INFO = "epInfo" EQUIVALENT_CARBON_DIOXIDE_MEASUREMENT = "equivalentCarbonDioxideMeasurement" ERROR = "error" ERROR_CODE = "errorCode" ERRORS = "errors" ERRORSTATUS = "errorstatus" ESTIMATED_REMAINING_RANGE = "estimatedRemainingRange" ESTIMATED_TIME_REMAINING = "estimatedTimeRemaining" ETA = "eta" EUI = "eui" EVEN_ODD_DAY = "evenOddDay" EVENT = "event" EVENTS = "events" EXCLUDE_HOLIDAYS = "excludeHolidays" EXECUTABLE_SERVICE_LIST = "executableServiceList" FACE_RECOGNIZED_EVENT = "faceRecognizedEvent" FADE = "fade" FAN_CYCLIC_MODE = "fanCyclicMode" FAN_MODE = "fanMode" FAN_NEXT_CHANGE = "fanNextChange" FAN_OSCILLATION_MODE = "fanOscillationMode" FAN_SPEED = "fanSpeed" FAULT_STATE = "faultState" FEED_PORTION = "feedPortion" FEEDER_OPERATING_STATE = "feederOperatingState" FILTER_CHANGE_NEEDED = "filterChangeNeeded" FILTER_LIFE_REMAINING = "filterLifeRemaining" FILTER_STATUS = "filterStatus" FINE_DUST_HEALTH_CONCERN = "fineDustHealthConcern" FINE_DUST_LEVEL = "fineDustLevel" FIRMWARE_VERSION = "firmwareVersion" FLEX_ZONES = "flexZones" FLOW = "flow" FLOW_RANGE = "flowRange" FOOD_TYPE = "foodType" FORCED_ENTRY_SENSITIVITY = "forcedEntrySensitivity" FORCED_ON_LEVEL = "forcedOnLevel" FORMALDEHYDE_HEALTH_CONCERN = "formaldehydeHealthConcern" FORMALDEHYDE_LEVEL = "formaldehydeLevel" FREEZER_CONVERT_MODE = "freezerConvertMode" FRIDGE_MODE = "fridgeMode" FRIDGE_MODE_VALUE = "fridgeModeValue" FRONT_LEFT_DOOR = "frontLeftDoor" FRONT_LEFT_WINDOW = "frontLeftWindow" FRONT_RIGHT_DOOR = "frontRightDoor" FRONT_RIGHT_WINDOW = "frontRightWindow" FSV_SETTINGS = "fsvSettings" FUEL = "fuel" FUEL_LEVEL = "fuelLevel" GAS = "gas" GAS_CONSUMPTION = "gasConsumption" GAS_CONSUMPTIONS = "gasConsumptions" GAS_METER = "gasMeter" GAS_METER_CALORIFIC = "gasMeterCalorific" GAS_METER_CONVERSION = "gasMeterConversion" GAS_METER_PRECISION = "gasMeterPrecision" GAS_METER_TIME = "gasMeterTime" GAS_METER_VOLUME = "gasMeterVolume" GENERATION = "generation" GEOFENCE = "geofence" GEOFENCES = "geofences" GET_GROUPS = "getGroups" GOAL = "goal" GRID = "grid" GRID_STATUS_STATUS = "gridStatusStatus" GRID_STATUS_SUPPORT = "gridStatusSupport" GROUP_COMMAND_OPTION = "groupCommandOption" GROUP_ID = "groupId" GROUP_MUTE = "groupMute" GROUP_NAME = "groupName" GROUP_NUMBER = "groupNumber" GROUP_PRIMARY_DEVICE_ID = "groupPrimaryDeviceId" GROUP_ROLE = "groupRole" GROUP_VOLUME = "groupVolume" HARDWARE_FAULT = "hardwareFault" HAS_COST = "hasCost" HAS_FROM_GRID = "hasFromGrid" HAS_TO_GRID = "hasToGrid" HAS_TODAY_USAGE = "hasTodayUsage" HAS_TOTAL_USAGE = "hasTotalUsage" HEADING = "heading" HEALTH_STATUS = "healthStatus" HEATED_DRY = "heatedDry" HEATING_MODE = "heatingMode" HEATING_SETPOINT = "heatingSetpoint" HEATING_SETPOINT_RANGE = "heatingSetpointRange" HELD = "held" HEPA_FILTER_CAPACITY = "hepaFilterCapacity" HEPA_FILTER_LAST_RESET_DATE = "hepaFilterLastResetDate" HEPA_FILTER_RESET_TYPE = "hepaFilterResetType" HEPA_FILTER_STATUS = "hepaFilterStatus" HEPA_FILTER_USAGE = "hepaFilterUsage" HEPA_FILTER_USAGE_STEP = "hepaFilterUsageStep" HIGH_TEMP_WASH = "highTempWash" HISTORY = "history" HOMING_REASON = "homingReason" HOOD_FAN_SPEED = "hoodFanSpeed" HOOD_FILTER_CAPACITY = "hoodFilterCapacity" HOOD_FILTER_LAST_RESET_DATE = "hoodFilterLastResetDate" HOOD_FILTER_RESET_TYPE = "hoodFilterResetType" HOOD_FILTER_STATUS = "hoodFilterStatus" HOOD_FILTER_USAGE = "hoodFilterUsage" HOOD_FILTER_USAGE_STEP = "hoodFilterUsageStep" HOT_AIR_DRY = "hotAirDry" HOT_TEMPERATURE = "hotTemperature" HOURLY_GAS_CONSUMPTIONS = "hourlyGasConsumptions" HOURLY_USAGE_VIEW_AVAILABLE = "hourlyUsageViewAvailable" HTTPCODE = "httpcode" HUB_DEVICE_ID = "hubDeviceId" HUB_EUI = "hubEui" HUB_ONBOARDING_STATUS = "hubOnboardingStatus" HUE = "hue" HUE_STEPS = "hueSteps" HUMIDIFIER_MODE = "humidifierMode" HUMIDITY = "humidity" HUMIDITY_ALARM = "humidityAlarm" HUMIDITY_CONDITION = "humidityCondition" HUMIDITY_TARGET = "humidityTarget" HVAC_SPEED = "hvacSpeed" HVAC_SPEED_RANGE = "hvacSpeedRange" HVAC_STATE = "hvacState" SPEC_VERSION = "icv" ILLUMINANCE = "illuminance" ILLUMVALUE = "illumvalue" IMAGE = "image" IMAGE_SUPPORT = "imageSupport" IMAGE_TRANSFER_PROGRESS = "imageTransferProgress" IME_ADV_SUPPORTED = "imeAdvSupported" INDICATOR_STATUS = "indicatorStatus" INDOOR = "indoor" INFO = "info" INFO_HTML = "infoHtml" INFO_PANEL = "infoPanel" INFO_TEXT = "infoText" INFRARED_LEVEL = "infraredLevel" INITIAL_AMOUNT = "initialAmount" INPUT_SOURCE = "inputSource" INTENSITY_FOOT = "intensityFoot" INTENSITY_HEAD = "intensityHead" INTENSITY_RANGE = "intensityRange" INTENSITY_WHOLE = "intensityWhole" INTERIOR_BUTTON = "interiorButton" INTERVAL = "interval" INVALID_CODE = "invalidCode" INVENTORY = "inventory" INVISIBLE_FEATURES = "invisibleFeatures" IS_MAP_BASED_OPERATION_AVAILABLE = "isMapBasedOperationAvailable" JOB_BEGINNING_STATUS = "jobBeginningStatus" KEYNUMVALUE = "keynumvalue" KEYPAD = "keypad" KEYPAD_BEEP = "keypadBeep" KEYVALUE = "keyvalue" LAMP_WIRE = "lampWire" LANGUAGE = "language" LAST_EMPTIED_TIME = "lastEmptiedTime" LAST_FINISHED_TIME = "lastFinishedTime" LAST_HOUR = "lastHour" LAST_ONBOARDING_ERROR_CODE = "lastOnboardingErrorCode" LAST_ONBOARDING_RESULT = "lastOnboardingResult" LAST_SENSING_LEVEL = "lastSensingLevel" LAST_SENSING_TIME = "lastSensingTime" LAST_SEVEN_DAYS = "lastSevenDays" LAST_STERILIZED_TIME = "lastSterilizedTime" LAST_TWENTY_FOUR_HOURS = "lastTwentyFourHours" LAST_UPDATE_STATUS = "lastUpdateStatus" LAST_UPDATE_STATUS_REASON = "lastUpdateStatusReason" LAST_UPDATE_TIME = "lastUpdateTime" LAST_UPDATED_DATE = "lastUpdatedDate" LAST_UPDATED_TIME = "lastUpdatedTime" LATEST_REQUEST_ID = "latestRequestId" LATITUDE = "latitude" LED_BAR_OFF_COLOR = "ledBarOffColor" LED_BAR_OFF_LEVEL = "ledBarOffLevel" LED_BAR_ON_COLOR = "ledBarOnColor" LED_BAR_ON_LEVEL = "ledBarOnLevel" LED_BRIGHTNESS = "ledBrightness" LED_COLOR = "ledColor" LED_MODE = "ledMode" LED_NOTIFICATION = "ledNotification" LEVEL = "level" LEVEL_LOCAL = "levelLocal" LEVEL_RANGE = "levelRange" LEVEL_STEPS = "levelSteps" LIFESPAN = "lifespan" LIGHT_CONTROLLER_MODE = "lightControllerMode" LIGHT_SENSING = "lightSensing" LIGHTING = "lighting" LIGHTING_MODE = "lightingMode" LOCAL_CONTROL = "localControl" LOCAL_DATE = "localDate" LOCAL_DATE_ONE = "localDateOne" LOCAL_DATE_TWO = "localDateTwo" LOCAL_DAY = "localDay" LOCAL_DAY_TWO = "localDayTwo" LOCAL_HOUR = "localHour" LOCAL_HOUR_OFFSET = "localHourOffset" LOCAL_HOUR_TWO = "localHourTwo" LOCAL_MONTH = "localMonth" LOCAL_MONTH_DAY_ONE = "localMonthDayOne" LOCAL_MONTH_DAY_TWO = "localMonthDayTwo" LOCAL_MONTH_TWO = "localMonthTwo" LOCAL_WEEK_DAY = "localWeekDay" LOCAL_YEAR = "localYear" LOCATION = "location" LOCK = "lock" LOCK_AND_LEAVE = "lockAndLeave" LOCK_CODES = "lockCodes" LOCK_STATE = "lockState" LOCK_STATUS = "lockStatus" LOCK_TYPE = "lockType" LOG = "log" LOG_INFO = "logInfo" LOG_REQUEST_STATE = "logRequestState" LOG_STATE = "logState" LOG_TYPE = "logType" LONGITUDE = "longitude" LOOPS_NUMBER = "loopsNumber" LQI = "lqi" MACHINE_STATE = "machineState" MANUAL_LEVEL = "manualLevel" MANUAL_LEVEL_MAX = "manualLevelMax" MANUAL_LEVEL_MIN = "manualLevelMin" MAP_ID = "mapId" MAPS = "maps" MASSAGE_STATE = "massageState" MASTER_DI = "masterDi" MASTER_NAME = "masterName" MAX_CODE_LENGTH = "maxCodeLength" MAX_CODES = "maxCodes" MAX_CURRENT = "maxCurrent" MAX_NUMBER_OF_PRESETS = "maxNumberOfPresets" MAX_NUMBER_OF_RECIPES = "maxNumberOfRecipes" MAX_NUMBER_OF_RESERVATIONS = "maxNumberOfReservations" MAX_OPERATION_TIME = "maxOperationTime" MAX_PIN_CODE_LEN = "maxPinCodeLen" MAX_SUPPORTED_AMOUNT = "maxSupportedAmount" MAXIMUM_SETPOINT = "maximumSetpoint" MAXTEMP = "maxtemp" MCU_DEVICE_FW_VER = "mcuDeviceFwVer" MEASURE_INTERVAL = "measureInterval" MEDIA_OUTPUT_SUPPORTED = "mediaOutputSupported" MEDIA_STATUS = "mediaStatus" MENU = "menu" MESSAGE = "message" MESSAGE_BUTTON = "messageButton" METERING_DATE = "meteringDate" METHOD = "method" MICOM_ASSAY_CODE = "micomAssayCode" MIGRATED = "migrated" MIN_CODE_LENGTH = "minCodeLength" MIN_CURRENT = "minCurrent" MIN_PIN_CODE_LEN = "minPinCodeLen" MIN_SUPPORTED_AMOUNT = "minSupportedAmount" MIN_VERSION = "minVersion" MINIMUM_RESERVABLE_TIME = "minimumReservableTime" MINIMUM_SETPOINT = "minimumSetpoint" MINTEMP = "mintemp" MIRROR_GROUP_FUNCTION = "mirrorGroupFunction" MIRROR_IN = "mirrorIn" MIRROR_OUT = "mirrorOut" MN_ID = "mnId" MANUFACTURE_DATE = "mndt" OCF_FIRMWARE_VERSION = "mnfv" HARDWARE_VERSION = "mnhw" MANUFACTURER_DETAILS_LINK = "mnml" MANUFACTURER_NAME = "mnmn" MODEL_NUMBER = "mnmo" OS_VERSION = "mnos" PLATFORM_VERSION = "mnpv" SUPPORT_LINK = "mnsl" MOBILE_CAM_SUPPORTED = "mobileCamSupported" MODE = "mode" MODEL_CLASSIFICATION_CODE = "modelClassificationCode" MODEL_CODE = "modelCode" MODEL_NAME = "modelName" MOLD_HEALTH_CONCERN = "moldHealthConcern" MONITORING_MODE = "monitoringMode" MONITORING_STATUS = "monitoringStatus" MONTHLY_USAGE = "monthlyUsage" MOTION = "motion" MOTION_SENSITIVITY = "motionSensitivity" MOTION_SENSOR_ENABLE = "motionSensorEnable" MOTOR_FILTER_RESET_TYPE = "motorFilterResetType" MOTOR_FILTER_STATUS = "motorFilterStatus" MOVEMENT = "movement" MOVIE_MODE = "movieMode" MULTI_TAB = "multiTab" MUTE = "mute" DEVICE_NAME = "n" NAME = "name" NAME_TEXT = "nameText" NEAR_OBJECT = "nearObject" NEUTRAL_DETERGENT_ALARM_ENABLED = "neutralDetergentAlarmEnabled" NEUTRAL_DETERGENT_DOSAGE = "neutralDetergentDosage" NEUTRAL_DETERGENT_INITIAL_AMOUNT = "neutralDetergentInitialAmount" NEUTRAL_DETERGENT_ORDER_THRESHOLD = "neutralDetergentOrderThreshold" NEUTRAL_DETERGENT_REMAINING_AMOUNT = "neutralDetergentRemainingAmount" NEUTRAL_DETERGENT_TYPE = "neutralDetergentType" NEW_VERSION_AVAILABLE = "newVersionAvailable" NITROGEN_DIOXIDE = "nitrogenDioxide" NITROGEN_DIOXIDE_HEALTH_CONCERN = "nitrogenDioxideHealthConcern" NODE_END_POINT = "nodeEndPoint" NODE_TO_WRITE = "nodeToWrite" NONCE = "nonce" NORMAL_LED_COLOR = "normalLedColor" NOTIFICATION_COLOR = "notificationColor" NOTIFICATION_DURATION = "notificationDuration" NOTIFICATION_EFFECT = "notificationEffect" NOTIFICATION_LEVEL = "notificationLevel" NOTIFICATION_NUMBER = "notificationNumber" NOTIFICATION_TEMPLATE_I_D = "notificationTemplateID" NUMBER_OF_BUTTONS = "numberOfButtons" NUMBER_OF_CONNECTED_DEVICES = "numberOfConnectedDevices" NUMBER_OF_SUB_DEVICES = "numberOfSubDevices" OBSOLETED = "obsoleted" OCCUPANCY = "occupancy" OCF_RESOURCE_UPDATED_TIME = "ocfResourceUpdatedTime" OCF_RESOURCE_VERSION = "ocfResourceVersion" ODOMETER_READING = "odometerReading" ODOR_LEVEL = "odorLevel" ONBOARDING = "onboarding" ONBOARDING_PROGRESS = "onboardingProgress" ONETOUCHLOCK = "onetouchlock" OPENDURATION = "openduration" OPERATING_STATE = "operatingState" OPERATION_MODE = "operationMode" OPERATION_STATE = "operationState" OPERATION_TIME = "operationTime" OPERATIONAL_STATE = "operationalState" ORDER_THRESHOLD = "orderThreshold" ORIGINATOR = "originator" ORIGINS = "origins" OTN_D_U_I_D = "otnDUID" OUT_OF_SYNC_CHANGES = "outOfSyncChanges" OUTDOOR = "outdoor" OUTDOOR_UNIT_DEFROSTING = "outdoorUnitDefrosting" OUTING_MODE = "outingMode" OVEN_CAVITY_STATUS = "ovenCavityStatus" OVEN_JOB_STATE = "ovenJobState" OVEN_MODE = "ovenMode" OVEN_SETPOINT = "ovenSetpoint" OVEN_SETPOINT_RANGE = "ovenSetpointRange" OVERHEAT_FOR_RECIPES = "overheatForRecipes" OZONE = "ozone" OZONE_HEALTH_CONCERN = "ozoneHealthConcern" PH = "pH" PANIC_ALARM = "panicAlarm" PARAMETER_END = "parameterEnd" PARAMETER_START = "parameterStart" PATH = "path" PATROL_STATE = "patrolState" PATROL_STATUS = "patrolStatus" PAUSE_STATE = "pauseState" PAYLOAD = "payload" PERCENT = "percent" PERIODIC_SENSING = "periodicSensing" PERIODIC_SENSING_INTERVAL = "periodicSensingInterval" PERIODIC_SENSING_STATUS = "periodicSensingStatus" PERSON_DETECTION = "personDetection" PEST_CONTROL = "pestControl" PET_ACTIVITY = "petActivity" PHRASE_SPOKEN = "phraseSpoken" PLATFORM_ID = "pi" PICTURE = "picture" PICTURE_MODE = "pictureMode" PICTURE_MUTE = "pictureMute" PIN_USERS_SUPPORTED = "pinUsersSupported" PLAN = "plan" PLAYBACK_REPEAT_MODE = "playbackRepeatMode" PLAYBACK_SHUFFLE = "playbackShuffle" PLAYBACK_STATUS = "playbackStatus" PLAYLIST = "playlist" PMODE = "pmode" POSITION = "position" POWER = "power" POWER_CONSUMPTION = "powerConsumption" POWER_CONSUMPTIONS = "powerConsumptions" POWER_CURRENT = "powerCurrent" POWER_LEVEL = "powerLevel" POWER_SAVING = "powerSaving" POWER_SOURCE = "powerSource" POWER_STATE = "powerState" POWERFACTOR = "powerfactor" PRECIP = "precip" PRECIPITATION_INTENSITY = "precipitationIntensity" PRECIPITATION_LEVEL = "precipitationLevel" PRECIPITATION_RATE = "precipitationRate" PREDEFINED_COURSES = "predefinedCourses" PRESENCE = "presence" PRESENCE_STATUS = "presenceStatus" PRESETS = "presets" PRESSURE = "pressure" PRESSURE_ALARM = "pressureAlarm" PRESSURE_LEVEL = "pressureLevel" PROBABILITY = "probability" PROG_OFF = "progOff" PROG_ON = "progOn" PROGRAM = "program" PROGRESS = "progress" PROGRESS_PERCENTAGE = "progressPercentage" PROTOCOL_TYPE = "protocolType" PROTOCOL_VERSION = "protocolVersion" PROTOCOLS = "protocols" PUSHED = "pushed" QUANTITY = "quantity" RADON_HEALTH_CONCERN = "radonHealthConcern" RADON_LEVEL = "radonLevel" RAIN = "rain" RANDOM_MAXIMUM_TIMER = "randomMaximumTimer" RANDOM_MINIMUM_TIMER = "randomMinimumTimer" RANDOM_NEXT = "randomNext" RANDOM_ON_OFF = "randomOnOff" RAPID_COOLING = "rapidCooling" RAPID_FREEZING = "rapidFreezing" RATE_ALARM = "rateAlarm" RATE_TYPE = "rateType" REACTIVE = "reactive" REAR_LEFT_DOOR = "rearLeftDoor" REAR_LEFT_WINDOW = "rearLeftWindow" REAR_RIGHT_DOOR = "rearRightDoor" REAR_RIGHT_WINDOW = "rearRightWindow" RECOMMENDED_AMOUNT = "recommendedAmount" REFERENCE_TABLE = "referenceTable" REFRESH_RESULT = "refreshResult" REFRIGERATION_SETPOINT = "refrigerationSetpoint" REGION_CODE = "regionCode" REGISTRATION_STATUS = "registrationStatus" REGULAR_DETERGENT_ALARM_ENABLED = "regularDetergentAlarmEnabled" REGULAR_DETERGENT_DOSAGE = "regularDetergentDosage" REGULAR_DETERGENT_INITIAL_AMOUNT = "regularDetergentInitialAmount" REGULAR_DETERGENT_ORDER_THRESHOLD = "regularDetergentOrderThreshold" REGULAR_DETERGENT_REMAINING_AMOUNT = "regularDetergentRemainingAmount" REGULAR_DETERGENT_TYPE = "regularDetergentType" REGULAR_SOFTENER_ALARM_ENABLED = "regularSoftenerAlarmEnabled" REGULAR_SOFTENER_DOSAGE = "regularSoftenerDosage" REGULAR_SOFTENER_INITIAL_AMOUNT = "regularSoftenerInitialAmount" REGULAR_SOFTENER_ORDER_THRESHOLD = "regularSoftenerOrderThreshold" REGULAR_SOFTENER_REMAINING_AMOUNT = "regularSoftenerRemainingAmount" REGULAR_SOFTENER_TYPE = "regularSoftenerType" RELATIVE_HUMIDITY_LEVEL = "relativeHumidityLevel" RELEASE_YEAR = "releaseYear" REMAINING_AMOUNT = "remainingAmount" REMAINING_TIME = "remainingTime" REMAINING_TIME_STR = "remainingTimeStr" REMOTE_CONTROL = "remoteControl" REMOTE_CONTROL_ENABLED = "remoteControlEnabled" REMOTELESS_SUPPORTED = "remotelessSupported" REPEAT_MODE = "repeatMode" REPEAT_MODE_ENABLED = "repeatModeEnabled" REPORT = "report" REPORT_RAW_DATA = "reportRawData" REPORT_STATE_PERIOD = "reportStatePeriod" REPORT_STATE_REALTIME = "reportStateRealtime" REPORT_STATE_REALTIME_PERIOD = "reportStateRealtimePeriod" REPRESENTATIVE_COMPONENT = "representativeComponent" REQUEST_ID = "requestId" REQUEST_INVITATION = "requestInvitation" RESERVABLE = "reservable" RESERVATIONS = "reservations" RESOLUTION = "resolution" RESPONSE = "response" RESULT = "result" RING_MOBILE = "ringMobile" RINSE_MODE = "rinseMode" RINSE_PLUS = "rinsePlus" ROBOT_CLEANER_CLEANING_MODE = "robotCleanerCleaningMode" ROBOT_CLEANER_CLEANING_STATE = "robotCleanerCleaningState" ROBOT_CLEANER_CONTROL_STATE = "robotCleanerControlState" ROBOT_CLEANER_MOVEMENT = "robotCleanerMovement" ROBOT_CLEANER_TURBO_MODE = "robotCleanerTurboMode" ROBOT_CLEANER_TURBO_STATE = "robotCleanerTurboState" ROBOT_STATE = "robotState" ROLE = "role" RSSI = "rssi" SANITIZE = "sanitize" SANITIZING_WASH = "sanitizingWash" SATURATION = "saturation" SCAN_CODES = "scanCodes" SCAN_RESULTS = "scanResults" SCENE = "scene" SCENT_INTENSITY = "scentIntensity" SCENT_NAME = "scentName" SCHEDULABLE_MENUS = "schedulableMenus" SCHEDULE = "schedule" SCHEDULED_JOBS = "scheduledJobs" SCHEDULED_PHASES = "scheduledPhases" SCHEDULED_TIME = "scheduledTime" SCHEDULING_ENABLED = "schedulingEnabled" SDP_ANSWER = "sdpAnswer" SDP_OFFER = "sdpOffer" SEARCHING_STATUS = "searchingStatus" SECURITY_SYSTEM_STATUS = "securitySystemStatus" SELECTED_APP_ID = "selectedAppId" SELECTED_AREAS = "selectedAreas" SELECTED_MODE = "selectedMode" SELECTED_ZONE = "selectedZone" SELECTION = "selection" SENSING_ON_SUSPEND_MODE = "sensingOnSuspendMode" SENSITIVE = "sensitive" SENSITIVITY_MODE = "sensitivityMode" SENSOR_STATUS = "sensorStatus" SERIAL_NUMBER = "serialNumber" SERIAL_NUMBER_EXTRA = "serialNumberExtra" SERVER = "server" SERVICE_MESSAGE = "serviceMessage" SERVICE_PROVIDER = "serviceProvider" SESSION_STATUS = "sessionStatus" SESSION_TIME = "sessionTime" SETTABLE = "settable" SETTABLE_MAX_FAN_SPEED = "settableMaxFanSpeed" SETTABLE_MIN_FAN_SPEED = "settableMinFanSpeed" SETTINGS = "settings" SETUP_ID = "setupId" SHADE_LEVEL = "shadeLevel" SHADE_TILT_LEVEL = "shadeTiltLevel" SHOCK = "shock" SIGN_IN_STATUS = "signInStatus" SIGNAL_METRICS = "signalMetrics" SIGNIN_PERMISSION = "signinPermission" SIREN_OR_BELL_ACTIVE = "sirenOrBellActive" SIREN_SOUNDS = "sirenSounds" SLEEPING = "sleeping" SLOT_STATE = "slotState" SMART_KEY_BATTERY = "smartKeyBattery" SMOKE = "smoke" SNOOZE = "snooze" SOFTENER_TYPE = "softenerType" SOUND = "sound" SOUND_DETECTED = "soundDetected" SOUND_DETECTION_STATE = "soundDetectionState" SOUND_MODE = "soundMode" SOUND_PRESSURE_LEVEL = "soundPressureLevel" SOURCE = "source" SPECIALIZED_FUNCTION_CLASSIFICATION = "specializedFunctionClassification" SPECIFICATION = "specification" SPEED = "speed" SPEED_BOOSTER = "speedBooster" SPI_MODE = "spiMode" SPIN_SPEED = "spinSpeed" SYSTEM_TIME = "st" STAGE = "stage" STAGE_STATUS = "stageStatus" STANDBY_MODE = "standbyMode" START_DATE = "startDate" START_TIME = "startTime" START_VALUE = "startValue" STARTSTOP = "startstop" STATE = "state" STATELESS_MODE = "statelessMode" STATUS = "status" STATUS_LED_BLINKING_FREQ = "statusLedBlinkingFreq" STATUS_LED_COLOR = "statusLedColor" STATUS_LED_FIVE_COLOR = "statusLedFiveColor" STATUS_LED_FOUR_COLOR = "statusLedFourColor" STATUS_LED_ONE_COLOR = "statusLedOneColor" STATUS_LED_SEVEN_COLOR = "statusLedSevenColor" STATUS_LED_SIX_COLOR = "statusLedSixColor" STATUS_LED_THREE_COLOR = "statusLedThreeColor" STATUS_LED_TWO_COLOR = "statusLedTwoColor" STATUS_MESSAGE = "statusMessage" STEAM_CLOSET_AUTO_CYCLE_LINK = "steamClosetAutoCycleLink" STEAM_CLOSET_CYCLE = "steamClosetCycle" STEAM_CLOSET_DELAY_END_TIME = "steamClosetDelayEndTime" STEAM_CLOSET_JOB_STATE = "steamClosetJobState" STEAM_CLOSET_MACHINE_STATE = "steamClosetMachineState" STEAM_CLOSET_WRINKLE_PREVENT = "steamClosetWrinklePrevent" STEAM_SOAK = "steamSoak" STEPS = "steps" STEREO_TYPE = "stereoType" STOPPED_STATUS = "stoppedStatus" STORM_WASH = "stormWash" STORM_WATCH_ACTIVE = "stormWatchActive" STORM_WATCH_ENABLED = "stormWatchEnabled" STORM_WATCH_SUPPORT = "stormWatchSupport" STREAM = "stream" STREAM_CONTROL = "streamControl" STUN_URL = "stunUrl" SUB_DEVICE_ACTIVE = "subDeviceActive" SUB_DEVICES = "subDevices" SUBTITLE = "subtitle" SUGGESTION_THRESHOLD = "suggestionThreshold" SUMMARY = "summary" SUN_AZIMUTH_ANGLE = "sunAzimuthAngle" SUN_ELEVATION_ANGLE = "sunElevationAngle" SUN_RISE = "sunRise" SUN_RISE_OFFSET = "sunRiseOffset" SUN_SET = "sunSet" SUN_SET_OFFSET = "sunSetOffset" SUPPLY_STATE = "supplyState" SUPPORT_CUSTOM_CONTENT = "supportCustomContent" SUPPORT_REPEAT_MODE = "supportRepeatMode" SUPPORT_TOU_EVENT_NOTIFICATION = "supportTouEventNotification" SUPPORT_TOU_INFO = "supportTouInfo" SUPPORTED_ABSENCE_PERIODS = "supportedAbsencePeriods" SUPPORTED_AC_FAN_MODES = "supportedAcFanModes" SUPPORTED_AC_MODES = "supportedAcModes" SUPPORTED_AC_OPTIONAL_MODE = "supportedAcOptionalMode" SUPPORTED_ACTION_SETTINGS = "supportedActionSettings" SUPPORTED_ACTIONS = "supportedActions" SUPPORTED_AGING_METHODS = "supportedAgingMethods" SUPPORTED_AIR_PURIFIER_FAN_MODES = "supportedAirPurifierFanModes" SUPPORTED_AIR_QUALITY_HEALTH_CONCERNS = "supportedAirQualityHealthConcerns" SUPPORTED_AIR_QUALITY_VALUES = "supportedAirQualityValues" SUPPORTED_ALARM_SENSOR_STATES = "supportedAlarmSensorStates" SUPPORTED_ALARM_STATUSES = "supportedAlarmStatuses" SUPPORTED_ALARM_THRESHOLDS = "supportedAlarmThresholds" SUPPORTED_ALARM_VALUES = "supportedAlarmValues" SUPPORTED_ALERTS = "supportedAlerts" SUPPORTED_AMBIENT_APPS = "supportedAmbientApps" SUPPORTED_AMOUNT = "supportedAmount" SUPPORTED_AP_OPERATION_MODE = "supportedApOperationMode" SUPPORTED_AREAS = "supportedAreas" SUPPORTED_ARGUMENTS = "supportedArguments" SUPPORTED_ATTRIBUTES = "supportedAttributes" SUPPORTED_AUTH_TYPE = "supportedAuthType" SUPPORTED_AUTO_CLEANING_MODES = "supportedAutoCleaningModes" SUPPORTED_AUTOMATIC_EXECUTION_MODE = "supportedAutomaticExecutionMode" SUPPORTED_AUTOMATIC_EXECUTION_SETTING = "supportedAutomaticExecutionSetting" SUPPORTED_BRIGHTNESS_LEVEL = "supportedBrightnessLevel" SUPPORTED_BUTTON_VALUES = "supportedButtonValues" SUPPORTED_CARBON_DIOXIDE_VALUES = "supportedCarbonDioxideValues" SUPPORTED_CARBON_MONOXIDE_VALUES = "supportedCarbonMonoxideValues" SUPPORTED_CATEGORIES = "supportedCategories" SUPPORTED_CHARGE_POINT_STATES = "supportedChargePointStates" SUPPORTED_CHARGING_COMMANDS = "supportedChargingCommands" SUPPORTED_CHARGING_STATES = "supportedChargingStates" SUPPORTED_CLEANING_MODE = "supportedCleaningMode" SUPPORTED_CLEANING_TYPES = "supportedCleaningTypes" SUPPORTED_COLOR_TEMPERATURES = "supportedColorTemperatures" SUPPORTED_COMMANDS = "supportedCommands" SUPPORTED_CONDITIONS = "supportedConditions" SUPPORTED_CONTAINER_STATES = "supportedContainerStates" SUPPORTED_CONTEXTS = "supportedContexts" SUPPORTED_CONTROL_MODES = "supportedControlModes" SUPPORTED_COOKER_MODES = "supportedCookerModes" SUPPORTED_COOKTOP_OPERATING_STATE = "supportedCooktopOperatingState" SUPPORTED_COURSES = "supportedCourses" SUPPORTED_CREDENTIALS = "supportedCredentials" SUPPORTED_CYCLES = "supportedCycles" SUPPORTED_DEHUMIDIFIER_MODES = "supportedDehumidifierModes" SUPPORTED_DENSITY = "supportedDensity" SUPPORTED_DESIRED_TEMPERATURES = "supportedDesiredTemperatures" SUPPORTED_DETECTION_PROXIMITIES = "supportedDetectionProximities" SUPPORTED_DISHWASHER_MODES = "supportedDishwasherModes" SUPPORTED_DRIVING_MODES = "supportedDrivingModes" SUPPORTED_DRYER_DRY_LEVEL = "supportedDryerDryLevel" SUPPORTED_DRYING_TEMPERATURE = "supportedDryingTemperature" SUPPORTED_DRYING_TIME = "supportedDryingTime" SUPPORTED_DUST_VALUES = "supportedDustValues" SUPPORTED_ENERGY_SAVING_LEVELS = "supportedEnergySavingLevels" SUPPORTED_EVENTS = "supportedEvents" SUPPORTED_FAN_MODES = "supportedFanModes" SUPPORTED_FAN_OSCILLATION_MODES = "supportedFanOscillationModes" SUPPORTED_FEATURES = "supportedFeatures" SUPPORTED_FILTER_COMMANDS = "supportedFilterCommands" SUPPORTED_FINE_DUST_VALUES = "supportedFineDustValues" SUPPORTED_FOCUS_AREAS = "supportedFocusAreas" SUPPORTED_FORMALDEHYDE_VALUES = "supportedFormaldehydeValues" SUPPORTED_FREEZER_CONVERT_MODES = "supportedFreezerConvertModes" SUPPORTED_FRIDGE_MODES = "supportedFridgeModes" SUPPORTED_FULL_FRIDGE_MODES = "supportedFullFridgeModes" SUPPORTED_HEATING_MODES = "supportedHeatingModes" SUPPORTED_HOOD_FAN_SPEED = "supportedHoodFanSpeed" SUPPORTED_HOT_TEMPERATURES = "supportedHotTemperatures" SUPPORTED_INPUT_SOURCES = "supportedInputSources" SUPPORTED_INPUT_SOURCES_MAP = "supportedInputSourcesMap" SUPPORTED_KEY_CODES = "supportedKeyCodes" SUPPORTED_KIMCHI_STORAGE_MODES = "supportedKimchiStorageModes" SUPPORTED_LANGUAGES = "supportedLanguages" SUPPORTED_LEVELS = "supportedLevels" SUPPORTED_LIGHT_CONTROLLER_MODES = "supportedLightControllerModes" SUPPORTED_LIGHTING_LEVELS = "supportedLightingLevels" SUPPORTED_LIST = "supportedList" SUPPORTED_LOCK_COMMANDS = "supportedLockCommands" SUPPORTED_LOCK_VALUES = "supportedLockValues" SUPPORTED_MACHINE_STATES = "supportedMachineStates" SUPPORTED_MEAT_TYPES = "supportedMeatTypes" SUPPORTED_MENUS = "supportedMenus" SUPPORTED_MIMES = "supportedMimes" SUPPORTED_MODE_MAP = "supportedModeMap" SUPPORTED_MODES = "supportedModes" SUPPORTED_MOLD_VALUES = "supportedMoldValues" SUPPORTED_MOTION_POSITIONS = "supportedMotionPositions" SUPPORTED_MOVEMENTS = "supportedMovements" SUPPORTED_NITROGEN_DIOXIDE_VALUES = "supportedNitrogenDioxideValues" SUPPORTED_OPERATING_STATE = "supportedOperatingState" SUPPORTED_OPERATING_STATE_COMMANDS = "supportedOperatingStateCommands" SUPPORTED_OPERATING_STATES = "supportedOperatingStates" SUPPORTED_OPERATION_MODES = "supportedOperationModes" SUPPORTED_OPERATIONAL_STATES = "supportedOperationalStates" SUPPORTED_OPTIONS = "supportedOptions" SUPPORTED_OVEN_MODES = "supportedOvenModes" SUPPORTED_OZONE_VALUES = "supportedOzoneValues" SUPPORTED_PET_ACTIVITIES = "supportedPetActivities" SUPPORTED_PICTURE_MODES = "supportedPictureModes" SUPPORTED_PICTURE_MODES_MAP = "supportedPictureModesMap" SUPPORTED_PLAYBACK_COMMANDS = "supportedPlaybackCommands" SUPPORTED_POSITIONS = "supportedPositions" SUPPORTED_POWER_LEVELS = "supportedPowerLevels" SUPPORTED_POWER_SAVINGS = "supportedPowerSavings" SUPPORTED_PRESSURE_LEVELS = "supportedPressureLevels" SUPPORTED_PUBLISHER_I_DS = "supportedPublisherIDs" SUPPORTED_RADON_VALUES = "supportedRadonValues" SUPPORTED_RINSE_MODES = "supportedRinseModes" SUPPORTED_ROBOT_CLEANER_STATES = "supportedRobotCleanerStates" SUPPORTED_ROBOT_COMMANDS = "supportedRobotCommands" SUPPORTED_ROBOT_STATES = "supportedRobotStates" SUPPORTED_SCENES = "supportedScenes" SUPPORTED_SECURITY_SYSTEM_COMMANDS = "supportedSecuritySystemCommands" SUPPORTED_SECURITY_SYSTEM_STATUSES = "supportedSecuritySystemStatuses" SUPPORTED_SET_TIMES = "supportedSetTimes" SUPPORTED_SOUND_MODES = "supportedSoundModes" SUPPORTED_SOUND_MODES_MAP = "supportedSoundModesMap" SUPPORTED_SOUND_TYPES = "supportedSoundTypes" SUPPORTED_SPIN_SPEEDS = "supportedSpinSpeeds" SUPPORTED_STATUS = "supportedStatus" SUPPORTED_STATUSES = "supportedStatuses" SUPPORTED_STEAM_CLOSET_JOB_STATE = "supportedSteamClosetJobState" SUPPORTED_STEAM_CLOSET_MACHINE_STATE = "supportedSteamClosetMachineState" SUPPORTED_TEMPERATURE_LEVELS = "supportedTemperatureLevels" SUPPORTED_THERMOSTAT_FAN_MODES = "supportedThermostatFanModes" SUPPORTED_THERMOSTAT_MODES = "supportedThermostatModes" SUPPORTED_THERMOSTAT_OPERATING_STATES = "supportedThermostatOperatingStates" SUPPORTED_TRACK_CONTROL_COMMANDS = "supportedTrackControlCommands" SUPPORTED_TVOC_VALUES = "supportedTvocValues" SUPPORTED_TYPES = "supportedTypes" SUPPORTED_UNLOCK_DIRECTIONS = "supportedUnlockDirections" SUPPORTED_VALUES = "supportedValues" SUPPORTED_VERY_FINE_DUST_VALUES = "supportedVeryFineDustValues" SUPPORTED_VIEW_MODES = "supportedViewModes" SUPPORTED_VIEW_MODES_MAP = "supportedViewModesMap" SUPPORTED_VOLUME_LEVELS = "supportedVolumeLevels" SUPPORTED_WASHER_RINSE_CYCLES = "supportedWasherRinseCycles" SUPPORTED_WASHER_SOIL_LEVEL = "supportedWasherSoilLevel" SUPPORTED_WASHER_SPIN_LEVEL = "supportedWasherSpinLevel" SUPPORTED_WASHER_WATER_TEMPERATURE = "supportedWasherWaterTemperature" SUPPORTED_WASHING_TIMES = "supportedWashingTimes" SUPPORTED_WATER_LEVEL = "supportedWaterLevel" SUPPORTED_WATER_SPRAY_LEVELS = "supportedWaterSprayLevels" SUPPORTED_WATER_VALVE = "supportedWaterValve" SUPPORTED_WI_FI_FREQ = "supportedWiFiFreq" SUPPORTED_WIND_MODES = "supportedWindModes" SUPPORTED_WINDOW_SHADE_COMMANDS = "supportedWindowShadeCommands" SUPPORTS_COLOR = "supportsColor" SUPPORTS_COLOR_TEMPERATURE = "supportsColorTemperature" SUPPORTS_DIMMING = "supportsDimming" SUPPORTS_ON = "supportsOn" SUPPORTS_POWER_ON_BY_OCF = "supportsPowerOnByOcf" SUPPORTS_PROGRESS_REPORTS = "supportsProgressReports" SURFACE_RESIDUAL_HEAT = "surfaceResidualHeat" SWITCH = "switch" SWITCH_ALL_ON_OFF = "switchAllOnOff" SWITCH_STATE = "switchState" SYSTEM_PREHEATING = "systemPreheating" TAG_BUTTON = "tagButton" TAG_STATUS = "tagStatus" TALKBACK = "talkback" TALKBACK_DUPLEX = "talkbackDuplex" TAMPER = "tamper" TAMPER_SENSITIVITY = "tamperSensitivity" TARGET_END_TIME = "targetEndTime" TARGET_MODULE = "targetModule" TARIFF_NAME = "tariffName" TARIFF_PROVIDER = "tariffProvider" TEMP_CONDITION = "tempCondition" TEMP_TARGET = "tempTarget" TEMPERATURE = "temperature" TEMPERATURE_ALARM = "temperatureAlarm" TEMPERATURE_HUMIDITY = "temperatureHumidity" TEMPERATURE_LEVEL = "temperatureLevel" TEMPERATURE_RANGE = "temperatureRange" TEMPERATURE_REFERENCE = "temperatureReference" TEMPERATURE_SETPOINT = "temperatureSetpoint" TEMPERATURE_SETPOINT_RANGE = "temperatureSetpointRange" TEXT = "text" THERMOSTAT_FAN_MODE = "thermostatFanMode" THERMOSTAT_FAN_SETTING = "thermostatFanSetting" THERMOSTAT_LOCKED = "thermostatLocked" THERMOSTAT_MODE = "thermostatMode" THERMOSTAT_OPERATING_STATE = "thermostatOperatingState" THERMOSTAT_SETPOINT = "thermostatSetpoint" THERMOSTAT_SETPOINT_RANGE = "thermostatSetpointRange" THREAD_HARDWARE_AVAILABILITY = "threadHardwareAvailability" THREAD_REQUIRES_EXTERNAL_HARDWARE = "threadRequiresExternalHardware" THREE_AXIS = "threeAxis" TIME_LEFT_TO_START = "timeLeftToStart" TIME_OFFSET = "timeOffset" TIMED_CLEAN_DURATION = "timedCleanDuration" TIMED_CLEAN_DURATION_RANGE = "timedCleanDurationRange" TIMEOUT_DURATION = "timeoutDuration" TIMER_NEXT_CHANGE = "timerNextChange" TIMER_SECONDS = "timerSeconds" TIMER_TYPE = "timerType" TIMEZONE = "timezone" TIRE_PRESSURE_FRONT_LEFT = "tirePressureFrontLeft" TIRE_PRESSURE_FRONT_RIGHT = "tirePressureFrontRight" TIRE_PRESSURE_REAR_LEFT = "tirePressureRearLeft" TIRE_PRESSURE_REAR_RIGHT = "tirePressureRearRight" TIRE_PRESSURE_STATE = "tirePressureState" TITLE = "title" TODAY_USAGE_VIEW_AVAILABLE = "todayUsageViewAvailable" TOPICLIST = "topiclist" TOTAL_TIME = "totalTime" TOTAL_USERS_SUPPORTED = "totalUsersSupported" TOU_EVENT_NOTIFICATION = "touEventNotification" TOU_INFO = "touInfo" TOUCH = "touch" TRACK_DATA = "trackData" TRACK_DESCRIPTION = "trackDescription" TS_ID = "tsId" TURN_INFO = "turnInfo" TV_CHANNEL = "tvChannel" TV_CHANNEL_NAME = "tvChannelName" TVCHANNEL = "tvchannel" TVOC_HEALTH_CONCERN = "tvocHealthConcern" TVOC_LEVEL = "tvocLevel" TXIC_DEVICE_FW_VER = "txicDeviceFwVer" TYPE = "type" ULTRAVIOLET_INDEX = "ultravioletIndex" UNAVAILABLE_COMMANDS = "unavailableCommands" UNLOCK_CODE_NAME = "unlockCodeName" UPDATE_AVAILABLE = "updateAvailable" UPDATED_TIME = "updatedTime" UPLINK_SPEED = "uplinkSpeed" URI = "uri" USAGE = "usage" USAGE_TIME = "usageTime" USER_CODE = "userCode" USER_ID = "userId" USER_LIST = "userList" USER_LOCATION = "userLocation" USER_NAME = "userName" USERS = "users" UVC_INTENSIVE = "uvcIntensive" UWB_ACTIVATION = "uwbActivation" VACATION_MODE = "vacationMode" VALUE = "value" VALVE = "valve" VEHICLE_COLOR = "vehicleColor" VEHICLE_ID = "vehicleId" VEHICLE_IMAGE = "vehicleImage" VEHICLE_MAKE = "vehicleMake" VEHICLE_MODEL = "vehicleModel" VEHICLE_PLATE = "vehiclePlate" VEHICLE_TRIM = "vehicleTrim" VEHICLE_YEAR = "vehicleYear" VERSION = "version" VERSION_NUMBER = "versionNumber" VERSIONS = "versions" VERY_FINE_DUST_FILTER_CAPACITY = "veryFineDustFilterCapacity" VERY_FINE_DUST_FILTER_LAST_RESET_DATE = "veryFineDustFilterLastResetDate" VERY_FINE_DUST_FILTER_RESET_TYPE = "veryFineDustFilterResetType" VERY_FINE_DUST_FILTER_STATUS = "veryFineDustFilterStatus" VERY_FINE_DUST_FILTER_USAGE = "veryFineDustFilterUsage" VERY_FINE_DUST_FILTER_USAGE_STEP = "veryFineDustFilterUsageStep" VERY_FINE_DUST_HEALTH_CONCERN = "veryFineDustHealthConcern" VERY_FINE_DUST_LEVEL = "veryFineDustLevel" VHUMIDITY = "vhumidity" VENDOR_ID = "vid" VIDEO_CLIP = "videoClip" VIRUS_DOCTOR_MODE = "virusDoctorMode" VISIBLE_FEATURES = "visibleFeatures" VOLTAGE = "voltage" VOLUME = "volume" VOLUME_ALARM = "volumeAlarm" VOLUME_LEVEL = "volumeLevel" VOLUME_LEVEL_RANGE = "volumeLevelRange" VTEMP = "vtemp" W_SPEED = "wSpeed" WASHER_AUTO_DETERGENT = "washerAutoDetergent" WASHER_AUTO_SOFTENER = "washerAutoSoftener" WASHER_CYCLE = "washerCycle" WASHER_FLUID = "washerFluid" WASHER_JOB_PHASE = "washerJobPhase" WASHER_JOB_STATE = "washerJobState" WASHER_MODE = "washerMode" WASHER_RINSE_CYCLES = "washerRinseCycles" WASHER_SOIL_LEVEL = "washerSoilLevel" WASHER_SPIN_LEVEL = "washerSpinLevel" WASHER_WATER_TEMPERATURE = "washerWaterTemperature" WASHING_COUNT_AFTER_SELF_CLEAN = "washingCountAfterSelfClean" WASHING_COURSE = "washingCourse" WASHING_TIME = "washingTime" WATER = "water" WATER_CONSUMPTION = "waterConsumption" WATER_FILTER_CAPACITY = "waterFilterCapacity" WATER_FILTER_LAST_RESET_DATE = "waterFilterLastResetDate" WATER_FILTER_RESET_TYPE = "waterFilterResetType" WATER_FILTER_STATUS = "waterFilterStatus" WATER_FILTER_USAGE = "waterFilterUsage" WATER_FILTER_USAGE_STEP = "waterFilterUsageStep" WATER_LEVEL = "waterLevel" WATER_PURIFIER_COLD_WATER_LOCK = "waterPurifierColdWaterLock" WATER_PURIFIER_HOT_WATER_LOCK = "waterPurifierHotWaterLock" WATER_SPRAY_LEVEL = "waterSprayLevel" WATER_USAGE_DAY = "waterUsageDay" WATER_USAGE_MAX = "waterUsageMax" WATER_USAGE_MONTH = "waterUsageMonth" WATER_VALVE = "waterValve" WATTS = "watts" WAYPOINTS = "waypoints" WEEK_DAY_SCHEDULES = "weekDaySchedules" WEEK_DAY_SCHEDULES_PER_USER = "weekDaySchedulesPerUser" WEIGHT = "weight" WELCOME_CARE_MODE = "welcomeCareMode" WELCOME_MESSAGE = "welcomeMessage" WIFI_GUEST_NETWORK_NAME = "wifiGuestNetworkName" WIFI_GUEST_NETWORK_STATUS = "wifiGuestNetworkStatus" WIFI_NETWORK_NAME = "wifiNetworkName" WIFI_NETWORK_STATUS = "wifiNetworkStatus" WIFI_UPDATE_SUPPORT = "wifiUpdateSupport" WIND_MODE = "windMode" WINDDEG = "winddeg" WINDGUST = "windgust" WINDOW_SHADE = "windowShade" WINDSPEED = "windspeed" WIRELESS_OPERATING_MODE = "wirelessOperatingMode" YEAR_DAY_SCHEDULES = "yearDaySchedules" YEAR_DAY_SCHEDULES_PER_USER = "yearDaySchedulesPerUser" ZCL_VERSION = "zclVersion" ZIGBEE_HARDWARE_AVAILABILITY = "zigbeeHardwareAvailability" ZIGBEE_REQUIRES_EXTERNAL_HARDWARE = "zigbeeRequiresExternalHardware" ZONE_BOOSTER = "zoneBooster" ZONE_INFO = "zoneInfo" ZONE_STATE = "zoneState" ZWAVE_HARDWARE_AVAILABILITY = "zwaveHardwareAvailability" ZWAVE_REQUIRES_EXTERNAL_HARDWARE = "zwaveRequiresExternalHardware" CAPABILITY_ATTRIBUTES: dict[Capability, list[Attribute]] = { Capability.ACCELERATION_SENSOR: [Attribute.ACCELERATION], Capability.ACTIVITY_LIGHTING_MODE: [Attribute.LIGHTING_MODE], Capability.ACTIVITY_SENSOR: [Attribute.ACTIVITY], Capability.ACTUATOR: [], Capability.AIR_CONDITIONER_FAN_MODE: [ Attribute.AVAILABLE_AC_FAN_MODES, Attribute.FAN_MODE, Attribute.SUPPORTED_AC_FAN_MODES, ], Capability.AIR_CONDITIONER_MODE: [ Attribute.AIR_CONDITIONER_MODE, Attribute.AVAILABLE_AC_MODES, Attribute.SUPPORTED_AC_MODES, ], Capability.AIR_PURIFIER_FAN_MODE: [ Attribute.AIR_PURIFIER_FAN_MODE, Attribute.SUPPORTED_AIR_PURIFIER_FAN_MODES, ], Capability.AIR_QUALITY_HEALTH_CONCERN: [ Attribute.AIR_QUALITY_HEALTH_CONCERN, Attribute.SUPPORTED_AIR_QUALITY_VALUES, ], Capability.AIR_QUALITY_SENSOR: [Attribute.AIR_QUALITY], Capability.ALARM: [Attribute.ALARM], Capability.ALARM_SENSOR: [ Attribute.ALARM_SENSOR_STATE, Attribute.SUPPORTED_ALARM_SENSOR_STATES, ], Capability.APPLIANCE_UTILIZATION: [Attribute.STATUS], Capability.ATMOSPHERIC_PRESSURE_MEASUREMENT: [Attribute.ATMOSPHERIC_PRESSURE], Capability.AUDIO_CAPTURE: [Attribute.CLIP, Attribute.STREAM], Capability.AUDIO_MUTE: [Attribute.MUTE], Capability.AUDIO_NOTIFICATION: [], Capability.AUDIO_STREAM: [Attribute.URI], Capability.AUDIO_TRACK_ADDRESSING: [], Capability.AUDIO_TRACK_DATA: [ Attribute.AUDIO_TRACK_DATA, Attribute.ELAPSED_TIME, Attribute.TOTAL_TIME, ], Capability.AUDIO_VOLUME: [Attribute.VOLUME], Capability.BATCH_GAS_CONSUMPTION_REPORT: [ Attribute.HOURLY_GAS_CONSUMPTIONS, Attribute.HOURLY_USAGE_VIEW_AVAILABLE, Attribute.TODAY_USAGE_VIEW_AVAILABLE, ], Capability.BATTERY: [Attribute.BATTERY, Attribute.QUANTITY, Attribute.TYPE], Capability.BATTERY_LEVEL: [Attribute.BATTERY, Attribute.QUANTITY, Attribute.TYPE], Capability.BEACON: [Attribute.PRESENCE], Capability.BODY_MASS_INDEX_MEASUREMENT: [Attribute.BMI_MEASUREMENT], Capability.BODY_WEIGHT_MEASUREMENT: [Attribute.BODY_WEIGHT_MEASUREMENT], Capability.BRIDGE: [], Capability.BUFFERED_VIDEO_CAPTURE: [Attribute.CLIP], Capability.BUTTON: [ Attribute.BUTTON, Attribute.NUMBER_OF_BUTTONS, Attribute.SUPPORTED_BUTTON_VALUES, ], Capability.BYPASSABLE: [Attribute.BYPASS_STATUS], Capability.CAMERA_EVENT: [Attribute.EVENT, Attribute.SUPPORTED_EVENTS], Capability.CAMERA_PRESET: [Attribute.PRESETS], Capability.CARBON_DIOXIDE_HEALTH_CONCERN: [ Attribute.CARBON_DIOXIDE_HEALTH_CONCERN, Attribute.SUPPORTED_CARBON_DIOXIDE_VALUES, ], Capability.CARBON_DIOXIDE_MEASUREMENT: [Attribute.CARBON_DIOXIDE], Capability.CARBON_MONOXIDE_DETECTOR: [Attribute.CARBON_MONOXIDE], Capability.CARBON_MONOXIDE_HEALTH_CONCERN: [ Attribute.CARBON_MONOXIDE_HEALTH_CONCERN, Attribute.SUPPORTED_CARBON_MONOXIDE_VALUES, ], Capability.CARBON_MONOXIDE_MEASUREMENT: [Attribute.CARBON_MONOXIDE_LEVEL], Capability.CHARGE_POINT_STATE: [ Attribute.CHARGE_POINT_STATE, Attribute.SUPPORTED_CHARGE_POINT_STATES, ], Capability.CHARGING_STATE: [ Attribute.CHARGING_STATE, Attribute.SUPPORTED_CHARGING_STATES, ], Capability.CHIME: [Attribute.CHIME], Capability.COLOR: [Attribute.COLOR_VALUE], Capability.COLOR_CONTROL: [Attribute.COLOR, Attribute.HUE, Attribute.SATURATION], Capability.COLOR_MODE: [Attribute.COLOR_MODE], Capability.COLOR_TEMPERATURE: [ Attribute.COLOR_TEMPERATURE, Attribute.COLOR_TEMPERATURE_RANGE, ], Capability.CONFIGURATION: [], Capability.CONSUMABLE: [Attribute.CONSUMABLE_STATUS], Capability.CONSUMABLE_LIFE: [ Attribute.LIFESPAN, Attribute.START_DATE, Attribute.TYPE, ], Capability.CONTACT_SENSOR: [Attribute.CONTACT], Capability.CONTAINER_STATE: [ Attribute.CONTAINER_STATE, Attribute.CONTENT, Attribute.SUPPORTED_CONTAINER_STATES, ], Capability.COOK_TIME: [Attribute.COOK_TIME, Attribute.COOK_TIME_RANGE], Capability.CURRENT_MEASUREMENT: [Attribute.CURRENT], Capability.DELIVERY_ROBOT_CALL: [ Attribute.ROBOT_STATE, Attribute.SUPPORTED_ROBOT_COMMANDS, Attribute.SUPPORTED_ROBOT_STATES, ], Capability.DEMAND_RESPONSE_LOAD_CONTROL: [ Attribute.DEMAND_RESPONSE_LOAD_CONTROL_STATUS ], Capability.DEW_POINT: [Attribute.DEWPOINT], Capability.DISHWASHER_MODE: [ Attribute.DISHWASHER_MODE, Attribute.SUPPORTED_DISHWASHER_MODES, ], Capability.DISHWASHER_OPERATING_STATE: [ Attribute.COMPLETION_TIME, Attribute.DISHWASHER_JOB_STATE, Attribute.MACHINE_STATE, Attribute.PROGRESS, Attribute.SUPPORTED_MACHINE_STATES, ], Capability.DISHWASHER_OPERATIONAL_STATE: [ Attribute.COMPLETION_TIME, Attribute.DISHWASHER_JOB_STATE, Attribute.MACHINE_STATE, Attribute.SUPPORTED_MACHINE_STATES, ], Capability.DOOR_CONTROL: [Attribute.DOOR], Capability.DRIVING_STATUS: [Attribute.DRIVING_STATUS], Capability.DRYER_MODE: [Attribute.DRYER_MODE], Capability.DRYER_OPERATING_STATE: [ Attribute.COMPLETION_TIME, Attribute.DRYER_JOB_STATE, Attribute.MACHINE_STATE, Attribute.SUPPORTED_MACHINE_STATES, ], Capability.DUST_HEALTH_CONCERN: [ Attribute.DUST_HEALTH_CONCERN, Attribute.SUPPORTED_DUST_VALUES, ], Capability.DUST_SENSOR: [Attribute.DUST_LEVEL, Attribute.FINE_DUST_LEVEL], Capability.ELEVATOR_CALL: [Attribute.CALL_STATUS], Capability.END_TO_END_ENCRYPTION: [ Attribute.ENCRYPTED_KEK, Attribute.ERROR, Attribute.NONCE, ], Capability.ENERGY_METER: [Attribute.ENERGY], Capability.EQUIVALENT_CARBON_DIOXIDE_MEASUREMENT: [ Attribute.EQUIVALENT_CARBON_DIOXIDE_MEASUREMENT ], Capability.ESTIMATED_TIME_OF_ARRIVAL: [Attribute.ETA], Capability.EVSE_CHARGING_SESSION: [ Attribute.CHARGING_STATE, Attribute.ENERGY_DELIVERED, Attribute.MAX_CURRENT, Attribute.MIN_CURRENT, Attribute.SESSION_TIME, Attribute.SUPPORTED_CHARGING_COMMANDS, Attribute.TARGET_END_TIME, ], Capability.EVSE_STATE: [ Attribute.FAULT_STATE, Attribute.STATE, Attribute.SUPPLY_STATE, ], Capability.EXECUTE: [Attribute.DATA], Capability.FACE_RECOGNITION: [Attribute.FACE_RECOGNIZED_EVENT, Attribute.USER_LIST], Capability.FAN_MODE: [Attribute.FAN_MODE, Attribute.SUPPORTED_FAN_MODES], Capability.FAN_OSCILLATION_MODE: [ Attribute.AVAILABLE_FAN_OSCILLATION_MODES, Attribute.FAN_OSCILLATION_MODE, Attribute.SUPPORTED_FAN_OSCILLATION_MODES, ], Capability.FAN_SPEED: [Attribute.FAN_SPEED], Capability.FAN_SPEED_PERCENT: [Attribute.PERCENT], Capability.FEEDER_OPERATING_STATE: [Attribute.FEEDER_OPERATING_STATE], Capability.FEEDER_PORTION: [Attribute.FEED_PORTION], Capability.FILTER_STATE: [ Attribute.FILTER_LIFE_REMAINING, Attribute.SUPPORTED_FILTER_COMMANDS, ], Capability.FILTER_STATUS: [Attribute.FILTER_STATUS], Capability.FINE_DUST_HEALTH_CONCERN: [ Attribute.FINE_DUST_HEALTH_CONCERN, Attribute.SUPPORTED_FINE_DUST_VALUES, ], Capability.FINE_DUST_SENSOR: [Attribute.FINE_DUST_LEVEL], Capability.FIRMWARE_UPDATE: [ Attribute.AVAILABLE_VERSION, Attribute.CURRENT_VERSION, Attribute.ESTIMATED_TIME_REMAINING, Attribute.IMAGE_TRANSFER_PROGRESS, Attribute.LAST_UPDATE_STATUS, Attribute.LAST_UPDATE_STATUS_REASON, Attribute.LAST_UPDATE_TIME, Attribute.STATE, Attribute.SUPPORTED_COMMANDS, Attribute.SUPPORTS_PROGRESS_REPORTS, Attribute.UPDATE_AVAILABLE, ], Capability.FLOW_MEASUREMENT: [Attribute.FLOW, Attribute.FLOW_RANGE], Capability.FORMALDEHYDE_HEALTH_CONCERN: [ Attribute.FORMALDEHYDE_HEALTH_CONCERN, Attribute.SUPPORTED_FORMALDEHYDE_VALUES, ], Capability.FORMALDEHYDE_MEASUREMENT: [Attribute.FORMALDEHYDE_LEVEL], Capability.GARAGE_DOOR_CONTROL: [Attribute.DOOR], Capability.GAS_CONSUMPTION_REPORT: [Attribute.GAS_CONSUMPTION], Capability.GAS_DETECTOR: [Attribute.GAS], Capability.GAS_METER: [ Attribute.GAS_METER, Attribute.GAS_METER_CALORIFIC, Attribute.GAS_METER_CONVERSION, Attribute.GAS_METER_PRECISION, Attribute.GAS_METER_TIME, Attribute.GAS_METER_VOLUME, ], Capability.GEOFENCE: [Attribute.ENABLE_STATE, Attribute.GEOFENCE, Attribute.NAME], Capability.GEOFENCES: [Attribute.GEOFENCES], Capability.GEOLOCATION: [ Attribute.ACCURACY, Attribute.ALTITUDE_ACCURACY, Attribute.HEADING, Attribute.LAST_UPDATE_TIME, Attribute.LATITUDE, Attribute.LONGITUDE, Attribute.METHOD, Attribute.SPEED, ], Capability.GRID_STATE: [Attribute.GRID], Capability.HARDWARE_FAULT: [Attribute.HARDWARE_FAULT], Capability.HEALTH_CHECK: [ Attribute.CHECK_INTERVAL, Attribute.DEVICE_WATCH_DEVICE_STATUS, Attribute.DEVICE_WATCH_ENROLL, Attribute.HEALTH_STATUS, ], Capability.HOLDABLE_BUTTON: [Attribute.BUTTON, Attribute.NUMBER_OF_BUTTONS], Capability.HUMIDIFIER_MODE: [Attribute.HUMIDIFIER_MODE], Capability.ILLUMINANCE_MEASUREMENT: [Attribute.ILLUMINANCE], Capability.IMAGE_CAPTURE: [ Attribute.CAPTURE_TIME, Attribute.ENCRYPTED, Attribute.IMAGE, ], Capability.INDICATOR: [Attribute.INDICATOR_STATUS], Capability.INFRARED_LEVEL: [Attribute.INFRARED_LEVEL], Capability.KEYPAD_INPUT: [Attribute.SUPPORTED_KEY_CODES], Capability.LANGUAGE_SETTING: [Attribute.LANGUAGE, Attribute.SUPPORTED_LANGUAGES], Capability.LAUNDRY_WASHER_RINSE_MODE: [ Attribute.RINSE_MODE, Attribute.SUPPORTED_RINSE_MODES, ], Capability.LAUNDRY_WASHER_SPIN_SPEED: [ Attribute.SPIN_SPEED, Attribute.SUPPORTED_SPIN_SPEEDS, ], Capability.LEVEL: [Attribute.LEVEL, Attribute.LEVEL_RANGE], Capability.LIGHT: [Attribute.SWITCH], Capability.LIGHT_CONTROLLER_MODE: [ Attribute.LIGHT_CONTROLLER_MODE, Attribute.SUPPORTED_LIGHT_CONTROLLER_MODES, ], Capability.LOCATION_MODE: [Attribute.MODE], Capability.LOCK: [ Attribute.LOCK, Attribute.SUPPORTED_LOCK_COMMANDS, Attribute.SUPPORTED_LOCK_VALUES, Attribute.SUPPORTED_UNLOCK_DIRECTIONS, ], Capability.LOCK_ALARM: [Attribute.ALARM, Attribute.SUPPORTED_ALARM_VALUES], Capability.LOCK_CODES: [ Attribute.CODE_CHANGED, Attribute.CODE_LENGTH, Attribute.CODE_REPORT, Attribute.LOCK, Attribute.LOCK_CODES, Attribute.MAX_CODES, Attribute.MAX_CODE_LENGTH, Attribute.MIGRATED, Attribute.MIN_CODE_LENGTH, Attribute.SCAN_CODES, ], Capability.LOCK_CREDENTIALS: [ Attribute.COMMAND_RESULT, Attribute.CREDENTIALS, Attribute.MAX_PIN_CODE_LEN, Attribute.MIN_PIN_CODE_LEN, Attribute.PIN_USERS_SUPPORTED, Attribute.SUPPORTED_CREDENTIALS, ], Capability.LOCK_ONLY: [Attribute.LOCK], Capability.LOCK_SCHEDULES: [ Attribute.COMMAND_RESULT, Attribute.WEEK_DAY_SCHEDULES, Attribute.WEEK_DAY_SCHEDULES_PER_USER, Attribute.YEAR_DAY_SCHEDULES, Attribute.YEAR_DAY_SCHEDULES_PER_USER, ], Capability.LOCK_USERS: [ Attribute.COMMAND_RESULT, Attribute.TOTAL_USERS_SUPPORTED, Attribute.USERS, ], Capability.LOG_TRIGGER: [ Attribute.LOG_INFO, Attribute.LOG_REQUEST_STATE, Attribute.LOG_STATE, ], Capability.MASSAGE_INTENSITY_CHANGE: [Attribute.SUPPORTED_POSITIONS], Capability.MASSAGE_INTENSITY_CONTROL: [ Attribute.INTENSITY_FOOT, Attribute.INTENSITY_HEAD, Attribute.INTENSITY_RANGE, Attribute.INTENSITY_WHOLE, Attribute.SUPPORTED_POSITIONS, ], Capability.MASSAGE_OPERATING: [Attribute.MASSAGE_STATE], Capability.MASSAGE_OPERATING_STATE: [Attribute.MASSAGE_STATE], Capability.MASSAGE_TIME_CHANGE: [], Capability.MASSAGE_TIME_CONTROL: [ Attribute.COMPLETION_TIME, Attribute.SUPPORTED_SET_TIMES, ], Capability.MEDIA_CONTROLLER: [Attribute.ACTIVITIES, Attribute.CURRENT_ACTIVITY], Capability.MEDIA_GROUP: [ Attribute.GROUP_ID, Attribute.GROUP_MUTE, Attribute.GROUP_PRIMARY_DEVICE_ID, Attribute.GROUP_ROLE, Attribute.GROUP_VOLUME, ], Capability.MEDIA_INPUT_SOURCE: [ Attribute.INPUT_SOURCE, Attribute.SUPPORTED_INPUT_SOURCES, ], Capability.MEDIA_PLAYBACK: [ Attribute.PLAYBACK_STATUS, Attribute.SUPPORTED_PLAYBACK_COMMANDS, ], Capability.MEDIA_PLAYBACK_REPEAT: [Attribute.PLAYBACK_REPEAT_MODE], Capability.MEDIA_PLAYBACK_SHUFFLE: [Attribute.PLAYBACK_SHUFFLE], Capability.MEDIA_PRESETS: [Attribute.PRESETS], Capability.MEDIA_TRACK_CONTROL: [Attribute.SUPPORTED_TRACK_CONTROL_COMMANDS], Capability.MODE: [ Attribute.MODE, Attribute.SUPPORTED_ARGUMENTS, Attribute.SUPPORTED_MODES, ], Capability.MOLD_HEALTH_CONCERN: [ Attribute.MOLD_HEALTH_CONCERN, Attribute.SUPPORTED_MOLD_VALUES, ], Capability.MOMENTARY: [], Capability.MOTION_BED: [ Attribute.MODE, Attribute.STATELESS_MODE, Attribute.SUPPORTED_MODES, Attribute.SUPPORTED_MOTION_POSITIONS, ], Capability.MOTION_SENSOR: [Attribute.MOTION], Capability.MOVEMENT_SENSOR: [Attribute.MOVEMENT, Attribute.SUPPORTED_MOVEMENTS], Capability.MULTIPLE_ZONE_PRESENCE: [Attribute.ZONE_STATE], Capability.MUSIC_PLAYER: [ Attribute.LEVEL, Attribute.MUTE, Attribute.STATUS, Attribute.TRACK_DATA, Attribute.TRACK_DESCRIPTION, ], Capability.NETWORK_METER: [Attribute.DOWNLINK_SPEED, Attribute.UPLINK_SPEED], Capability.NITROGEN_DIOXIDE_HEALTH_CONCERN: [ Attribute.NITROGEN_DIOXIDE_HEALTH_CONCERN, Attribute.SUPPORTED_NITROGEN_DIOXIDE_VALUES, ], Capability.NITROGEN_DIOXIDE_MEASUREMENT: [Attribute.NITROGEN_DIOXIDE], Capability.NOTIFICATION: [], Capability.OBJECT_DETECTION: [Attribute.DETECTED, Attribute.SUPPORTED_VALUES], Capability.OCCUPANCY_SENSOR: [Attribute.OCCUPANCY], Capability.OCF: [ Attribute.DATA_MODEL_VERSION, Attribute.DEVICE_NAME, Attribute.HARDWARE_VERSION, Attribute.MANUFACTURER_DETAILS_LINK, Attribute.MANUFACTURER_NAME, Attribute.MANUFACTURE_DATE, Attribute.MODEL_NUMBER, Attribute.OCF_DEVICE_ID, Attribute.OCF_FIRMWARE_VERSION, Attribute.OS_VERSION, Attribute.PLATFORM_ID, Attribute.PLATFORM_VERSION, Attribute.SPEC_VERSION, Attribute.SUPPORT_LINK, Attribute.SYSTEM_TIME, Attribute.VENDOR_ID, ], Capability.ODOR_SENSOR: [Attribute.ODOR_LEVEL], Capability.OPERATING_STATE: [ Attribute.MACHINE_STATE, Attribute.SUPPORTED_MACHINE_STATES, ], Capability.OPERATIONAL_STATE: [ Attribute.OPERATIONAL_STATE, Attribute.SUPPORTED_COMMANDS, Attribute.SUPPORTED_OPERATIONAL_STATES, ], Capability.OUTLET: [Attribute.SWITCH], Capability.OVEN_MODE: [Attribute.OVEN_MODE, Attribute.SUPPORTED_OVEN_MODES], Capability.OVEN_OPERATING_STATE: [ Attribute.COMPLETION_TIME, Attribute.MACHINE_STATE, Attribute.OPERATION_TIME, Attribute.OVEN_JOB_STATE, Attribute.PROGRESS, Attribute.SUPPORTED_MACHINE_STATES, ], Capability.OVEN_OPERATIONAL_STATE: [ Attribute.COMPLETION_TIME, Attribute.MACHINE_STATE, Attribute.OPERATION_TIME, Attribute.OVEN_JOB_STATE, Attribute.PROGRESS, Attribute.SUPPORTED_MACHINE_STATES, ], Capability.OVEN_SETPOINT: [Attribute.OVEN_SETPOINT, Attribute.OVEN_SETPOINT_RANGE], Capability.OZONE_HEALTH_CONCERN: [ Attribute.OZONE_HEALTH_CONCERN, Attribute.SUPPORTED_OZONE_VALUES, ], Capability.OZONE_MEASUREMENT: [Attribute.OZONE], Capability.PH_MEASUREMENT: [Attribute.PH], Capability.PANIC_ALARM: [Attribute.PANIC_ALARM], Capability.PEST_CONTROL: [Attribute.PEST_CONTROL], Capability.PET_ACTIVITY: [ Attribute.PET_ACTIVITY, Attribute.SUPPORTED_PET_ACTIVITIES, ], Capability.POLLING: [], Capability.POWER_CONSUMPTION_REPORT: [Attribute.POWER_CONSUMPTION], Capability.POWER_METER: [Attribute.POWER], Capability.POWER_SOURCE: [Attribute.POWER_SOURCE], Capability.PRECIPITATION_MEASUREMENT: [Attribute.PRECIPITATION_LEVEL], Capability.PRECIPITATION_RATE: [Attribute.PRECIPITATION_RATE], Capability.PRECIPITATION_SENSOR: [Attribute.PRECIPITATION_INTENSITY], Capability.PRESENCE_SENSOR: [Attribute.PRESENCE], Capability.PUMP_CONTROL_MODE: [ Attribute.CONTROL_MODE, Attribute.CURRENT_CONTROL_MODE, Attribute.SUPPORTED_CONTROL_MODES, ], Capability.PUMP_OPERATION_MODE: [ Attribute.CURRENT_OPERATION_MODE, Attribute.OPERATION_MODE, Attribute.SUPPORTED_OPERATION_MODES, ], Capability.RADON_HEALTH_CONCERN: [ Attribute.RADON_HEALTH_CONCERN, Attribute.SUPPORTED_RADON_VALUES, ], Capability.RADON_MEASUREMENT: [Attribute.RADON_LEVEL], Capability.RAIN_SENSOR: [Attribute.RAIN], Capability.RAPID_COOLING: [Attribute.RAPID_COOLING], Capability.REFRESH: [], Capability.REFRIGERATION: [ Attribute.DEFROST, Attribute.RAPID_COOLING, Attribute.RAPID_FREEZING, ], Capability.REFRIGERATION_SETPOINT: [Attribute.REFRIGERATION_SETPOINT], Capability.RELATIVE_BRIGHTNESS: [Attribute.BRIGHTNESS_INTENSITY], Capability.RELATIVE_HUMIDITY_MEASUREMENT: [Attribute.HUMIDITY], Capability.RELAY_SWITCH: [Attribute.SWITCH], Capability.REMOTE_CONTROL_STATUS: [Attribute.REMOTE_CONTROL_ENABLED], Capability.RICE_COOKER: [ Attribute.COMPLETION_TIME, Attribute.COOKER_MODE, Attribute.COOKER_STATE, Attribute.EVENT, Attribute.MENU, Attribute.SCHEDULABLE_MENUS, Attribute.SCHEDULED_TIME, Attribute.SCHEDULING_ENABLED, Attribute.START_TIME, Attribute.SUPPORTED_COOKER_MODES, Attribute.SUPPORTED_EVENTS, Attribute.SUPPORTED_MENUS, ], Capability.ROBOT_CLEANER_CLEANING_MODE: [Attribute.ROBOT_CLEANER_CLEANING_MODE], Capability.ROBOT_CLEANER_MOVEMENT: [Attribute.ROBOT_CLEANER_MOVEMENT], Capability.ROBOT_CLEANER_OPERATING_STATE: [ Attribute.OPERATING_STATE, Attribute.SUPPORTED_COMMANDS, Attribute.SUPPORTED_OPERATING_STATES, Attribute.SUPPORTED_OPERATING_STATE_COMMANDS, ], Capability.ROBOT_CLEANER_STATE: [ Attribute.ROBOT_CLEANER_CLEANING_STATE, Attribute.ROBOT_CLEANER_CONTROL_STATE, Attribute.ROBOT_CLEANER_TURBO_STATE, Attribute.SUPPORTED_ROBOT_CLEANER_STATES, ], Capability.ROBOT_CLEANER_TURBO_MODE: [Attribute.ROBOT_CLEANER_TURBO_MODE], Capability.SAMSUNG_T_V: [ Attribute.MESSAGE_BUTTON, Attribute.MUTE, Attribute.PICTURE_MODE, Attribute.SOUND_MODE, Attribute.SWITCH, Attribute.VOLUME, ], Capability.SCENE_ACTIVITY: [Attribute.ACTIVATED_SCENE, Attribute.SUPPORTED_SCENES], Capability.SCENES: [Attribute.SCENE, Attribute.SUPPORTED_SCENES], Capability.SCENT: [Attribute.SCENT_INTENSITY, Attribute.SCENT_NAME], Capability.SECURITY_SYSTEM: [ Attribute.ALARM, Attribute.SECURITY_SYSTEM_STATUS, Attribute.SENSOR_STATUS, Attribute.SUPPORTED_SECURITY_SYSTEM_COMMANDS, Attribute.SUPPORTED_SECURITY_SYSTEM_STATUSES, ], Capability.SENSOR: [], Capability.SERVICE_AREA: [Attribute.SELECTED_AREAS, Attribute.SUPPORTED_AREAS], Capability.SHOCK_SENSOR: [Attribute.SHOCK], Capability.SIGNAL_STRENGTH: [Attribute.LQI, Attribute.RSSI], Capability.SLEEP_SENSOR: [Attribute.SLEEPING], Capability.SMOKE_DETECTOR: [Attribute.SMOKE], Capability.SOUND_DETECTION: [ Attribute.SOUND_DETECTED, Attribute.SOUND_DETECTION_STATE, Attribute.SUPPORTED_SOUND_TYPES, ], Capability.SOUND_PRESSURE_LEVEL: [Attribute.SOUND_PRESSURE_LEVEL], Capability.SOUND_SENSOR: [Attribute.SOUND], Capability.SPEECH_RECOGNITION: [Attribute.PHRASE_SPOKEN], Capability.SPEECH_SYNTHESIS: [], Capability.STATELESS_CUSTOM_BUTTON: [Attribute.AVAILABLE_CUSTOM_BUTTONS], Capability.STATELESS_FANSPEED_BUTTON: [Attribute.AVAILABLE_FANSPEED_BUTTONS], Capability.STATELESS_POWER_BUTTON: [Attribute.AVAILABLE_POWER_BUTTONS], Capability.STATELESS_POWER_TOGGLE_BUTTON: [ Attribute.AVAILABLE_POWER_TOGGLE_BUTTONS ], Capability.STEP_SENSOR: [Attribute.GOAL, Attribute.STEPS], Capability.SWITCH: [Attribute.SWITCH], Capability.SWITCH_LEVEL: [Attribute.LEVEL, Attribute.LEVEL_RANGE], Capability.SWITCH_STATE: [Attribute.SWITCH_STATE], Capability.T_V: [ Attribute.CHANNEL, Attribute.MOVIE_MODE, Attribute.PICTURE, Attribute.POWER, Attribute.SOUND, Attribute.VOLUME, ], Capability.TAMPER_ALERT: [Attribute.TAMPER], Capability.TEMPERATURE_ALARM: [Attribute.TEMPERATURE_ALARM], Capability.TEMPERATURE_LEVEL: [ Attribute.SUPPORTED_TEMPERATURE_LEVELS, Attribute.TEMPERATURE_LEVEL, ], Capability.TEMPERATURE_MEASUREMENT: [ Attribute.TEMPERATURE, Attribute.TEMPERATURE_RANGE, ], Capability.TEMPERATURE_SETPOINT: [ Attribute.TEMPERATURE_SETPOINT, Attribute.TEMPERATURE_SETPOINT_RANGE, ], Capability.THERMOSTAT: [ Attribute.COOLING_SETPOINT, Attribute.COOLING_SETPOINT_RANGE, Attribute.HEATING_SETPOINT, Attribute.HEATING_SETPOINT_RANGE, Attribute.SCHEDULE, Attribute.SUPPORTED_THERMOSTAT_FAN_MODES, Attribute.SUPPORTED_THERMOSTAT_MODES, Attribute.TEMPERATURE, Attribute.THERMOSTAT_FAN_MODE, Attribute.THERMOSTAT_MODE, Attribute.THERMOSTAT_OPERATING_STATE, Attribute.THERMOSTAT_SETPOINT, Attribute.THERMOSTAT_SETPOINT_RANGE, ], Capability.THERMOSTAT_COOLING_SETPOINT: [ Attribute.COOLING_SETPOINT, Attribute.COOLING_SETPOINT_RANGE, ], Capability.THERMOSTAT_FAN_MODE: [ Attribute.SUPPORTED_THERMOSTAT_FAN_MODES, Attribute.THERMOSTAT_FAN_MODE, ], Capability.THERMOSTAT_HEATING_SETPOINT: [ Attribute.HEATING_SETPOINT, Attribute.HEATING_SETPOINT_RANGE, ], Capability.THERMOSTAT_MODE: [ Attribute.SUPPORTED_THERMOSTAT_MODES, Attribute.THERMOSTAT_MODE, ], Capability.THERMOSTAT_OPERATING_STATE: [ Attribute.SUPPORTED_THERMOSTAT_OPERATING_STATES, Attribute.THERMOSTAT_OPERATING_STATE, ], Capability.THERMOSTAT_SCHEDULE: [Attribute.SCHEDULE], Capability.THERMOSTAT_SETPOINT: [Attribute.THERMOSTAT_SETPOINT], Capability.THERMOSTAT_WATER_HEATING_SETPOINT: [ Attribute.HEATING_SETPOINT, Attribute.HEATING_SETPOINT_RANGE, ], Capability.THREE_AXIS: [Attribute.THREE_AXIS], Capability.TIMED_SESSION: [Attribute.COMPLETION_TIME, Attribute.SESSION_STATUS], Capability.TONE: [], Capability.TOUCH_SENSOR: [Attribute.TOUCH], Capability.TV_CHANNEL: [Attribute.TV_CHANNEL, Attribute.TV_CHANNEL_NAME], Capability.TVOC_HEALTH_CONCERN: [ Attribute.SUPPORTED_TVOC_VALUES, Attribute.TVOC_HEALTH_CONCERN, ], Capability.TVOC_MEASUREMENT: [Attribute.TVOC_LEVEL], Capability.ULTRAVIOLET_INDEX: [Attribute.ULTRAVIOLET_INDEX], Capability.VALVE: [Attribute.VALVE], Capability.VEHICLE_BATTERY: [ Attribute.BATTERY_LEVEL, Attribute.CHARGING_DETAIL, Attribute.CHARGING_PLUG, Attribute.CHARGING_REMAIN_TIME, Attribute.CHARGING_STATE, ], Capability.VEHICLE_DOOR_STATE: [ Attribute.FRONT_LEFT_DOOR, Attribute.FRONT_RIGHT_DOOR, Attribute.LOCK_STATE, Attribute.REAR_LEFT_DOOR, Attribute.REAR_RIGHT_DOOR, Attribute.SUPPORTED_ATTRIBUTES, ], Capability.VEHICLE_ENGINE: [Attribute.ENGINE_STATE], Capability.VEHICLE_FUEL_LEVEL: [Attribute.FUEL_LEVEL], Capability.VEHICLE_HVAC: [ Attribute.DEFOG_STATE, Attribute.HVAC_SPEED, Attribute.HVAC_SPEED_RANGE, Attribute.HVAC_STATE, Attribute.TEMPERATURE, Attribute.TEMPERATURE_RANGE, ], Capability.VEHICLE_HVAC_REMOTE_SWITCH: [], Capability.VEHICLE_INFORMATION: [ Attribute.VEHICLE_COLOR, Attribute.VEHICLE_ID, Attribute.VEHICLE_IMAGE, Attribute.VEHICLE_MAKE, Attribute.VEHICLE_MODEL, Attribute.VEHICLE_PLATE, Attribute.VEHICLE_TRIM, Attribute.VEHICLE_YEAR, ], Capability.VEHICLE_ODOMETER: [Attribute.ODOMETER_READING], Capability.VEHICLE_RANGE: [Attribute.ESTIMATED_REMAINING_RANGE], Capability.VEHICLE_TIRE_PRESSURE_MONITOR: [Attribute.TIRE_PRESSURE_STATE], Capability.VEHICLE_WARNING: [ Attribute.AUXILIARY_BATTERY, Attribute.BRAKE_FLUID, Attribute.ELECTRIC_VEHICLE_BATTERY, Attribute.ENGINE_OIL, Attribute.FUEL, Attribute.LAMP_WIRE, Attribute.SMART_KEY_BATTERY, Attribute.SUPPORTED_ATTRIBUTES, Attribute.TIRE_PRESSURE_FRONT_LEFT, Attribute.TIRE_PRESSURE_FRONT_RIGHT, Attribute.TIRE_PRESSURE_REAR_LEFT, Attribute.TIRE_PRESSURE_REAR_RIGHT, Attribute.WASHER_FLUID, ], Capability.VEHICLE_WINDOW_STATE: [ Attribute.FRONT_LEFT_WINDOW, Attribute.FRONT_RIGHT_WINDOW, Attribute.REAR_LEFT_WINDOW, Attribute.REAR_RIGHT_WINDOW, Attribute.SUPPORTED_ATTRIBUTES, ], Capability.VERY_FINE_DUST_HEALTH_CONCERN: [ Attribute.SUPPORTED_VERY_FINE_DUST_VALUES, Attribute.VERY_FINE_DUST_HEALTH_CONCERN, ], Capability.VERY_FINE_DUST_SENSOR: [Attribute.VERY_FINE_DUST_LEVEL], Capability.VIDEO_CAMERA: [ Attribute.CAMERA, Attribute.MUTE, Attribute.SETTINGS, Attribute.STATUS_MESSAGE, ], Capability.VIDEO_CAPTURE: [Attribute.CLIP, Attribute.STREAM], Capability.VIDEO_CAPTURE2: [Attribute.CLIP], Capability.VIDEO_CLIPS: [Attribute.VIDEO_CLIP], Capability.VIDEO_STREAM: [Attribute.STREAM, Attribute.SUPPORTED_FEATURES], Capability.VOLTAGE_MEASUREMENT: [Attribute.VOLTAGE], Capability.WASHER_MODE: [Attribute.WASHER_MODE], Capability.WASHER_OPERATING_STATE: [ Attribute.COMPLETION_TIME, Attribute.MACHINE_STATE, Attribute.SUPPORTED_MACHINE_STATES, Attribute.WASHER_JOB_STATE, ], Capability.WASHER_OPERATIONAL_STATE: [ Attribute.COMPLETION_TIME, Attribute.MACHINE_STATE, Attribute.SUPPORTED_MACHINE_STATES, Attribute.WASHER_JOB_STATE, ], Capability.WATER_FLOW_ALARM: [ Attribute.DURATION_ALARM, Attribute.RATE_ALARM, Attribute.SUPPORTED_ALARM_STATUSES, Attribute.VOLUME_ALARM, ], Capability.WATER_METER: [ Attribute.LAST_HOUR, Attribute.LAST_SEVEN_DAYS, Attribute.LAST_TWENTY_FOUR_HOURS, ], Capability.WATER_PRESSURE_MEASUREMENT: [ Attribute.PRESSURE, Attribute.PRESSURE_ALARM, ], Capability.WATER_SENSOR: [Attribute.WATER], Capability.WATER_TEMPERATURE_MEASUREMENT: [ Attribute.TEMPERATURE, Attribute.TEMPERATURE_RANGE, ], Capability.WATER_USAGE_METER: [ Attribute.WATER_USAGE_DAY, Attribute.WATER_USAGE_MONTH, ], Capability.WEBRTC: [ Attribute.AUDIO_ONLY, Attribute.DEVICE_ICE, Attribute.SDP_ANSWER, Attribute.SDP_OFFER, Attribute.STANDBY_MODE, Attribute.STUN_URL, Attribute.SUPPORTED_FEATURES, Attribute.TALKBACK, Attribute.TALKBACK_DUPLEX, Attribute.TURN_INFO, ], Capability.WIFI_MESH_ROUTER: [ Attribute.CONNECTED_DEVICE_COUNT, Attribute.CONNECTED_ROUTER_COUNT, Attribute.DISCONNECTED_ROUTER_COUNT, Attribute.WIFI_GUEST_NETWORK_NAME, Attribute.WIFI_GUEST_NETWORK_STATUS, Attribute.WIFI_NETWORK_NAME, Attribute.WIFI_NETWORK_STATUS, ], Capability.WIND_MODE: [Attribute.SUPPORTED_WIND_MODES, Attribute.WIND_MODE], Capability.WIND_SPEED: [Attribute.WINDSPEED], Capability.WINDOW_SHADE: [ Attribute.SUPPORTED_WINDOW_SHADE_COMMANDS, Attribute.WINDOW_SHADE, ], Capability.WINDOW_SHADE_LEVEL: [Attribute.SHADE_LEVEL], Capability.WINDOW_SHADE_PRESET: [Attribute.POSITION, Attribute.SUPPORTED_COMMANDS], Capability.WINDOW_SHADE_TILT_LEVEL: [Attribute.SHADE_TILT_LEVEL], Capability.WIRELESS_OPERATING_MODE: [Attribute.WIRELESS_OPERATING_MODE], Capability.ZWAVE_MULTICHANNEL: [Attribute.EP_EVENT, Attribute.EP_INFO], Capability.CUSTOM_ACCESSIBILITY: [], Capability.CUSTOM_AIR_CONDITIONER_ODOR_CONTROLLER: [ Attribute.AIR_CONDITIONER_ODOR_CONTROLLER_PROGRESS, Attribute.AIR_CONDITIONER_ODOR_CONTROLLER_STATE, ], Capability.CUSTOM_AIR_CONDITIONER_OPTIONAL_MODE: [ Attribute.AC_OPTIONAL_MODE, Attribute.SUPPORTED_AC_OPTIONAL_MODE, ], Capability.CUSTOM_AIR_CONDITIONER_TROPICAL_NIGHT_MODE: [ Attribute.AC_TROPICAL_NIGHT_MODE_LEVEL ], Capability.CUSTOM_AIR_PURIFIER_OPERATION_MODE: [ Attribute.AP_OPERATION_MODE, Attribute.SUPPORTED_AP_OPERATION_MODE, ], Capability.CUSTOM_AIR_QUALITY_MAX_LEVEL: [Attribute.AIR_QUALITY_MAX_LEVEL], Capability.CUSTOM_AUTO_CLEANING_MODE: [ Attribute.AUTO_CLEANING_MODE, Attribute.OPERATING_STATE, Attribute.PROGRESS, Attribute.SUPPORTED_AUTO_CLEANING_MODES, Attribute.SUPPORTED_OPERATING_STATES, Attribute.TIMED_CLEAN_DURATION, Attribute.TIMED_CLEAN_DURATION_RANGE, ], Capability.CUSTOM_COOKTOP_OPERATING_STATE: [ Attribute.COOKTOP_OPERATING_STATE, Attribute.SUPPORTED_COOKTOP_OPERATING_STATE, ], Capability.CUSTOM_DEODOR_FILTER: [ Attribute.DEODOR_FILTER_CAPACITY, Attribute.DEODOR_FILTER_LAST_RESET_DATE, Attribute.DEODOR_FILTER_RESET_TYPE, Attribute.DEODOR_FILTER_STATUS, Attribute.DEODOR_FILTER_USAGE, Attribute.DEODOR_FILTER_USAGE_STEP, ], Capability.CUSTOM_DEVICE_DEPENDENCY_STATUS: [ Attribute.DEPENDENCY_STATUS, Attribute.NUMBER_OF_SUB_DEVICES, Attribute.SUB_DEVICE_ACTIVE, ], Capability.CUSTOM_DEVICE_REPORT_STATE_CONFIGURATION: [ Attribute.REPORT_STATE_PERIOD, Attribute.REPORT_STATE_REALTIME, Attribute.REPORT_STATE_REALTIME_PERIOD, ], Capability.CUSTOM_DISABLED_CAPABILITIES: [Attribute.DISABLED_CAPABILITIES], Capability.CUSTOM_DISABLED_COMPONENTS: [Attribute.DISABLED_COMPONENTS], Capability.CUSTOM_DISHWASHER_DELAY_START_TIME: [ Attribute.DISHWASHER_DELAY_START_TIME ], Capability.CUSTOM_DISHWASHER_OPERATING_PERCENTAGE: [ Attribute.DISHWASHER_OPERATING_PERCENTAGE ], Capability.CUSTOM_DISHWASHER_OPERATING_PROGRESS: [ Attribute.DISHWASHER_OPERATING_PROGRESS ], Capability.CUSTOM_DO_NOT_DISTURB_MODE: [ Attribute.DO_NOT_DISTURB, Attribute.END_TIME, Attribute.START_TIME, ], Capability.CUSTOM_DRYER_DRY_LEVEL: [ Attribute.DRYER_DRY_LEVEL, Attribute.SUPPORTED_DRYER_DRY_LEVEL, ], Capability.CUSTOM_DRYER_WRINKLE_PREVENT: [ Attribute.DRYER_WRINKLE_PREVENT, Attribute.OPERATING_STATE, ], Capability.CUSTOM_DUST_FILTER: [ Attribute.DUST_FILTER_CAPACITY, Attribute.DUST_FILTER_LAST_RESET_DATE, Attribute.DUST_FILTER_RESET_TYPE, Attribute.DUST_FILTER_STATUS, Attribute.DUST_FILTER_USAGE, Attribute.DUST_FILTER_USAGE_STEP, ], Capability.CUSTOM_ELECTRIC_HEPA_FILTER: [ Attribute.ELECTRIC_HEPA_FILTER_CAPACITY, Attribute.ELECTRIC_HEPA_FILTER_LAST_RESET_DATE, Attribute.ELECTRIC_HEPA_FILTER_RESET_TYPE, Attribute.ELECTRIC_HEPA_FILTER_STATUS, Attribute.ELECTRIC_HEPA_FILTER_USAGE, Attribute.ELECTRIC_HEPA_FILTER_USAGE_STEP, ], Capability.CUSTOM_ENERGY_TYPE: [ Attribute.DR_MAX_DURATION, Attribute.ENERGY_SAVING_INFO, Attribute.ENERGY_SAVING_LEVEL, Attribute.ENERGY_SAVING_OPERATION, Attribute.ENERGY_SAVING_OPERATION_SUPPORT, Attribute.ENERGY_SAVING_SUPPORT, Attribute.ENERGY_TYPE, Attribute.NOTIFICATION_TEMPLATE_I_D, Attribute.SUPPORTED_ENERGY_SAVING_LEVELS, ], Capability.CUSTOM_ERROR: [Attribute.ERROR], Capability.CUSTOM_FILTER_USAGE_TIME: [Attribute.USAGE_TIME], Capability.CUSTOM_FRIDGE_MODE: [ Attribute.FRIDGE_MODE, Attribute.FRIDGE_MODE_VALUE, Attribute.SUPPORTED_FRIDGE_MODES, Attribute.SUPPORTED_FULL_FRIDGE_MODES, ], Capability.CUSTOM_HEPA_FILTER: [ Attribute.HEPA_FILTER_CAPACITY, Attribute.HEPA_FILTER_LAST_RESET_DATE, Attribute.HEPA_FILTER_RESET_TYPE, Attribute.HEPA_FILTER_STATUS, Attribute.HEPA_FILTER_USAGE, Attribute.HEPA_FILTER_USAGE_STEP, ], Capability.CUSTOM_JOB_BEGINNING_STATUS: [Attribute.JOB_BEGINNING_STATUS], Capability.CUSTOM_LAUNCH_APP: [], Capability.CUSTOM_LOWER_DEVICE_POWER: [Attribute.POWER_STATE], Capability.CUSTOM_OCF_RESOURCE_VERSION: [ Attribute.OCF_RESOURCE_UPDATED_TIME, Attribute.OCF_RESOURCE_VERSION, ], Capability.CUSTOM_OUTING_MODE: [Attribute.OUTING_MODE], Capability.CUSTOM_OVEN_CAVITY_STATUS: [Attribute.OVEN_CAVITY_STATUS], Capability.CUSTOM_PERIODIC_SENSING: [ Attribute.AUTOMATIC_EXECUTION_MODE, Attribute.AUTOMATIC_EXECUTION_SETTING, Attribute.LAST_SENSING_LEVEL, Attribute.LAST_SENSING_TIME, Attribute.PERIODIC_SENSING, Attribute.PERIODIC_SENSING_INTERVAL, Attribute.PERIODIC_SENSING_STATUS, Attribute.SUPPORTED_AUTOMATIC_EXECUTION_MODE, Attribute.SUPPORTED_AUTOMATIC_EXECUTION_SETTING, ], Capability.CUSTOM_PICTURE_MODE: [ Attribute.PICTURE_MODE, Attribute.SUPPORTED_PICTURE_MODES, Attribute.SUPPORTED_PICTURE_MODES_MAP, ], Capability.CUSTOM_RECORDING: [], Capability.CUSTOM_SOUND_MODE: [ Attribute.SOUND_MODE, Attribute.SUPPORTED_SOUND_MODES, Attribute.SUPPORTED_SOUND_MODES_MAP, ], Capability.CUSTOM_SPI_MODE: [Attribute.SPI_MODE], Capability.CUSTOM_STEAM_CLOSET_OPERATING_STATE: [ Attribute.COMPLETION_TIME, Attribute.PROGRESS, Attribute.REMAINING_TIME, Attribute.REMAINING_TIME_STR, Attribute.STEAM_CLOSET_DELAY_END_TIME, Attribute.STEAM_CLOSET_JOB_STATE, Attribute.STEAM_CLOSET_MACHINE_STATE, Attribute.SUPPORTED_STEAM_CLOSET_JOB_STATE, Attribute.SUPPORTED_STEAM_CLOSET_MACHINE_STATE, ], Capability.CUSTOM_STEAM_CLOSET_WRINKLE_PREVENT: [ Attribute.STEAM_CLOSET_WRINKLE_PREVENT ], Capability.CUSTOM_SUPPORTED_OPTIONS: [ Attribute.COURSE, Attribute.REFERENCE_TABLE, Attribute.SUPPORTED_COURSES, ], Capability.CUSTOM_THERMOSTAT_SETPOINT_CONTROL: [ Attribute.MAXIMUM_SETPOINT, Attribute.MINIMUM_SETPOINT, ], Capability.CUSTOM_TV_SEARCH: [], Capability.CUSTOM_USER_NOTIFICATION: [Attribute.MESSAGE], Capability.CUSTOM_VERY_FINE_DUST_FILTER: [ Attribute.VERY_FINE_DUST_FILTER_CAPACITY, Attribute.VERY_FINE_DUST_FILTER_LAST_RESET_DATE, Attribute.VERY_FINE_DUST_FILTER_RESET_TYPE, Attribute.VERY_FINE_DUST_FILTER_STATUS, Attribute.VERY_FINE_DUST_FILTER_USAGE, Attribute.VERY_FINE_DUST_FILTER_USAGE_STEP, ], Capability.CUSTOM_VIRUS_DOCTOR_MODE: [Attribute.VIRUS_DOCTOR_MODE], Capability.CUSTOM_WASHER_AUTO_DETERGENT: [Attribute.WASHER_AUTO_DETERGENT], Capability.CUSTOM_WASHER_AUTO_SOFTENER: [Attribute.WASHER_AUTO_SOFTENER], Capability.CUSTOM_WASHER_RINSE_CYCLES: [ Attribute.SUPPORTED_WASHER_RINSE_CYCLES, Attribute.WASHER_RINSE_CYCLES, ], Capability.CUSTOM_WASHER_SOIL_LEVEL: [ Attribute.SUPPORTED_WASHER_SOIL_LEVEL, Attribute.WASHER_SOIL_LEVEL, ], Capability.CUSTOM_WASHER_SPIN_LEVEL: [ Attribute.SUPPORTED_WASHER_SPIN_LEVEL, Attribute.WASHER_SPIN_LEVEL, ], Capability.CUSTOM_WASHER_WATER_TEMPERATURE: [ Attribute.SUPPORTED_WASHER_WATER_TEMPERATURE, Attribute.WASHER_WATER_TEMPERATURE, ], Capability.CUSTOM_WATER_FILTER: [ Attribute.WATER_FILTER_CAPACITY, Attribute.WATER_FILTER_LAST_RESET_DATE, Attribute.WATER_FILTER_RESET_TYPE, Attribute.WATER_FILTER_STATUS, Attribute.WATER_FILTER_USAGE, Attribute.WATER_FILTER_USAGE_STEP, ], Capability.CUSTOM_WELCOME_CARE_MODE: [Attribute.WELCOME_CARE_MODE], Capability.SAMSUNG_CE_ABSENCE_DETECTION: [ Attribute.ABSENCE_PERIOD, Attribute.STATUS, Attribute.SUPPORTED_ABSENCE_PERIODS, ], Capability.SAMSUNG_CE_ACTIVATION_STATE: [Attribute.ACTIVATION_STATE], Capability.SAMSUNG_CE_AIR_CONDITIONER_AUDIO_FEEDBACK: [ Attribute.SUPPORTED_VOLUME_LEVELS, Attribute.VOLUME_LEVEL, ], Capability.SAMSUNG_CE_AIR_CONDITIONER_BEEP: [Attribute.BEEP], Capability.SAMSUNG_CE_AIR_CONDITIONER_DISPLAY: [Attribute.DISPLAY], Capability.SAMSUNG_CE_AIR_CONDITIONER_LIGHTING: [ Attribute.LIGHTING, Attribute.SUPPORTED_LIGHTING_LEVELS, ], Capability.SAMSUNG_CE_AIR_QUALITY_HEALTH_CONCERN: [ Attribute.AIR_QUALITY_HEALTH_CONCERN, Attribute.SUPPORTED_AIR_QUALITY_HEALTH_CONCERNS, ], Capability.SAMSUNG_CE_ALWAYS_ON_SENSING: [Attribute.ALWAYS_ON, Attribute.ORIGINS], Capability.SAMSUNG_CE_AUDIO_VOLUME_LEVEL: [ Attribute.VOLUME_LEVEL, Attribute.VOLUME_LEVEL_RANGE, ], Capability.SAMSUNG_CE_AUTO_DISPENSE_DETERGENT: [ Attribute.AMOUNT, Attribute.AVAILABLE_TYPES, Attribute.DENSITY, Attribute.RECOMMENDED_AMOUNT, Attribute.REMAINING_AMOUNT, Attribute.SUPPORTED_AMOUNT, Attribute.SUPPORTED_DENSITY, Attribute.SUPPORTED_TYPES, Attribute.TYPE, ], Capability.SAMSUNG_CE_AUTO_DISPENSE_SOFTENER: [ Attribute.AMOUNT, Attribute.DENSITY, Attribute.REMAINING_AMOUNT, Attribute.SUPPORTED_AMOUNT, Attribute.SUPPORTED_DENSITY, ], Capability.SAMSUNG_CE_AUTO_DOOR_RELEASE: [Attribute.AUTO_DOOR_RELEASE_ENABLED], Capability.SAMSUNG_CE_AUTO_OPEN_DOOR: [ Attribute.AUTO_OPEN_DOOR, Attribute.PRESSURE_LEVEL, Attribute.SUPPORTED_PRESSURE_LEVELS, ], Capability.SAMSUNG_CE_AUTO_VENTILATION: [Attribute.SUPPORTED_ACTIONS], Capability.SAMSUNG_CE_BURNER_INFO: [Attribute.BURNER_ID], Capability.SAMSUNG_CE_BUTTON_DISPLAY_CONDITION: [Attribute.SWITCH], Capability.SAMSUNG_CE_CAMERA_STREAMING: [ Attribute.AVAILABLE, Attribute.REGISTRATION_STATUS, ], Capability.SAMSUNG_CE_CLEAN_STATION_STICK_STATUS: [Attribute.STATUS], Capability.SAMSUNG_CE_CLEAN_STATION_UV_CLEANING: [ Attribute.LAST_FINISHED_TIME, Attribute.OPERATING_STATE, Attribute.OPERATION_TIME, Attribute.REMAINING_TIME, Attribute.UVC_INTENSIVE, ], Capability.SAMSUNG_CE_CLOTHING_EXTRA_CARE: [ Attribute.OPERATION_MODE, Attribute.USER_LOCATION, ], Capability.SAMSUNG_CE_COFFEE_BREWING_RECIPE: [ Attribute.COFFEE_BREWING_RECIPES, Attribute.COFFEE_BREWING_STATUS, Attribute.MAX_NUMBER_OF_RECIPES, Attribute.SUPPORTED_PUBLISHER_I_DS, ], Capability.SAMSUNG_CE_COLOR_TEMPERATURE: [ Attribute.COLOR_TEMPERATURE, Attribute.SUPPORTED_COLOR_TEMPERATURES, ], Capability.SAMSUNG_CE_CONNECTION_STATE: [Attribute.CONNECTION_STATE], Capability.SAMSUNG_CE_CONSUMED_ENERGY: [ Attribute.MONTHLY_USAGE, Attribute.TIME_OFFSET, ], Capability.SAMSUNG_CE_COOK_RECIPE: [Attribute.COOK_RECIPE, Attribute.STAGE_STATUS], Capability.SAMSUNG_CE_COOKTOP_BURNER_MODE: [Attribute.COOKTOP_BURNER_MODE], Capability.SAMSUNG_CE_COOKTOP_COOK_RECIPE: [ Attribute.COOKTOP_COOK_RECIPE, Attribute.OVERHEAT_FOR_RECIPES, Attribute.PROTOCOL_VERSION, ], Capability.SAMSUNG_CE_COOKTOP_FLEX_ZONE: [Attribute.FLEX_ZONES], Capability.SAMSUNG_CE_COOKTOP_HEATING_POWER: [ Attribute.HEATING_MODE, Attribute.MANUAL_LEVEL, Attribute.MANUAL_LEVEL_MAX, Attribute.MANUAL_LEVEL_MIN, Attribute.SUPPORTED_HEATING_MODES, ], Capability.SAMSUNG_CE_COOKTOP_PAN_DETECTION: [Attribute.DETECTED], Capability.SAMSUNG_CE_COUNT_DOWN_TIMER: [ Attribute.CURRENT_VALUE, Attribute.START_VALUE, Attribute.STATUS, ], Capability.SAMSUNG_CE_CUSTOM_RECIPE: [], Capability.SAMSUNG_CE_DDMS_MODE: [Attribute.MODE], Capability.SAMSUNG_CE_DEFINED_RECIPE: [Attribute.DEFINED_RECIPE], Capability.SAMSUNG_CE_DEHUMIDIFIER_BEEP: [Attribute.BEEP], Capability.SAMSUNG_CE_DEHUMIDIFIER_MODE: [ Attribute.DEHUMIDIFIER_MODE, Attribute.SUPPORTED_DEHUMIDIFIER_MODES, ], Capability.SAMSUNG_CE_DETERGENT_AUTO_REPLENISHMENT: [ Attribute.BABY_DETERGENT_ALARM_ENABLED, Attribute.BABY_DETERGENT_DOSAGE, Attribute.BABY_DETERGENT_INITIAL_AMOUNT, Attribute.BABY_DETERGENT_ORDER_THRESHOLD, Attribute.BABY_DETERGENT_REMAINING_AMOUNT, Attribute.BABY_DETERGENT_TYPE, Attribute.NEUTRAL_DETERGENT_ALARM_ENABLED, Attribute.NEUTRAL_DETERGENT_DOSAGE, Attribute.NEUTRAL_DETERGENT_INITIAL_AMOUNT, Attribute.NEUTRAL_DETERGENT_ORDER_THRESHOLD, Attribute.NEUTRAL_DETERGENT_REMAINING_AMOUNT, Attribute.NEUTRAL_DETERGENT_TYPE, Attribute.REGULAR_DETERGENT_ALARM_ENABLED, Attribute.REGULAR_DETERGENT_DOSAGE, Attribute.REGULAR_DETERGENT_INITIAL_AMOUNT, Attribute.REGULAR_DETERGENT_ORDER_THRESHOLD, Attribute.REGULAR_DETERGENT_REMAINING_AMOUNT, Attribute.REGULAR_DETERGENT_TYPE, ], Capability.SAMSUNG_CE_DETERGENT_ORDER: [ Attribute.ALARM_ENABLED, Attribute.ORDER_THRESHOLD, ], Capability.SAMSUNG_CE_DETERGENT_STATE: [ Attribute.DETERGENT_TYPE, Attribute.DOSAGE, Attribute.INITIAL_AMOUNT, Attribute.REMAINING_AMOUNT, ], Capability.SAMSUNG_CE_DEVICE_IDENTIFICATION: [ Attribute.BINARY_ID, Attribute.DESCRIPTION, Attribute.MICOM_ASSAY_CODE, Attribute.MODEL_CLASSIFICATION_CODE, Attribute.MODEL_NAME, Attribute.RELEASE_YEAR, Attribute.SERIAL_NUMBER, Attribute.SERIAL_NUMBER_EXTRA, ], Capability.SAMSUNG_CE_DISHWASHER_JOB_STATE: [ Attribute.DISHWASHER_JOB_STATE, Attribute.SCHEDULED_JOBS, ], Capability.SAMSUNG_CE_DISHWASHER_OPERATION: [ Attribute.OPERATING_STATE, Attribute.OPERATION_TIME, Attribute.PROGRESS_PERCENTAGE, Attribute.REMAINING_TIME, Attribute.REMAINING_TIME_STR, Attribute.RESERVABLE, Attribute.SUPPORTED_OPERATING_STATE, Attribute.TIME_LEFT_TO_START, ], Capability.SAMSUNG_CE_DISHWASHER_WASHING_COURSE: [ Attribute.CUSTOM_COURSE_CANDIDATES, Attribute.SUPPORTED_COURSES, Attribute.WASHING_COURSE, ], Capability.SAMSUNG_CE_DISHWASHER_WASHING_COURSE_DETAILS: [ Attribute.ENERGY_USAGE_MAX, Attribute.PREDEFINED_COURSES, Attribute.WATER_USAGE_MAX, ], Capability.SAMSUNG_CE_DISHWASHER_WASHING_OPTIONS: [ Attribute.ADD_RINSE, Attribute.DRY_PLUS, Attribute.HEATED_DRY, Attribute.HIGH_TEMP_WASH, Attribute.HOT_AIR_DRY, Attribute.MULTI_TAB, Attribute.RINSE_PLUS, Attribute.SANITIZE, Attribute.SANITIZING_WASH, Attribute.SELECTED_ZONE, Attribute.SPEED_BOOSTER, Attribute.STEAM_SOAK, Attribute.STORM_WASH, Attribute.SUPPORTED_LIST, Attribute.ZONE_BOOSTER, ], Capability.SAMSUNG_CE_DO_NOT_DISTURB: [ Attribute.ACTIVATED, Attribute.DAY_OF_WEEK, Attribute.END_TIME, Attribute.REPEAT_MODE, Attribute.SETTABLE, Attribute.START_TIME, ], Capability.SAMSUNG_CE_DONGLE_SOFTWARE_INSTALLATION: [Attribute.STATUS], Capability.SAMSUNG_CE_DOOR_STATE: [Attribute.DOOR_STATE], Capability.SAMSUNG_CE_DRAIN_FILTER: [ Attribute.DRAIN_FILTER_LAST_RESET_DATE, Attribute.DRAIN_FILTER_RESET_TYPE, Attribute.DRAIN_FILTER_STATUS, Attribute.DRAIN_FILTER_USAGE, Attribute.DRAIN_FILTER_USAGE_STEP, ], Capability.SAMSUNG_CE_DRIVER_STATE: [Attribute.DRIVER_STATE], Capability.SAMSUNG_CE_DRIVER_VERSION: [Attribute.VERSION_NUMBER], Capability.SAMSUNG_CE_DRUM_SELF_CLEANING: [ Attribute.HISTORY, Attribute.SUGGESTION_THRESHOLD, Attribute.WASHING_COUNT_AFTER_SELF_CLEAN, ], Capability.SAMSUNG_CE_DRYER_AUTO_CYCLE_LINK: [Attribute.DRYER_AUTO_CYCLE_LINK], Capability.SAMSUNG_CE_DRYER_CYCLE: [ Attribute.DRYER_CYCLE, Attribute.REFERENCE_TABLE, Attribute.SPECIALIZED_FUNCTION_CLASSIFICATION, Attribute.SUPPORTED_CYCLES, ], Capability.SAMSUNG_CE_DRYER_CYCLE_PRESET: [ Attribute.MAX_NUMBER_OF_PRESETS, Attribute.PRESETS, ], Capability.SAMSUNG_CE_DRYER_DELAY_END: [Attribute.REMAINING_TIME], Capability.SAMSUNG_CE_DRYER_DRYING_TEMPERATURE: [ Attribute.DRYING_TEMPERATURE, Attribute.SUPPORTED_DRYING_TEMPERATURE, ], Capability.SAMSUNG_CE_DRYER_DRYING_TIME: [ Attribute.DRYING_TIME, Attribute.SUPPORTED_DRYING_TIME, ], Capability.SAMSUNG_CE_DRYER_FREEZE_PREVENT: [Attribute.OPERATING_STATE], Capability.SAMSUNG_CE_DRYER_LABEL_SCAN_CYCLE_PRESET: [Attribute.PRESETS], Capability.SAMSUNG_CE_DRYER_OPERATING_STATE: [ Attribute.DRYER_JOB_STATE, Attribute.OPERATING_STATE, Attribute.PROGRESS, Attribute.REMAINING_TIME, Attribute.REMAINING_TIME_STR, Attribute.SCHEDULED_JOBS, Attribute.SUPPORTED_OPERATING_STATES, ], Capability.SAMSUNG_CE_DUST_FILTER_ALARM: [ Attribute.ALARM_THRESHOLD, Attribute.SUPPORTED_ALARM_THRESHOLDS, ], Capability.SAMSUNG_CE_EHS_BOOSTER_HEATER: [Attribute.STATUS], Capability.SAMSUNG_CE_EHS_CYCLE_DATA: [Attribute.INDOOR, Attribute.OUTDOOR], Capability.SAMSUNG_CE_EHS_DEFROST_MODE: [Attribute.STATUS], Capability.SAMSUNG_CE_EHS_DIVERTER_VALVE: [Attribute.POSITION], Capability.SAMSUNG_CE_EHS_FSV_SETTINGS: [Attribute.FSV_SETTINGS], Capability.SAMSUNG_CE_EHS_TEMPERATURE_REFERENCE: [Attribute.TEMPERATURE_REFERENCE], Capability.SAMSUNG_CE_EHS_THERMOSTAT: [Attribute.CONNECTION_STATE], Capability.SAMSUNG_CE_ENERGY_PLANNER: [Attribute.DATA, Attribute.PLAN], Capability.SAMSUNG_CE_ERROR_AND_ALARM_STATE: [Attribute.EVENTS], Capability.SAMSUNG_CE_FLEXIBLE_AUTO_DISPENSE_DETERGENT: [ Attribute.AMOUNT, Attribute.AVAILABLE_TYPES, Attribute.DENSITY, Attribute.RECOMMENDED_AMOUNT, Attribute.REMAINING_AMOUNT, Attribute.SUPPORTED_AMOUNT, Attribute.SUPPORTED_DENSITY, Attribute.SUPPORTED_TYPES, Attribute.TYPE, ], Capability.SAMSUNG_CE_FOOD_DEFROST: [ Attribute.FOOD_TYPE, Attribute.OPERATION_TIME, Attribute.REMAINING_TIME, Attribute.SUPPORTED_OPTIONS, Attribute.WEIGHT, ], Capability.SAMSUNG_CE_FREEZER_CONVERT_MODE: [ Attribute.FREEZER_CONVERT_MODE, Attribute.SUPPORTED_FREEZER_CONVERT_MODES, ], Capability.SAMSUNG_CE_FRIDGE_FOOD_LIST: [ Attribute.OUT_OF_SYNC_CHANGES, Attribute.REFRESH_RESULT, ], Capability.SAMSUNG_CE_FRIDGE_ICEMAKER_INFO: [Attribute.NAME], Capability.SAMSUNG_CE_FRIDGE_PANTRY_INFO: [Attribute.NAME], Capability.SAMSUNG_CE_FRIDGE_PANTRY_MODE: [ Attribute.MODE, Attribute.SUPPORTED_MODES, ], Capability.SAMSUNG_CE_FRIDGE_VACATION_MODE: [Attribute.VACATION_MODE], Capability.SAMSUNG_CE_FRIDGE_WELCOME_LIGHTING: [ Attribute.DETECTION_PROXIMITY, Attribute.STATUS, Attribute.SUPPORTED_DETECTION_PROXIMITIES, ], Capability.SAMSUNG_CE_HOOD_FAN_SPEED: [ Attribute.HOOD_FAN_SPEED, Attribute.SETTABLE_MAX_FAN_SPEED, Attribute.SETTABLE_MIN_FAN_SPEED, Attribute.SUPPORTED_HOOD_FAN_SPEED, ], Capability.SAMSUNG_CE_HOOD_FILTER: [ Attribute.HOOD_FILTER_CAPACITY, Attribute.HOOD_FILTER_LAST_RESET_DATE, Attribute.HOOD_FILTER_RESET_TYPE, Attribute.HOOD_FILTER_STATUS, Attribute.HOOD_FILTER_USAGE, Attribute.HOOD_FILTER_USAGE_STEP, ], Capability.SAMSUNG_CE_HOOD_LAMP_AUTOMATION: [ Attribute.CONDITION, Attribute.END_TIME, Attribute.START_TIME, Attribute.SUPPORTED_CONDITIONS, ], Capability.SAMSUNG_CE_INDIVIDUAL_CONTROL_LOCK: [Attribute.LOCK_STATE], Capability.SAMSUNG_CE_KIDS_LOCK: [Attribute.LOCK_STATE], Capability.SAMSUNG_CE_KIDS_LOCK_CONTROL: [Attribute.LOCK_STATE], Capability.SAMSUNG_CE_KIMCHI_LABEL_SCAN_MODE: [ Attribute.SUPPORTED_KIMCHI_STORAGE_MODES ], Capability.SAMSUNG_CE_KIMCHI_REFRIGERATOR_OPERATING_STATE: [ Attribute.OPERATING_STATE, Attribute.SUPPORTED_MODES, ], Capability.SAMSUNG_CE_KITCHEN_DEVICE_DEFAULTS: [ Attribute.DEFAULT_OPERATION_TIME, Attribute.DEFAULT_OVEN_MODE, Attribute.DEFAULT_OVEN_SETPOINT, ], Capability.SAMSUNG_CE_KITCHEN_DEVICE_IDENTIFICATION: [ Attribute.FUEL, Attribute.MODEL_CODE, Attribute.REGION_CODE, Attribute.REPRESENTATIVE_COMPONENT, Attribute.TYPE, ], Capability.SAMSUNG_CE_KITCHEN_MODE_SPECIFICATION: [Attribute.SPECIFICATION], Capability.SAMSUNG_CE_LAMP: [ Attribute.BRIGHTNESS_LEVEL, Attribute.SUPPORTED_BRIGHTNESS_LEVEL, ], Capability.SAMSUNG_CE_MAINTENANCE_MODE: [Attribute.MODE, Attribute.OPERATING_STATE], Capability.SAMSUNG_CE_MEAT_AGING: [ Attribute.STATUS, Attribute.SUPPORTED_AGING_METHODS, Attribute.SUPPORTED_MEAT_TYPES, Attribute.ZONE_INFO, ], Capability.SAMSUNG_CE_MEAT_PROBE: [ Attribute.STATUS, Attribute.TEMPERATURE, Attribute.TEMPERATURE_SETPOINT, ], Capability.SAMSUNG_CE_MICROPHONE_SETTINGS: [Attribute.MUTE], Capability.SAMSUNG_CE_MICROWAVE_POWER: [ Attribute.POWER_LEVEL, Attribute.SUPPORTED_POWER_LEVELS, ], Capability.SAMSUNG_CE_MUSIC_PLAYLIST: [Attribute.CURRENT_TRACK, Attribute.PLAYLIST], Capability.SAMSUNG_CE_NOTIFICATION: [ Attribute.ACTION_SETTING, Attribute.SUPPORTED_ACTION_SETTINGS, Attribute.SUPPORTED_CONTEXTS, Attribute.SUPPORT_CUSTOM_CONTENT, ], Capability.SAMSUNG_CE_OPERATION_ORIGIN: [], Capability.SAMSUNG_CE_OVEN_DRAINAGE_REQUIREMENT: [Attribute.DRAINAGE_REQUIREMENT], Capability.SAMSUNG_CE_OVEN_MODE: [ Attribute.OVEN_MODE, Attribute.SUPPORTED_OVEN_MODES, ], Capability.SAMSUNG_CE_OVEN_OPERATING_STATE: [ Attribute.COMPLETION_TIME, Attribute.OPERATING_STATE, Attribute.OPERATION_TIME, Attribute.OVEN_JOB_STATE, Attribute.PROGRESS, ], Capability.SAMSUNG_CE_POWER_CONSUMPTION_RECORD: [Attribute.PAYLOAD], Capability.SAMSUNG_CE_POWER_COOL: [Attribute.ACTIVATED], Capability.SAMSUNG_CE_POWER_FREEZE: [Attribute.ACTIVATED], Capability.SAMSUNG_CE_POWER_SAVING_WHILE_AWAY: [ Attribute.DETECTION_METHOD, Attribute.POWER_SAVING, Attribute.SUPPORTED_POWER_SAVINGS, ], Capability.SAMSUNG_CE_QUICK_CONTROL: [Attribute.VERSION], Capability.SAMSUNG_CE_RECHARGEABLE_BATTERY: [ Attribute.BATTERY, Attribute.CHARGING_STATUS, Attribute.RESOLUTION, ], Capability.SAMSUNG_CE_RELATIVE_HUMIDITY_LEVEL: [ Attribute.DESIRED_HUMIDITY_LEVEL, Attribute.DESIRED_HUMIDITY_LEVEL_RANGE, Attribute.RELATIVE_HUMIDITY_LEVEL, Attribute.RESOLUTION, ], Capability.SAMSUNG_CE_REMOTE_MANAGEMENT_DATA: [ Attribute.REPORT_RAW_DATA, Attribute.VERSION, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_AUDIO_CLIP: [Attribute.ENABLED], Capability.SAMSUNG_CE_ROBOT_CLEANER_AVP_REGISTRATION: [ Attribute.REGISTRATION_STATUS ], Capability.SAMSUNG_CE_ROBOT_CLEANER_CLEANING_MODE: [ Attribute.CLEANING_MODE, Attribute.REPEAT_MODE_ENABLED, Attribute.SUPPORTED_CLEANING_MODE, Attribute.SUPPORT_REPEAT_MODE, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_CLEANING_TYPE: [ Attribute.CLEANING_TYPE, Attribute.SUPPORTED_CLEANING_TYPES, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_DRIVING_MODE: [ Attribute.DRIVING_MODE, Attribute.SUPPORTED_DRIVING_MODES, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_DUST_BAG: [ Attribute.STATUS, Attribute.SUPPORTED_STATUS, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_FEATURE_VISIBILITY: [ Attribute.INVISIBLE_FEATURES, Attribute.VISIBLE_FEATURES, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_GUIDED_PATROL: [ Attribute.MAP_ID, Attribute.PATROL_STATE, Attribute.WAYPOINTS, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_MAP_AREA_INFO: [Attribute.AREA_INFO], Capability.SAMSUNG_CE_ROBOT_CLEANER_MAP_CLEANING_INFO: [ Attribute.AREA, Attribute.CLEANED_EXTENT, Attribute.NEAR_OBJECT, Attribute.REMAINING_TIME, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_MAP_LIST: [Attribute.MAPS], Capability.SAMSUNG_CE_ROBOT_CLEANER_MAP_METADATA: [Attribute.CELL_SIZE], Capability.SAMSUNG_CE_ROBOT_CLEANER_MONITORING_AUTOMATION: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_MOTOR_FILTER: [ Attribute.MOTOR_FILTER_RESET_TYPE, Attribute.MOTOR_FILTER_STATUS, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_OPERATING_STATE: [ Attribute.CLEANING_STEP, Attribute.HOMING_REASON, Attribute.IS_MAP_BASED_OPERATION_AVAILABLE, Attribute.OPERATING_STATE, Attribute.SUPPORTED_OPERATING_STATE, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_PATROL: [ Attribute.AREA_IDS, Attribute.BLOCKING_STATUS, Attribute.DAY_OF_WEEK, Attribute.ENABLED, Attribute.END_TIME, Attribute.INTERVAL, Attribute.MAP_ID, Attribute.OBSOLETED, Attribute.PATROL_STATUS, Attribute.START_TIME, Attribute.TIMEZONE, Attribute.TIME_OFFSET, Attribute.WAYPOINTS, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_PET_CLEANING_SCHEDULE: [ Attribute.AREA_IDS, Attribute.DAY_OF_WEEK, Attribute.ENABLED, Attribute.EXCLUDE_HOLIDAYS, Attribute.MAP_ID, Attribute.OBSOLETED, Attribute.ORIGINATOR, Attribute.START_TIME, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_PET_MONITOR: [ Attribute.AREA_IDS, Attribute.BLOCKING_STATUS, Attribute.DAY_OF_WEEK, Attribute.ENABLED, Attribute.END_TIME, Attribute.EXCLUDE_HOLIDAYS, Attribute.INTERVAL, Attribute.MAP_ID, Attribute.MONITORING_STATUS, Attribute.OBSOLETED, Attribute.ORIGINATOR, Attribute.START_TIME, Attribute.WAYPOINTS, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_PET_MONITOR_REPORT: [Attribute.REPORT], Capability.SAMSUNG_CE_ROBOT_CLEANER_RELAY_CLEANING: [Attribute.BATON_TOUCH], Capability.SAMSUNG_CE_ROBOT_CLEANER_RESERVATION: [ Attribute.MAX_NUMBER_OF_RESERVATIONS, Attribute.RESERVATIONS, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_SAFETY_PATROL: [Attribute.PERSON_DETECTION], Capability.SAMSUNG_CE_ROBOT_CLEANER_SYSTEM_SOUND_MODE: [ Attribute.SOUND_MODE, Attribute.SUPPORTED_SOUND_MODES, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_WATER_SPRAY_LEVEL: [ Attribute.AVAILABLE_WATER_SPRAY_LEVELS, Attribute.SUPPORTED_WATER_SPRAY_LEVELS, Attribute.WATER_SPRAY_LEVEL, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_WELCOME: [Attribute.COORDINATES], Capability.SAMSUNG_CE_RUNESTONE_HOME_CONTEXT: [Attribute.SUPPORTED_CONTEXTS], Capability.SAMSUNG_CE_SABBATH_MODE: [Attribute.STATUS, Attribute.SUPPORTED_ACTIONS], Capability.SAMSUNG_CE_SAC_DISPLAY_CONDITION: [Attribute.SWITCH], Capability.SAMSUNG_CE_SCALE_SETTINGS: [Attribute.ENABLED], Capability.SAMSUNG_CE_SELF_CHECK: [ Attribute.ERRORS, Attribute.PROGRESS, Attribute.RESULT, Attribute.STATUS, Attribute.SUPPORTED_ACTIONS, ], Capability.SAMSUNG_CE_SENSING_ON_SUSPEND_MODE: [Attribute.SENSING_ON_SUSPEND_MODE], Capability.SAMSUNG_CE_SILENT_ACTION: [], Capability.SAMSUNG_CE_SOFTENER_AUTO_REPLENISHMENT: [ Attribute.REGULAR_SOFTENER_ALARM_ENABLED, Attribute.REGULAR_SOFTENER_DOSAGE, Attribute.REGULAR_SOFTENER_INITIAL_AMOUNT, Attribute.REGULAR_SOFTENER_ORDER_THRESHOLD, Attribute.REGULAR_SOFTENER_REMAINING_AMOUNT, Attribute.REGULAR_SOFTENER_TYPE, ], Capability.SAMSUNG_CE_SOFTENER_ORDER: [ Attribute.ALARM_ENABLED, Attribute.ORDER_THRESHOLD, ], Capability.SAMSUNG_CE_SOFTENER_STATE: [ Attribute.DOSAGE, Attribute.INITIAL_AMOUNT, Attribute.REMAINING_AMOUNT, Attribute.SOFTENER_TYPE, ], Capability.SAMSUNG_CE_SOFTWARE_UPDATE: [ Attribute.AVAILABLE_MODULES, Attribute.LAST_UPDATED_DATE, Attribute.NEW_VERSION_AVAILABLE, Attribute.OPERATING_STATE, Attribute.OTN_D_U_I_D, Attribute.PROGRESS, Attribute.TARGET_MODULE, ], Capability.SAMSUNG_CE_SOFTWARE_VERSION: [Attribute.VERSIONS], Capability.SAMSUNG_CE_SOUND_DETECTION_SENSITIVITY: [ Attribute.LEVEL, Attribute.SUPPORTED_LEVELS, ], Capability.SAMSUNG_CE_STEAM_CLOSET_AUTO_CYCLE_LINK: [ Attribute.STEAM_CLOSET_AUTO_CYCLE_LINK ], Capability.SAMSUNG_CE_STEAM_CLOSET_CYCLE: [ Attribute.REFERENCE_TABLE, Attribute.STEAM_CLOSET_CYCLE, Attribute.SUPPORTED_CYCLES, ], Capability.SAMSUNG_CE_STEAM_CLOSET_CYCLE_PRESET: [ Attribute.MAX_NUMBER_OF_PRESETS, Attribute.PRESETS, ], Capability.SAMSUNG_CE_STEAM_CLOSET_DELAY_END: [Attribute.REMAINING_TIME], Capability.SAMSUNG_CE_STEAM_CLOSET_KEEP_FRESH_MODE: [ Attribute.OPERATING_STATE, Attribute.STATUS, ], Capability.SAMSUNG_CE_STEAM_CLOSET_SANITIZE_MODE: [Attribute.STATUS], Capability.SAMSUNG_CE_STICK_CLEANER_DUST_BAG: [ Attribute.STATUS, Attribute.SUPPORTED_STATUS, Attribute.USAGE, ], Capability.SAMSUNG_CE_STICK_CLEANER_DUSTBIN_STATUS: [ Attribute.LAST_EMPTIED_TIME, Attribute.OPERATING_STATE, ], Capability.SAMSUNG_CE_STICK_CLEANER_STATUS: [Attribute.OPERATING_STATE], Capability.SAMSUNG_CE_STICK_CLEANER_STICK_STATUS: [ Attribute.BLE_CONNECTION_STATE, Attribute.MODE, Attribute.STATUS, ], Capability.SAMSUNG_CE_SURFACE_RESIDUAL_HEAT: [Attribute.SURFACE_RESIDUAL_HEAT], Capability.SAMSUNG_CE_SYSTEM_AIR_CONDITIONER_RESERVATION: [ Attribute.MAX_NUMBER_OF_RESERVATIONS, Attribute.RESERVATIONS, ], Capability.SAMSUNG_CE_TEMPERATURE_SETTING: [ Attribute.DESIRED_TEMPERATURE, Attribute.SUPPORTED_DESIRED_TEMPERATURES, ], Capability.SAMSUNG_CE_TOGGLE_SWITCH: [Attribute.SWITCH], Capability.SAMSUNG_CE_UNAVAILABLE_CAPABILITIES: [Attribute.UNAVAILABLE_COMMANDS], Capability.SAMSUNG_CE_VIEW_INSIDE: [ Attribute.CONTENTS, Attribute.LAST_UPDATED_TIME, Attribute.SUPPORTED_FOCUS_AREAS, ], Capability.SAMSUNG_CE_WASHER_BUBBLE_SOAK: [Attribute.STATUS], Capability.SAMSUNG_CE_WASHER_CYCLE: [ Attribute.CYCLE_TYPE, Attribute.REFERENCE_TABLE, Attribute.SPECIALIZED_FUNCTION_CLASSIFICATION, Attribute.SUPPORTED_CYCLES, Attribute.WASHER_CYCLE, ], Capability.SAMSUNG_CE_WASHER_CYCLE_PRESET: [ Attribute.MAX_NUMBER_OF_PRESETS, Attribute.PRESETS, ], Capability.SAMSUNG_CE_WASHER_DELAY_END: [ Attribute.MINIMUM_RESERVABLE_TIME, Attribute.REMAINING_TIME, ], Capability.SAMSUNG_CE_WASHER_FREEZE_PREVENT: [Attribute.OPERATING_STATE], Capability.SAMSUNG_CE_WASHER_LABEL_SCAN_CYCLE_PRESET: [Attribute.PRESETS], Capability.SAMSUNG_CE_WASHER_OPERATING_STATE: [ Attribute.OPERATING_STATE, Attribute.OPERATION_TIME, Attribute.PROGRESS, Attribute.REMAINING_TIME, Attribute.REMAINING_TIME_STR, Attribute.SCHEDULED_JOBS, Attribute.SCHEDULED_PHASES, Attribute.SUPPORTED_OPERATING_STATES, Attribute.WASHER_JOB_PHASE, Attribute.WASHER_JOB_STATE, ], Capability.SAMSUNG_CE_WASHER_WASHING_TIME: [ Attribute.SUPPORTED_WASHING_TIMES, Attribute.WASHING_TIME, ], Capability.SAMSUNG_CE_WASHER_WATER_LEVEL: [ Attribute.SUPPORTED_WATER_LEVEL, Attribute.WATER_LEVEL, ], Capability.SAMSUNG_CE_WASHER_WATER_VALVE: [ Attribute.SUPPORTED_WATER_VALVE, Attribute.WATER_VALVE, ], Capability.SAMSUNG_CE_WATER_CONSUMPTION_REPORT: [Attribute.WATER_CONSUMPTION], Capability.SAMSUNG_CE_WATER_DISPENSER: [ Attribute.AMOUNT, Attribute.AMOUNT_RESOLUTION, Attribute.HOT_TEMPERATURE, Attribute.MAX_SUPPORTED_AMOUNT, Attribute.MIN_SUPPORTED_AMOUNT, Attribute.MODE, Attribute.STATUS, Attribute.SUPPORTED_HOT_TEMPERATURES, Attribute.SUPPORTED_MODES, ], Capability.SAMSUNG_CE_WATER_PURIFIER_COLD_WATER_LOCK: [ Attribute.WATER_PURIFIER_COLD_WATER_LOCK ], Capability.SAMSUNG_CE_WATER_PURIFIER_HOT_WATER_LOCK: [ Attribute.WATER_PURIFIER_HOT_WATER_LOCK ], Capability.SAMSUNG_CE_WATER_PURIFIER_MEDICATION_MODE: [], Capability.SAMSUNG_CE_WATER_PURIFIER_OPERATING_STATE: [Attribute.OPERATING_STATE], Capability.SAMSUNG_CE_WATER_RESERVOIR: [Attribute.SLOT_STATE], Capability.SAMSUNG_CE_WATER_STERILIZATION_OPERATING_STATE: [ Attribute.MAX_OPERATION_TIME, Attribute.REMAINING_TIME, ], Capability.SAMSUNG_CE_WATER_STERILIZATION_SCHEDULE: [ Attribute.INTERVAL, Attribute.LAST_STERILIZED_TIME, Attribute.SCHEDULED_TIME, Attribute.START_TIME, ], Capability.SAMSUNG_CE_WEIGHT_MEASUREMENT: [Attribute.WEIGHT], Capability.SAMSUNG_CE_WEIGHT_MEASUREMENT_CALIBRATION: [], Capability.SAMSUNG_CE_WELCOME_COOLING: [ Attribute.LATEST_REQUEST_ID, Attribute.OPERATING_STATE, ], Capability.SAMSUNG_CE_WELCOME_HUMIDITY: [ Attribute.LATEST_REQUEST_ID, Attribute.OPERATING_STATE, ], Capability.SAMSUNG_CE_WELCOME_MESSAGE: [Attribute.WELCOME_MESSAGE], Capability.SAMSUNG_CE_WIFI_KIT_SUB_DEVICES: [ Attribute.NUMBER_OF_CONNECTED_DEVICES, Attribute.SUB_DEVICES, ], Capability.SAMSUNG_VD_AI_ACTION: [ Attribute.CURATION_SUPPORT, Attribute.IMAGE_SUPPORT, ], Capability.SAMSUNG_VD_AMBIENT: [Attribute.INFO], Capability.SAMSUNG_VD_AMBIENT18: [], Capability.SAMSUNG_VD_AMBIENT_CONTENT: [Attribute.SUPPORTED_AMBIENT_APPS], Capability.SAMSUNG_VD_ART: [], Capability.SAMSUNG_VD_AUDIO_GROUP_INFO: [ Attribute.CHANNEL, Attribute.ROLE, Attribute.STATUS, ], Capability.SAMSUNG_VD_AUDIO_INPUT_SOURCE: [ Attribute.INPUT_SOURCE, Attribute.SUPPORTED_INPUT_SOURCES, ], Capability.SAMSUNG_VD_AUDIO_SOUND_MODE: [ Attribute.DISPLAY_STATUS, Attribute.SOUND_MODE, Attribute.SUPPORTED_SOUND_MODES, ], Capability.SAMSUNG_VD_DEVICE_CATEGORY: [Attribute.CATEGORY], Capability.SAMSUNG_VD_FIRMWARE_VERSION: [Attribute.FIRMWARE_VERSION], Capability.SAMSUNG_VD_GROUP_INFO: [ Attribute.CHANNEL, Attribute.MASTER_NAME, Attribute.ROLE, Attribute.STATUS, ], Capability.SAMSUNG_VD_HOME_APP: [ Attribute.SUPPORTED_VIEW_MODES, Attribute.SUPPORTED_VIEW_MODES_MAP, ], Capability.SAMSUNG_VD_LAUNCH_SERVICE: [], Capability.SAMSUNG_VD_LIGHT_CONTROL: [ Attribute.ERROR_CODE, Attribute.REQUEST_ID, Attribute.SELECTED_APP_ID, Attribute.SELECTED_MODE, Attribute.STREAM_CONTROL, Attribute.SUPPORTED_MODES, Attribute.SUPPORTED_MODE_MAP, ], Capability.SAMSUNG_VD_MEDIA_INPUT_SOURCE: [ Attribute.INPUT_SOURCE, Attribute.SUPPORTED_INPUT_SOURCES_MAP, ], Capability.SAMSUNG_VD_MULTIVIEW: [ Attribute.SUPPORTED_VIEW_MODES, Attribute.SUPPORTED_VIEW_MODES_MAP, ], Capability.SAMSUNG_VD_PICTURE_MODE: [ Attribute.PICTURE_MODE, Attribute.SUPPORTED_PICTURE_MODES, Attribute.SUPPORTED_PICTURE_MODES_MAP, ], Capability.SAMSUNG_VD_REMOTE_CONTROL: [], Capability.SAMSUNG_VD_SOUND_DETECTION: [Attribute.SOUND_DETECTED], Capability.SAMSUNG_VD_SOUND_FROM: [Attribute.DETAIL_NAME, Attribute.MODE], Capability.SAMSUNG_VD_SOUND_MODE: [ Attribute.SOUND_MODE, Attribute.SUPPORTED_SOUND_MODES, Attribute.SUPPORTED_SOUND_MODES_MAP, ], Capability.SAMSUNG_VD_SUPPORTS_FEATURES: [ Attribute.ART_SUPPORTED, Attribute.EXECUTABLE_SERVICE_LIST, Attribute.IME_ADV_SUPPORTED, Attribute.MEDIA_OUTPUT_SUPPORTED, Attribute.MOBILE_CAM_SUPPORTED, Attribute.REMOTELESS_SUPPORTED, Attribute.WIFI_UPDATE_SUPPORT, ], Capability.SAMSUNG_VD_SUPPORTS_POWER_ON_BY_OCF: [ Attribute.SUPPORTS_POWER_ON_BY_OCF ], Capability.SAMSUNG_VD_THING_STATUS: [Attribute.STATUS, Attribute.UPDATED_TIME], Capability.SAMSUNG_IM_ANNOUNCEMENT: [ Attribute.ENABLE_STATE, Attribute.SUPPORTED_CATEGORIES, Attribute.SUPPORTED_MIMES, Attribute.SUPPORTED_TYPES, ], Capability.SAMSUNG_IM_BIXBY_CONTENT: [Attribute.SUPPORTED_MODES], Capability.SAMSUNG_IM_CHARGER_FIRMWARE: [ Attribute.MCU_DEVICE_FW_VER, Attribute.TXIC_DEVICE_FW_VER, ], Capability.SAMSUNG_IM_CHARGING_STATUS: [ Attribute.CHARGING_STATUS, Attribute.STOPPED_STATUS, ], Capability.SAMSUNG_IM_DEVICESTATUS: [Attribute.STATUS], Capability.SAMSUNG_IM_FIND_NODE: [Attribute.DISABLED_REASON, Attribute.ENABLED], Capability.SAMSUNG_IM_FIND_NODE_GEOLOCATION: [ Attribute.ACCURACY, Attribute.HEADING, Attribute.LATITUDE, Attribute.LONGITUDE, Attribute.METHOD, Attribute.SPEED, ], Capability.SAMSUNG_IM_FIRMWARE_AUTO_UPDATE: [Attribute.AUTO_UPDATE_ENABLED], Capability.SAMSUNG_IM_FIRMWARE_SERVER: [Attribute.SERVER], Capability.SAMSUNG_IM_FIXED_FIND_NODE: [], Capability.SAMSUNG_IM_HUB_ONBOARDING: [Attribute.ONBOARDING], Capability.SAMSUNG_IM_HUE_SYNC_MODE: [Attribute.MODE], Capability.SAMSUNG_IM_LED_NOTIFICATION: [Attribute.LED_NOTIFICATION], Capability.SAMSUNG_IM_NEARBY_DETECTION: [Attribute.STATUS], Capability.SAMSUNG_IM_NETWORK_AUDIO_GROUP_INFO: [ Attribute.ACM_MODE, Attribute.CHANNEL, Attribute.GROUP_NAME, Attribute.MASTER_DI, Attribute.MASTER_NAME, Attribute.ROLE, Attribute.STATUS, Attribute.STEREO_TYPE, ], Capability.SAMSUNG_IM_NETWORK_AUDIO_MODE: [Attribute.MODE], Capability.SAMSUNG_IM_NETWORK_AUDIO_TRACK_DATA: [ Attribute.APP_NAME, Attribute.SOURCE, ], Capability.SAMSUNG_IM_REQUEST_INVITATION: [ Attribute.DOUBLE, Attribute.HELD, Attribute.PUSHED, Attribute.REQUEST_INVITATION, ], Capability.SAMSUNG_IM_RING_MOBILE: [ Attribute.DOUBLE, Attribute.HELD, Attribute.PUSHED, Attribute.RING_MOBILE, ], Capability.SAMSUNG_IM_SAMSUNGACCOUNT: [Attribute.SIGN_IN_STATUS], Capability.SAMSUNG_IM_SELF_TEST: [Attribute.REPORT], Capability.SAMSUNG_IM_STHUBEUI: [ Attribute.HUB_DEVICE_ID, Attribute.HUB_EUI, Attribute.HUB_ONBOARDING_STATUS, ], Capability.SAMSUNG_IM_WIFI: [Attribute.CONNECTION_INFO, Attribute.SCAN_RESULTS], Capability.ABATEACHIEVE62503_STATELESS_AUDIO_MUTE: [], Capability.ABATEACHIEVE62503_STATELESS_AUDIO_VOLUME_DOWN: [], Capability.ABATEACHIEVE62503_STATELESS_AUDIO_VOLUME_UP: [], Capability.ABATEACHIEVE62503_STATELESS_CHANNEL_DOWN: [], Capability.ABATEACHIEVE62503_STATELESS_CHANNEL_UP: [], Capability.ABSOLUTEWEATHER46907_LANGUAGE_SUPPORT: [Attribute.LANGUAGE], Capability.ABSOLUTEWEATHER46907_LOCK: [Attribute.LOCK], Capability.ABSOLUTEWEATHER46907_LOCKSTATERELEASE: [Attribute.LOCK], Capability.AMBERPIANO10217_BINDING_INFO: [Attribute.INFO_HTML, Attribute.INFO_TEXT], Capability.AMBERPIANO10217_CLUSTER: [ Attribute.CLUSTER_ID, Attribute.CLUSTER_ID_DEC, Attribute.CLUSTER_NAME, ], Capability.AMBERPIANO10217_CONTROLLER_STATUS: [Attribute.INFO, Attribute.STATUS], Capability.AMBERPIANO10217_DETECTION_INTERVAL: [Attribute.DETECTION_INTERVAL], Capability.AMBERPIANO10217_DEVICE_EUI: [Attribute.EUI], Capability.AMBERPIANO10217_DEVICEINFO: [ Attribute.APP_VERSION, Attribute.BASIC_HTML, Attribute.BASIC_HTML_DISABLE, Attribute.DASH_BOARD_VALUE, Attribute.ZCL_VERSION, ], Capability.AMBERPIANO10217_GROUP_ADD: [Attribute.STATUS], Capability.AMBERPIANO10217_GROUP_INFO: [Attribute.INFO_HTML, Attribute.INFO_TEXT], Capability.AMBERPIANO10217_GROUP_REMOVE: [Attribute.GROUP_ID], Capability.AMBERPIANO10217_GROUP_REMOVE_ALL: [], Capability.AMBERPIANO10217_MONITORED_APPROACH_DISTANCE: [ Attribute.DISTANCE, Attribute.SUPPORTED_MODES, ], Capability.AMBERPIANO10217_OBJECT: [Attribute.DATA], Capability.AMBERPIANO10217_PRESENCE_DETECTION_STATUS: [ Attribute.PRESENCE_STATUS, Attribute.SUPPORTED_STATUSES, ], Capability.AMBERPIANO10217_SENSOR_DETECTION_SENSITIVITY: [ Attribute.SENSITIVITY_MODE, Attribute.SUPPORTED_MODES, ], Capability.AMBERPIANO10217_SENSOR_MONITORING_MODE: [ Attribute.MONITORING_MODE, Attribute.SUPPORTED_MODES, ], Capability.AMBERPIANO10217_VIRTUAL_THING_TYPE: [ Attribute.SUPPORTED_TYPES, Attribute.TYPE, ], Capability.EVENTFLUTE36860_DEFAULT_LEVEL_LOCAL: [Attribute.LEVEL_LOCAL], Capability.EVENTFLUTE36860_LED_BAR_SWITCH_OFF: [ Attribute.LED_BAR_OFF_COLOR, Attribute.LED_BAR_OFF_LEVEL, ], Capability.EVENTFLUTE36860_LED_BAR_SWITCH_ON: [ Attribute.LED_BAR_ON_COLOR, Attribute.LED_BAR_ON_LEVEL, ], Capability.EVENTFLUTE36860_LOCAL_CONTROL: [Attribute.LOCAL_CONTROL], Capability.EVENTFLUTE36860_LOG: [Attribute.LOG], Capability.EVENTFLUTE36860_NOTIFICATION_ALL: [ Attribute.NOTIFICATION_COLOR, Attribute.NOTIFICATION_DURATION, Attribute.NOTIFICATION_EFFECT, Attribute.NOTIFICATION_LEVEL, ], Capability.EVENTFLUTE36860_NOTIFICATION_LZW31SN: [ Attribute.NOTIFICATION_COLOR, Attribute.NOTIFICATION_DURATION, Attribute.NOTIFICATION_EFFECT, Attribute.NOTIFICATION_LEVEL, ], Capability.EVENTFLUTE36860_NOTIFICATION_SINGLE: [ Attribute.NOTIFICATION_COLOR, Attribute.NOTIFICATION_DURATION, Attribute.NOTIFICATION_EFFECT, Attribute.NOTIFICATION_LEVEL, Attribute.NOTIFICATION_NUMBER, ], Capability.EVENTFLUTE36860_REMOTE_CONTROL: [Attribute.REMOTE_CONTROL], Capability.HCA_DRYER_MODE: [Attribute.MODE, Attribute.SUPPORTED_MODES], Capability.HCA_WASHER_MODE: [Attribute.MODE, Attribute.SUPPORTED_MODES], Capability.LEGENDABSOLUTE60149_ACTIONBUTTON2: [], Capability.LEGENDABSOLUTE60149_ATMOS_PRESSURE: [Attribute.ATMOS_PRESSURE], Capability.LEGENDABSOLUTE60149_BELL_SOUNDS: [Attribute.BELL_SOUNDS], Capability.LEGENDABSOLUTE60149_CIRCADIAN: [Attribute.CIRCADIAN], Capability.LEGENDABSOLUTE60149_COLOR_CHANGE_MODE1: [Attribute.COLOR_CHANGE_MODE], Capability.LEGENDABSOLUTE60149_COLOR_CHANGE_TIMER: [Attribute.COLOR_CHANGE_TIMER], Capability.LEGENDABSOLUTE60149_COLOR_CHANGING: [Attribute.COLOR_CHANGING], Capability.LEGENDABSOLUTE60149_COLOR_TEMPERATURE_STEPS: [ Attribute.COLOR_TEMP_STEPS ], Capability.LEGENDABSOLUTE60149_COMMAND_CLASS: [Attribute.COMMAND_CLASS], Capability.LEGENDABSOLUTE60149_CREATE_DEVICE2: [Attribute.CREATE_DEVICE], Capability.LEGENDABSOLUTE60149_CURRENT_LOOP: [Attribute.CURRENT_LOOP], Capability.LEGENDABSOLUTE60149_CURRENT_TIME_PERIOD: [Attribute.CURRENT_TIME_PERIOD], Capability.LEGENDABSOLUTE60149_CURRENT_TWILIGHT: [Attribute.CURRENT_TWILIGHT], Capability.LEGENDABSOLUTE60149_DAY_LENGTH: [Attribute.DAY_LENGTH], Capability.LEGENDABSOLUTE60149_DEVICE_ASSOCIATION_TYPE: [ Attribute.DEVICE_ASSOCIATION_TYPE ], Capability.LEGENDABSOLUTE60149_DEVICE_INFO: [Attribute.DEVICE_INFO], Capability.LEGENDABSOLUTE60149_DRIVER_VERSION1: [Attribute.DRIVER_VERSION], Capability.LEGENDABSOLUTE60149_EFFECTS_SET_COMMAND: [Attribute.EFFECTS_SET_COMMAND], Capability.LEGENDABSOLUTE60149_ENERGY_RESET1: [Attribute.ENERGY_RESET], Capability.LEGENDABSOLUTE60149_EVEN_ODD_DAY: [Attribute.EVEN_ODD_DAY], Capability.LEGENDABSOLUTE60149_FAN_CYCLIC_MODE: [Attribute.FAN_CYCLIC_MODE], Capability.LEGENDABSOLUTE60149_FAN_NEXT_CHANGE: [Attribute.FAN_NEXT_CHANGE], Capability.LEGENDABSOLUTE60149_FORCED_ON_LEVEL: [Attribute.FORCED_ON_LEVEL], Capability.LEGENDABSOLUTE60149_GET_GROUPS: [Attribute.GET_GROUPS], Capability.LEGENDABSOLUTE60149_GROUP_COMMAND_OPTION: [ Attribute.GROUP_COMMAND_OPTION ], Capability.LEGENDABSOLUTE60149_GROUP_NUMBER: [Attribute.GROUP_NUMBER], Capability.LEGENDABSOLUTE60149_HUE_STEPS: [Attribute.HUE_STEPS], Capability.LEGENDABSOLUTE60149_HUMIDITY_CONDITION: [Attribute.HUMIDITY_CONDITION], Capability.LEGENDABSOLUTE60149_HUMIDITY_TARGET: [Attribute.HUMIDITY_TARGET], Capability.LEGENDABSOLUTE60149_INFO_PANEL: [Attribute.INFO_PANEL], Capability.LEGENDABSOLUTE60149_LEVEL_STEPS: [Attribute.LEVEL_STEPS], Capability.LEGENDABSOLUTE60149_LOCAL_DATE: [Attribute.LOCAL_DATE], Capability.LEGENDABSOLUTE60149_LOCAL_DATE_ONE: [Attribute.LOCAL_DATE_ONE], Capability.LEGENDABSOLUTE60149_LOCAL_DATE_TWO1: [Attribute.LOCAL_DATE_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_DAY: [Attribute.LOCAL_DAY], Capability.LEGENDABSOLUTE60149_LOCAL_DAY_TWO: [Attribute.LOCAL_DAY_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_HOUR: [Attribute.LOCAL_HOUR], Capability.LEGENDABSOLUTE60149_LOCAL_HOUR_OFFSET: [Attribute.LOCAL_HOUR_OFFSET], Capability.LEGENDABSOLUTE60149_LOCAL_HOUR_TWO: [Attribute.LOCAL_HOUR_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_MONTH: [Attribute.LOCAL_MONTH], Capability.LEGENDABSOLUTE60149_LOCAL_MONTH_DAY_ONE: [Attribute.LOCAL_MONTH_DAY_ONE], Capability.LEGENDABSOLUTE60149_LOCAL_MONTH_DAY_TWO: [Attribute.LOCAL_MONTH_DAY_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_MONTH_TWO: [Attribute.LOCAL_MONTH_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_WEEK_DAY: [Attribute.LOCAL_WEEK_DAY], Capability.LEGENDABSOLUTE60149_LOCAL_YEAR: [Attribute.LOCAL_YEAR], Capability.LEGENDABSOLUTE60149_LOOPS_NUMBER: [Attribute.LOOPS_NUMBER], Capability.LEGENDABSOLUTE60149_MIRROR_GROUP_FUNCTION: [ Attribute.MIRROR_GROUP_FUNCTION ], Capability.LEGENDABSOLUTE60149_MIRROR_IN: [Attribute.MIRROR_IN], Capability.LEGENDABSOLUTE60149_MIRROR_OUT: [Attribute.MIRROR_OUT], Capability.LEGENDABSOLUTE60149_MOTION_SENSOR_ENABLE: [ Attribute.MOTION_SENSOR_ENABLE ], Capability.LEGENDABSOLUTE60149_NODE_END_POINT: [Attribute.NODE_END_POINT], Capability.LEGENDABSOLUTE60149_NODE_TO_WRITE_HEX: [Attribute.NODE_TO_WRITE], Capability.LEGENDABSOLUTE60149_PARAMETER_START: [Attribute.PARAMETER_START], Capability.LEGENDABSOLUTE60149_PARAMETEREND: [Attribute.PARAMETER_END], Capability.LEGENDABSOLUTE60149_PROGRESSIVE_OFF1: [Attribute.PROG_OFF], Capability.LEGENDABSOLUTE60149_PROGRESSIVE_ON1: [Attribute.PROG_ON], Capability.LEGENDABSOLUTE60149_RANDOM_MAXIMUM_TIMER: [ Attribute.RANDOM_MAXIMUM_TIMER ], Capability.LEGENDABSOLUTE60149_RANDOM_MINIMUM_TIMER: [ Attribute.RANDOM_MINIMUM_TIMER ], Capability.LEGENDABSOLUTE60149_RANDOM_NEXT_STEP: [Attribute.RANDOM_NEXT], Capability.LEGENDABSOLUTE60149_RANDOM_NEXT_STEP2: [Attribute.RANDOM_NEXT], Capability.LEGENDABSOLUTE60149_RANDOM_ON_OFF1: [Attribute.RANDOM_ON_OFF], Capability.LEGENDABSOLUTE60149_RANDOM_ON_OFF2: [Attribute.RANDOM_ON_OFF], Capability.LEGENDABSOLUTE60149_RESETBUTTON: [], Capability.LEGENDABSOLUTE60149_SIGNAL_METRICS: [Attribute.SIGNAL_METRICS], Capability.LEGENDABSOLUTE60149_SIREN_OR_BELL_ACTIVE: [ Attribute.SIREN_OR_BELL_ACTIVE ], Capability.LEGENDABSOLUTE60149_SIREN_SOUNDS: [Attribute.SIREN_SOUNDS], Capability.LEGENDABSOLUTE60149_SUN_AZIMUTH_ANGLE: [Attribute.SUN_AZIMUTH_ANGLE], Capability.LEGENDABSOLUTE60149_SUN_ELEVATION_ANGLE: [Attribute.SUN_ELEVATION_ANGLE], Capability.LEGENDABSOLUTE60149_SUN_RISE: [Attribute.SUN_RISE], Capability.LEGENDABSOLUTE60149_SUN_RISE_OFFSET1: [Attribute.SUN_RISE_OFFSET], Capability.LEGENDABSOLUTE60149_SUN_SET: [Attribute.SUN_SET], Capability.LEGENDABSOLUTE60149_SUN_SET_OFFSET1: [Attribute.SUN_SET_OFFSET], Capability.LEGENDABSOLUTE60149_SWITCH_ALL_ON_OFF1: [Attribute.SWITCH_ALL_ON_OFF], Capability.LEGENDABSOLUTE60149_TEMP_CONDITION2: [Attribute.TEMP_CONDITION], Capability.LEGENDABSOLUTE60149_TEMP_TARGET: [Attribute.TEMP_TARGET], Capability.LEGENDABSOLUTE60149_THERMOSTAT_LOCKED: [Attribute.THERMOSTAT_LOCKED], Capability.LEGENDABSOLUTE60149_TIMER_NEXT_CHANGE: [Attribute.TIMER_NEXT_CHANGE], Capability.LEGENDABSOLUTE60149_TIMER_SECONDS: [Attribute.TIMER_SECONDS], Capability.LEGENDABSOLUTE60149_TIMER_TYPE: [Attribute.TIMER_TYPE], Capability.MIRRORHAPPY40050_COPPER_WATER_METER: [ Attribute.ENERGY_USAGE_DAY, Attribute.ENERGY_USAGE_MONTH, Attribute.POWER_CURRENT, ], Capability.MUSICAHEAD43206_POWERMODE: [Attribute.PMODE], Capability.MUSICAHEAD43206_SNOOZE: [Attribute.SNOOZE], Capability.MUSICAHEAD43206_STAGE: [Attribute.STAGE], Capability.ORANGEBROOK39927_HUE_ALERTS: [Attribute.SUPPORTED_ALERTS], Capability.ORANGEBROOK39927_HUE_BRIDGE: [Attribute.STATUS], Capability.ORANGEBROOK39927_HUE_DISCOVERY: [ Attribute.MODE, Attribute.SUPPORTED_MODES, ], Capability.ORANGEBROOK39927_HUE_GEOFENCE: [], Capability.ORANGEBROOK39927_HUE_GROUP: [ Attribute.SUPPORTS_COLOR, Attribute.SUPPORTS_COLOR_TEMPERATURE, Attribute.SUPPORTS_DIMMING, Attribute.SUPPORTS_ON, ], Capability.PARTYVOICE23922_ADD2: [], Capability.PARTYVOICE23922_AMPERAGE: [Attribute.AMPERAGE], Capability.PARTYVOICE23922_APIWEBREQUEST: [], Capability.PARTYVOICE23922_BAROMETER2: [Attribute.PRESSURE], Capability.PARTYVOICE23922_CASTMEDIACONTROL: [Attribute.CAST_CONTROL], Capability.PARTYVOICE23922_CLOSEDURATION: [Attribute.CLOSEDURATION], Capability.PARTYVOICE23922_CLOUDCOVER: [Attribute.CLOUDCOVER], Capability.PARTYVOICE23922_COUNT: [Attribute.COUNT], Capability.PARTYVOICE23922_CREATEANOTHER: [], Capability.PARTYVOICE23922_CREATEDEV8: [Attribute.DEVICE_TYPE], Capability.PARTYVOICE23922_CREATEHTTPDEV2B: [Attribute.DEVICE_TYPE], Capability.PARTYVOICE23922_CREATEMQTTDEV9: [Attribute.DEVICE_TYPE], Capability.PARTYVOICE23922_CREATEQTY: [Attribute.CREATE_QTY], Capability.PARTYVOICE23922_DURATION2: [Attribute.DURATION], Capability.PARTYVOICE23922_ERRORSENSOR: [Attribute.ERRORSTATUS], Capability.PARTYVOICE23922_ERRORSTATUS: [Attribute.ERRORSTATUS], Capability.PARTYVOICE23922_ERRORSTATUSCV: [Attribute.ERRORSTATUS], Capability.PARTYVOICE23922_HTTPCODE: [Attribute.HTTPCODE], Capability.PARTYVOICE23922_HTTPRESPONSE: [Attribute.RESPONSE], Capability.PARTYVOICE23922_INFOTABLE: [Attribute.INFO], Capability.PARTYVOICE23922_INPUTPERCENT: [Attribute.PERCENT], Capability.PARTYVOICE23922_INPUTSTATE: [Attribute.STATE], Capability.PARTYVOICE23922_INVENTORY8: [Attribute.INVENTORY], Capability.PARTYVOICE23922_KEYNUMVALUE: [Attribute.KEYNUMVALUE], Capability.PARTYVOICE23922_KEYVALUE2: [Attribute.KEYVALUE], Capability.PARTYVOICE23922_LOCATION: [Attribute.LOCATION], Capability.PARTYVOICE23922_MEDIASUBTITLE: [Attribute.SUBTITLE], Capability.PARTYVOICE23922_MEDIATITLE: [Attribute.TITLE], Capability.PARTYVOICE23922_MQTTPUBLISH: [], Capability.PARTYVOICE23922_NAMEINPUT: [Attribute.NAME_TEXT], Capability.PARTYVOICE23922_ONVIFINFO: [Attribute.INFO], Capability.PARTYVOICE23922_ONVIFSTATUS: [Attribute.STATUS], Capability.PARTYVOICE23922_OPENDURATION: [Attribute.OPENDURATION], Capability.PARTYVOICE23922_POWERFACTOR2: [Attribute.POWERFACTOR], Capability.PARTYVOICE23922_PRECIPPROB: [Attribute.PROBABILITY], Capability.PARTYVOICE23922_PRECIPRATE: [Attribute.PRECIP], Capability.PARTYVOICE23922_REACTIVEPOWER: [Attribute.REACTIVE], Capability.PARTYVOICE23922_REFRESH: [], Capability.PARTYVOICE23922_RESETALT: [], Capability.PARTYVOICE23922_RESETSELECT: [Attribute.CMD_SELECT], Capability.PARTYVOICE23922_ROKUCURRENTAPP: [Attribute.CURRENT_APP], Capability.PARTYVOICE23922_ROKUMEDIASTATUS: [Attribute.MEDIA_STATUS], Capability.PARTYVOICE23922_SETILLUMINANCE: [Attribute.ILLUMVALUE], Capability.PARTYVOICE23922_SHADEPAUSE: [], Capability.PARTYVOICE23922_SHELLYDEVS4: [Attribute.DEVICE_TYPE], Capability.PARTYVOICE23922_STATEFIELD2: [Attribute.TEXT], Capability.PARTYVOICE23922_STATUS: [Attribute.STATUS], Capability.PARTYVOICE23922_SUBTRACT2: [], Capability.PARTYVOICE23922_SUMMARY: [Attribute.SUMMARY], Capability.PARTYVOICE23922_TEMPMAX: [Attribute.MAXTEMP], Capability.PARTYVOICE23922_TEMPMIN: [Attribute.MINTEMP], Capability.PARTYVOICE23922_TEXTFIELD: [Attribute.TEXT], Capability.PARTYVOICE23922_TOPICLIST: [Attribute.TOPICLIST], Capability.PARTYVOICE23922_TVCHANNEL: [Attribute.TVCHANNEL], Capability.PARTYVOICE23922_VHUMIDITYSET: [Attribute.VHUMIDITY], Capability.PARTYVOICE23922_VOLUMEDOWN: [], Capability.PARTYVOICE23922_VOLUMEUP: [], Capability.PARTYVOICE23922_VTEMPSET: [Attribute.VTEMP], Capability.PARTYVOICE23922_WATTAGE4: [Attribute.WATTS], Capability.PARTYVOICE23922_WEBREQUEST: [], Capability.PARTYVOICE23922_WEBREQUESTSELECT: [Attribute.SELECTION], Capability.PARTYVOICE23922_WINDDIRDEG: [Attribute.WINDDEG], Capability.PARTYVOICE23922_WINDDIRECTION2: [Attribute.DIRECTION], Capability.PARTYVOICE23922_WINDGUST: [Attribute.WINDGUST], Capability.PARTYVOICE23922_WINDSPEED5: [Attribute.W_SPEED], Capability.PARTYVOICE23922_WLEDEFFECTMODE2: [Attribute.EFFECT_MODE], Capability.PLATEMUSIC11009_AMPERAGE_MEASUREMENT: [Attribute.AMPERAGE], Capability.PLATEMUSIC11009_ASSOCIATION_GROUP_FOUR: [ Attribute.ASSOCIATION_GROUP_FOUR ], Capability.PLATEMUSIC11009_ASSOCIATION_GROUP_THREE: [ Attribute.ASSOCIATION_GROUP_THREE ], Capability.PLATEMUSIC11009_ASSOCIATION_GROUP_TWO: [Attribute.ASSOCIATION_GROUP_TWO], Capability.PLATEMUSIC11009_BASIC_SET_ASSOCIATION_GROUP: [ Attribute.BASIC_SET_ASSOCIATION_GROUP ], Capability.PLATEMUSIC11009_DEVICE_NETWORK_ID: [Attribute.DEVICE_NETWORK_ID], Capability.PLATEMUSIC11009_FIRMWARE: [Attribute.FIRMWARE_VERSION], Capability.PLATEMUSIC11009_HS_LED_MODE: [Attribute.LED_MODE], Capability.PLATEMUSIC11009_HS_NORMAL_LED_COLOR: [Attribute.NORMAL_LED_COLOR], Capability.PLATEMUSIC11009_HS_STATUS_LED_BLINKING_COLOR: [ Attribute.STATUS_LED_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_BLINKING_FREQ: [ Attribute.STATUS_LED_BLINKING_FREQ ], Capability.PLATEMUSIC11009_HS_STATUS_LED_FIVE_COLOR: [ Attribute.STATUS_LED_FIVE_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_FOUR_COLOR: [ Attribute.STATUS_LED_FOUR_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_ONE_COLOR: [ Attribute.STATUS_LED_ONE_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_SEVEN_COLOR: [ Attribute.STATUS_LED_SEVEN_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_SIX_COLOR: [ Attribute.STATUS_LED_SIX_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_THREE_COLOR: [ Attribute.STATUS_LED_THREE_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_TWO_COLOR: [ Attribute.STATUS_LED_TWO_COLOR ], Capability.PLATEMUSIC11009_HUMIDITY_ALARM: [Attribute.HUMIDITY_ALARM], Capability.PLATEMUSIC11009_TEMPERATURE_HUMIDITY_SENSOR: [ Attribute.TEMPERATURE_HUMIDITY ], Capability.PLATEMUSIC11009_ZOOZ_LED_BRIGHTNESS: [Attribute.LED_BRIGHTNESS], Capability.PLATEMUSIC11009_ZOOZ_LED_COLOR: [Attribute.LED_COLOR], Capability.PLATEMUSIC11009_ZOOZ_LED_MODE: [Attribute.LED_MODE], Capability.PLATINUMMASSIVE43262_AUTO_LOCK: [Attribute.AUTO_LOCK], Capability.PLATINUMMASSIVE43262_HOME_BUTTON: [], Capability.PLATINUMMASSIVE43262_JASCO_DEFAULT_LEVEL: [Attribute.DEFAULT_LEVEL], Capability.PLATINUMMASSIVE43262_JASCO_LIGHT_SENSING: [Attribute.LIGHT_SENSING], Capability.PLATINUMMASSIVE43262_JASCO_MOTION_SENSITIVITY: [ Attribute.MOTION_SENSITIVITY ], Capability.PLATINUMMASSIVE43262_JASCO_OPERATION_MODE: [Attribute.OPERATION_MODE], Capability.PLATINUMMASSIVE43262_JASCO_TIMEOUT_DURATION: [ Attribute.TIMEOUT_DURATION ], Capability.PLATINUMMASSIVE43262_KEYPAD_BEEP: [Attribute.KEYPAD_BEEP], Capability.PLATINUMMASSIVE43262_LOCK_AND_LEAVE: [Attribute.LOCK_AND_LEAVE], Capability.PLATINUMMASSIVE43262_ONKYO_INPUT_SOURCE: [ Attribute.INPUT_SOURCE, Attribute.SUPPORTED_INPUT_SOURCES, ], Capability.PLATINUMMASSIVE43262_ONKYO_RAW_COMMAND: [], Capability.PLATINUMMASSIVE43262_PICTURE_MUTE: [Attribute.PICTURE_MUTE], Capability.PLATINUMMASSIVE43262_SCHLAGE_INTERIOR_BUTTON: [ Attribute.INTERIOR_BUTTON ], Capability.PLATINUMMASSIVE43262_SCHLAGE_LOCK_ALARM: [ Attribute.ACTIVITY_SENSITIVITY, Attribute.ALARM_MODE, Attribute.FORCED_ENTRY_SENSITIVITY, Attribute.TAMPER_SENSITIVITY, ], Capability.PLATINUMMASSIVE43262_STATUS_MESSAGE: [Attribute.STATUS_MESSAGE], Capability.PLATINUMMASSIVE43262_TV_CHANNEL: [Attribute.TV_CHANNEL], Capability.PLATINUMMASSIVE43262_UNLOCK_CODE_NAME: [Attribute.UNLOCK_CODE_NAME], Capability.PLATINUMMASSIVE43262_VACATION_MODE: [Attribute.VACATION_MODE], Capability.RBOYAPPS_LOCK_AUDIO: [Attribute.AUDIO], Capability.RBOYAPPS_LOCK_AUTOLOCK: [Attribute.AUTOLOCK], Capability.RBOYAPPS_LOCK_EXTENDED: [ Attribute.INVALID_CODE, Attribute.LOCK_STATUS, Attribute.LOCK_TYPE, Attribute.USER_CODE, Attribute.USER_ID, Attribute.USER_NAME, ], Capability.RBOYAPPS_LOCK_KEYPAD: [Attribute.KEYPAD], Capability.RBOYAPPS_LOCK_ONE_TOUCH_LOCK: [Attribute.ONETOUCHLOCK], Capability.RBOYAPPS_LOCK_TAMPER: [Attribute.ALARM], Capability.RBOYAPPS_LOCK_TAMPER_SENSITIVITY: [Attribute.SENSITIVE], Capability.RIVERTALENT14263_ADAPTIVE_ENERGY_USAGE_STATE: [ Attribute.ENERGY_USAGE_STATE, Attribute.GRID_STATUS_STATUS, Attribute.GRID_STATUS_SUPPORT, Attribute.STORM_WATCH_ACTIVE, Attribute.STORM_WATCH_ENABLED, Attribute.STORM_WATCH_SUPPORT, ], Capability.RIVERTALENT14263_BATCH_GAS_CONSUMPTION_REPORT: [ Attribute.GAS_CONSUMPTIONS ], Capability.RIVERTALENT14263_BATCH_POWER_CONSUMPTION_REPORT: [ Attribute.POWER_CONSUMPTIONS ], Capability.RIVERTALENT14263_ENERGY_METER_PROPERTIES: [ Attribute.DATE_STARTED, Attribute.HAS_COST, Attribute.HAS_FROM_GRID, Attribute.HAS_TODAY_USAGE, Attribute.HAS_TOTAL_USAGE, Attribute.HAS_TO_GRID, Attribute.MEASURE_INTERVAL, Attribute.METERING_DATE, Attribute.RATE_TYPE, Attribute.SERVICE_MESSAGE, Attribute.SUPPORT_TOU_EVENT_NOTIFICATION, Attribute.SUPPORT_TOU_INFO, Attribute.TARIFF_NAME, Attribute.TARIFF_PROVIDER, Attribute.TOU_EVENT_NOTIFICATION, Attribute.TOU_INFO, ], Capability.RIVERTALENT14263_GAS_CONSUMPTION_REPORT: [Attribute.GAS_CONSUMPTION], Capability.SAFE_PANIC_BUTTON: [Attribute.SERVICE_PROVIDER, Attribute.STATUS], Capability.SAFE_USERS: [Attribute.USERS], Capability.SEC_CALM_CONNECTION_CARE: [ Attribute.PROTOCOLS, Attribute.ROLE, Attribute.VERSION, ], Capability.SEC_DEVICE_CONNECTION_STATE: [Attribute.DEVICE_CONNECTION_STATE], Capability.SEC_DIAGNOSTICS_INFORMATION: [ Attribute.DUMP_TYPE, Attribute.ENDPOINT, Attribute.LOG_TYPE, Attribute.MIN_VERSION, Attribute.MN_ID, Attribute.PROTOCOL_TYPE, Attribute.SETUP_ID, Attribute.SIGNIN_PERMISSION, Attribute.TS_ID, ], Capability.SEC_SMARTTHINGS_HUB: [ Attribute.AVAILABILITY, Attribute.DEVICE_ID, Attribute.EUI, Attribute.LAST_ONBOARDING_ERROR_CODE, Attribute.LAST_ONBOARDING_RESULT, Attribute.ONBOARDING_PROGRESS, Attribute.STATE, Attribute.THREAD_HARDWARE_AVAILABILITY, Attribute.THREAD_REQUIRES_EXTERNAL_HARDWARE, Attribute.VERSION, Attribute.ZIGBEE_HARDWARE_AVAILABILITY, Attribute.ZIGBEE_REQUIRES_EXTERNAL_HARDWARE, Attribute.ZWAVE_HARDWARE_AVAILABILITY, Attribute.ZWAVE_REQUIRES_EXTERNAL_HARDWARE, ], Capability.SEC_WIFI_CONFIGURATION: [ Attribute.AUTO_RECONNECTION, Attribute.MIN_VERSION, Attribute.PROTOCOL_TYPE, Attribute.SUPPORTED_AUTH_TYPE, Attribute.SUPPORTED_WI_FI_FREQ, ], Capability.SIGNALAHEAD13665_APPLIANCEOPERATIONSTATESV2: [Attribute.OPERATION_STATE], Capability.SIGNALAHEAD13665_DISHWASHERPROGRAMSV2: [ Attribute.AVAILABLE_PROGRAMS, Attribute.PROGRAM, ], Capability.SIGNALAHEAD13665_OVENPROGRAMSV2: [ Attribute.AVAILABLE_PROGRAMS, Attribute.PROGRAM, ], Capability.SIGNALAHEAD13665_PAUSERESUMEV2: [Attribute.PAUSE_STATE], Capability.SIGNALAHEAD13665_PROGRAMDURATIONV2: [Attribute.DURATION], Capability.SIGNALAHEAD13665_STARTSTOPPROGRAMV2: [Attribute.STARTSTOP], Capability.STSE_DEVICE_MODE: [Attribute.MODE], Capability.STSOLUTIONS_DEMAND_RESPONSE_MODE: [Attribute.MODE], Capability.STSOLUTIONS_DEMAND_RESPONSE_STATUS: [ Attribute.CURRENT_STATUS, Attribute.ENROLLMENT_STATUS, Attribute.ENROLLMENT_STATUS_CODE, ], Capability.STSOLUTIONS_MESSAGE: [Attribute.TEXT], Capability.STUS_SOFTWARE_GENERATION: [Attribute.GENERATION], Capability.SYNTHETIC_CIRCADIAN_LIGHTING_EFFECT: [Attribute.CIRCADIAN], Capability.SYNTHETIC_FADE_LIGHTNING_EFFECT: [Attribute.FADE], Capability.TAG_E2E_ENCRYPTION: [Attribute.ENCRYPTION], Capability.TAG_FACTORY_RESET: [], Capability.TAG_SEARCHING_STATUS: [Attribute.SEARCHING_STATUS], Capability.TAG_TAG_BUTTON: [Attribute.TAG_BUTTON], Capability.TAG_TAG_STATUS: [ Attribute.CONNECTED_DEVICE_ID, Attribute.CONNECTED_USER_ID, Attribute.TAG_STATUS, ], Capability.TAG_UPDATED_INFO: [Attribute.CONNECTION], Capability.TAG_UWB_ACTIVATION: [Attribute.UWB_ACTIVATION], Capability.VALLEYBOARD16460_DEBUG: [Attribute.VALUE], Capability.VALLEYBOARD16460_HTTPREQUESTPATH: [Attribute.PATH], Capability.VALLEYBOARD16460_INFO: [Attribute.VALUE], Capability.WATCHDIGIT58804_ACTUALFANSPEED: [Attribute.ACTUAL_FAN_SPEED], Capability.WATCHDIGIT58804_AUTOMODE: [Attribute.AUTO_MODE], Capability.WATCHDIGIT58804_ERRORSTRING: [Attribute.ERROR], Capability.WATCHDIGIT58804_FILTERCHANGENEEDED: [Attribute.FILTER_CHANGE_NEEDED], Capability.WATCHDIGIT58804_OUTDOORUNITDEFROSTING: [ Attribute.OUTDOOR_UNIT_DEFROSTING ], Capability.WATCHDIGIT58804_STANDBYMODE: [Attribute.STANDBY_MODE], Capability.WATCHDIGIT58804_SYSTEMPREHEATING: [Attribute.SYSTEM_PREHEATING], Capability.WATCHDIGIT58804_THERMOSTATFANSETTING: [Attribute.THERMOSTAT_FAN_SETTING], Capability.WATCHPANEL55613_LCCTHERMOSTAT: [Attribute.DRCAPABLE], Capability.WATCHPANEL55613_TCCTHERMOSTAT: [Attribute.DRCAPABLE], } pySmartThings-pysmartthings-71aec67/src/pysmartthings/capability.py000066400000000000000000001435161511701743400260720ustar00rootroot00000000000000"""Capability model.""" from enum import StrEnum class Capability(StrEnum): """Capability model.""" ACCELERATION_SENSOR = "accelerationSensor" ACTIVITY_LIGHTING_MODE = "activityLightingMode" ACTIVITY_SENSOR = "activitySensor" ACTUATOR = "actuator" AIR_CONDITIONER_FAN_MODE = "airConditionerFanMode" AIR_CONDITIONER_MODE = "airConditionerMode" AIR_PURIFIER_FAN_MODE = "airPurifierFanMode" AIR_QUALITY_HEALTH_CONCERN = "airQualityHealthConcern" AIR_QUALITY_SENSOR = "airQualitySensor" ALARM = "alarm" ALARM_SENSOR = "alarmSensor" APPLIANCE_UTILIZATION = "applianceUtilization" ATMOSPHERIC_PRESSURE_MEASUREMENT = "atmosphericPressureMeasurement" AUDIO_CAPTURE = "audioCapture" AUDIO_MUTE = "audioMute" AUDIO_NOTIFICATION = "audioNotification" AUDIO_STREAM = "audioStream" AUDIO_TRACK_ADDRESSING = "audioTrackAddressing" AUDIO_TRACK_DATA = "audioTrackData" AUDIO_VOLUME = "audioVolume" BATCH_GAS_CONSUMPTION_REPORT = "batchGasConsumptionReport" BATTERY = "battery" BATTERY_LEVEL = "batteryLevel" BEACON = "beacon" BODY_MASS_INDEX_MEASUREMENT = "bodyMassIndexMeasurement" BODY_WEIGHT_MEASUREMENT = "bodyWeightMeasurement" BRIDGE = "bridge" BUFFERED_VIDEO_CAPTURE = "bufferedVideoCapture" BUTTON = "button" BYPASSABLE = "bypassable" CAMERA_EVENT = "cameraEvent" CAMERA_PRESET = "cameraPreset" CARBON_DIOXIDE_HEALTH_CONCERN = "carbonDioxideHealthConcern" CARBON_DIOXIDE_MEASUREMENT = "carbonDioxideMeasurement" CARBON_MONOXIDE_DETECTOR = "carbonMonoxideDetector" CARBON_MONOXIDE_HEALTH_CONCERN = "carbonMonoxideHealthConcern" CARBON_MONOXIDE_MEASUREMENT = "carbonMonoxideMeasurement" CHARGE_POINT_STATE = "chargePointState" CHARGING_STATE = "chargingState" CHIME = "chime" COLOR = "color" COLOR_CONTROL = "colorControl" COLOR_MODE = "colorMode" COLOR_TEMPERATURE = "colorTemperature" CONFIGURATION = "configuration" CONSUMABLE = "consumable" CONSUMABLE_LIFE = "consumableLife" CONTACT_SENSOR = "contactSensor" CONTAINER_STATE = "containerState" COOK_TIME = "cookTime" CURRENT_MEASUREMENT = "currentMeasurement" DELIVERY_ROBOT_CALL = "deliveryRobotCall" DEMAND_RESPONSE_LOAD_CONTROL = "demandResponseLoadControl" DEW_POINT = "dewPoint" DISHWASHER_MODE = "dishwasherMode" DISHWASHER_OPERATING_STATE = "dishwasherOperatingState" DISHWASHER_OPERATIONAL_STATE = "dishwasherOperationalState" DOOR_CONTROL = "doorControl" DRIVING_STATUS = "drivingStatus" DRYER_MODE = "dryerMode" DRYER_OPERATING_STATE = "dryerOperatingState" DUST_HEALTH_CONCERN = "dustHealthConcern" DUST_SENSOR = "dustSensor" ELEVATOR_CALL = "elevatorCall" END_TO_END_ENCRYPTION = "endToEndEncryption" ENERGY_METER = "energyMeter" EQUIVALENT_CARBON_DIOXIDE_MEASUREMENT = "equivalentCarbonDioxideMeasurement" ESTIMATED_TIME_OF_ARRIVAL = "estimatedTimeOfArrival" EVSE_CHARGING_SESSION = "evseChargingSession" EVSE_STATE = "evseState" EXECUTE = "execute" FACE_RECOGNITION = "faceRecognition" FAN_MODE = "fanMode" FAN_OSCILLATION_MODE = "fanOscillationMode" FAN_SPEED = "fanSpeed" FAN_SPEED_PERCENT = "fanSpeedPercent" FEEDER_OPERATING_STATE = "feederOperatingState" FEEDER_PORTION = "feederPortion" FILTER_STATE = "filterState" FILTER_STATUS = "filterStatus" FINE_DUST_HEALTH_CONCERN = "fineDustHealthConcern" FINE_DUST_SENSOR = "fineDustSensor" FIRMWARE_UPDATE = "firmwareUpdate" FLOW_MEASUREMENT = "flowMeasurement" FORMALDEHYDE_HEALTH_CONCERN = "formaldehydeHealthConcern" FORMALDEHYDE_MEASUREMENT = "formaldehydeMeasurement" GARAGE_DOOR_CONTROL = "garageDoorControl" GAS_CONSUMPTION_REPORT = "gasConsumptionReport" GAS_DETECTOR = "gasDetector" GAS_METER = "gasMeter" GEOFENCE = "geofence" GEOFENCES = "geofences" GEOLOCATION = "geolocation" GRID_STATE = "gridState" HARDWARE_FAULT = "hardwareFault" HEALTH_CHECK = "healthCheck" HOLDABLE_BUTTON = "holdableButton" HUMIDIFIER_MODE = "humidifierMode" ILLUMINANCE_MEASUREMENT = "illuminanceMeasurement" IMAGE_CAPTURE = "imageCapture" INDICATOR = "indicator" INFRARED_LEVEL = "infraredLevel" KEYPAD_INPUT = "keypadInput" LANGUAGE_SETTING = "languageSetting" LAUNDRY_WASHER_RINSE_MODE = "laundryWasherRinseMode" LAUNDRY_WASHER_SPIN_SPEED = "laundryWasherSpinSpeed" LEVEL = "level" LIGHT = "light" LIGHT_CONTROLLER_MODE = "lightControllerMode" LOCATION_MODE = "locationMode" LOCK = "lock" LOCK_ALARM = "lockAlarm" LOCK_CODES = "lockCodes" LOCK_CREDENTIALS = "lockCredentials" LOCK_ONLY = "lockOnly" LOCK_SCHEDULES = "lockSchedules" LOCK_USERS = "lockUsers" LOG_TRIGGER = "logTrigger" MASSAGE_INTENSITY_CHANGE = "massageIntensityChange" MASSAGE_INTENSITY_CONTROL = "massageIntensityControl" MASSAGE_OPERATING = "massageOperating" MASSAGE_OPERATING_STATE = "massageOperatingState" MASSAGE_TIME_CHANGE = "massageTimeChange" MASSAGE_TIME_CONTROL = "massageTimeControl" MEDIA_CONTROLLER = "mediaController" MEDIA_GROUP = "mediaGroup" MEDIA_INPUT_SOURCE = "mediaInputSource" MEDIA_PLAYBACK = "mediaPlayback" MEDIA_PLAYBACK_REPEAT = "mediaPlaybackRepeat" MEDIA_PLAYBACK_SHUFFLE = "mediaPlaybackShuffle" MEDIA_PRESETS = "mediaPresets" MEDIA_TRACK_CONTROL = "mediaTrackControl" MODE = "mode" MOLD_HEALTH_CONCERN = "moldHealthConcern" MOMENTARY = "momentary" MOTION_BED = "motionBed" MOTION_SENSOR = "motionSensor" MOVEMENT_SENSOR = "movementSensor" MULTIPLE_ZONE_PRESENCE = "multipleZonePresence" MUSIC_PLAYER = "musicPlayer" NETWORK_METER = "networkMeter" NITROGEN_DIOXIDE_HEALTH_CONCERN = "nitrogenDioxideHealthConcern" NITROGEN_DIOXIDE_MEASUREMENT = "nitrogenDioxideMeasurement" NOTIFICATION = "notification" OBJECT_DETECTION = "objectDetection" OCCUPANCY_SENSOR = "occupancySensor" OCF = "ocf" ODOR_SENSOR = "odorSensor" OPERATING_STATE = "operatingState" OPERATIONAL_STATE = "operationalState" OUTLET = "outlet" OVEN_MODE = "ovenMode" OVEN_OPERATING_STATE = "ovenOperatingState" OVEN_OPERATIONAL_STATE = "ovenOperationalState" OVEN_SETPOINT = "ovenSetpoint" OZONE_HEALTH_CONCERN = "ozoneHealthConcern" OZONE_MEASUREMENT = "ozoneMeasurement" PH_MEASUREMENT = "pHMeasurement" PANIC_ALARM = "panicAlarm" PEST_CONTROL = "pestControl" PET_ACTIVITY = "petActivity" POLLING = "polling" POWER_CONSUMPTION_REPORT = "powerConsumptionReport" POWER_METER = "powerMeter" POWER_SOURCE = "powerSource" PRECIPITATION_MEASUREMENT = "precipitationMeasurement" PRECIPITATION_RATE = "precipitationRate" PRECIPITATION_SENSOR = "precipitationSensor" PRESENCE_SENSOR = "presenceSensor" PUMP_CONTROL_MODE = "pumpControlMode" PUMP_OPERATION_MODE = "pumpOperationMode" RADON_HEALTH_CONCERN = "radonHealthConcern" RADON_MEASUREMENT = "radonMeasurement" RAIN_SENSOR = "rainSensor" RAPID_COOLING = "rapidCooling" REFRESH = "refresh" REFRIGERATION = "refrigeration" REFRIGERATION_SETPOINT = "refrigerationSetpoint" RELATIVE_BRIGHTNESS = "relativeBrightness" RELATIVE_HUMIDITY_MEASUREMENT = "relativeHumidityMeasurement" RELAY_SWITCH = "relaySwitch" REMOTE_CONTROL_STATUS = "remoteControlStatus" RICE_COOKER = "riceCooker" ROBOT_CLEANER_CLEANING_MODE = "robotCleanerCleaningMode" ROBOT_CLEANER_MOVEMENT = "robotCleanerMovement" ROBOT_CLEANER_OPERATING_STATE = "robotCleanerOperatingState" ROBOT_CLEANER_STATE = "robotCleanerState" ROBOT_CLEANER_TURBO_MODE = "robotCleanerTurboMode" SAMSUNG_T_V = "samsungTV" SCENE_ACTIVITY = "sceneActivity" SCENES = "scenes" SCENT = "scent" SECURITY_SYSTEM = "securitySystem" SENSOR = "sensor" SERVICE_AREA = "serviceArea" SHOCK_SENSOR = "shockSensor" SIGNAL_STRENGTH = "signalStrength" SLEEP_SENSOR = "sleepSensor" SMOKE_DETECTOR = "smokeDetector" SOUND_DETECTION = "soundDetection" SOUND_PRESSURE_LEVEL = "soundPressureLevel" SOUND_SENSOR = "soundSensor" SPEECH_RECOGNITION = "speechRecognition" SPEECH_SYNTHESIS = "speechSynthesis" STATELESS_CUSTOM_BUTTON = "statelessCustomButton" STATELESS_FANSPEED_BUTTON = "statelessFanspeedButton" STATELESS_POWER_BUTTON = "statelessPowerButton" STATELESS_POWER_TOGGLE_BUTTON = "statelessPowerToggleButton" STEP_SENSOR = "stepSensor" SWITCH = "switch" SWITCH_LEVEL = "switchLevel" SWITCH_STATE = "switchState" T_V = "tV" TAMPER_ALERT = "tamperAlert" TEMPERATURE_ALARM = "temperatureAlarm" TEMPERATURE_LEVEL = "temperatureLevel" TEMPERATURE_MEASUREMENT = "temperatureMeasurement" TEMPERATURE_SETPOINT = "temperatureSetpoint" THERMOSTAT = "thermostat" THERMOSTAT_COOLING_SETPOINT = "thermostatCoolingSetpoint" THERMOSTAT_FAN_MODE = "thermostatFanMode" THERMOSTAT_HEATING_SETPOINT = "thermostatHeatingSetpoint" THERMOSTAT_MODE = "thermostatMode" THERMOSTAT_OPERATING_STATE = "thermostatOperatingState" THERMOSTAT_SCHEDULE = "thermostatSchedule" THERMOSTAT_SETPOINT = "thermostatSetpoint" THERMOSTAT_WATER_HEATING_SETPOINT = "thermostatWaterHeatingSetpoint" THREE_AXIS = "threeAxis" TIMED_SESSION = "timedSession" TONE = "tone" TOUCH_SENSOR = "touchSensor" TV_CHANNEL = "tvChannel" TVOC_HEALTH_CONCERN = "tvocHealthConcern" TVOC_MEASUREMENT = "tvocMeasurement" ULTRAVIOLET_INDEX = "ultravioletIndex" VALVE = "valve" VEHICLE_BATTERY = "vehicleBattery" VEHICLE_DOOR_STATE = "vehicleDoorState" VEHICLE_ENGINE = "vehicleEngine" VEHICLE_FUEL_LEVEL = "vehicleFuelLevel" VEHICLE_HVAC = "vehicleHvac" VEHICLE_HVAC_REMOTE_SWITCH = "vehicleHvacRemoteSwitch" VEHICLE_INFORMATION = "vehicleInformation" VEHICLE_ODOMETER = "vehicleOdometer" VEHICLE_RANGE = "vehicleRange" VEHICLE_TIRE_PRESSURE_MONITOR = "vehicleTirePressureMonitor" VEHICLE_WARNING = "vehicleWarning" VEHICLE_WINDOW_STATE = "vehicleWindowState" VERY_FINE_DUST_HEALTH_CONCERN = "veryFineDustHealthConcern" VERY_FINE_DUST_SENSOR = "veryFineDustSensor" VIDEO_CAMERA = "videoCamera" VIDEO_CAPTURE = "videoCapture" VIDEO_CAPTURE2 = "videoCapture2" VIDEO_CLIPS = "videoClips" VIDEO_STREAM = "videoStream" VOLTAGE_MEASUREMENT = "voltageMeasurement" WASHER_MODE = "washerMode" WASHER_OPERATING_STATE = "washerOperatingState" WASHER_OPERATIONAL_STATE = "washerOperationalState" WATER_FLOW_ALARM = "waterFlowAlarm" WATER_METER = "waterMeter" WATER_PRESSURE_MEASUREMENT = "waterPressureMeasurement" WATER_SENSOR = "waterSensor" WATER_TEMPERATURE_MEASUREMENT = "waterTemperatureMeasurement" WATER_USAGE_METER = "waterUsageMeter" WEBRTC = "webrtc" WIFI_MESH_ROUTER = "wifiMeshRouter" WIND_MODE = "windMode" WIND_SPEED = "windSpeed" WINDOW_SHADE = "windowShade" WINDOW_SHADE_LEVEL = "windowShadeLevel" WINDOW_SHADE_PRESET = "windowShadePreset" WINDOW_SHADE_TILT_LEVEL = "windowShadeTiltLevel" WIRELESS_OPERATING_MODE = "wirelessOperatingMode" ZWAVE_MULTICHANNEL = "zwMultichannel" CUSTOM_ACCESSIBILITY = "custom.accessibility" CUSTOM_AIR_CONDITIONER_ODOR_CONTROLLER = "custom.airConditionerOdorController" CUSTOM_AIR_CONDITIONER_OPTIONAL_MODE = "custom.airConditionerOptionalMode" CUSTOM_AIR_CONDITIONER_TROPICAL_NIGHT_MODE = ( "custom.airConditionerTropicalNightMode" ) CUSTOM_AIR_PURIFIER_OPERATION_MODE = "custom.airPurifierOperationMode" CUSTOM_AIR_QUALITY_MAX_LEVEL = "custom.airQualityMaxLevel" CUSTOM_AUTO_CLEANING_MODE = "custom.autoCleaningMode" CUSTOM_COOKTOP_OPERATING_STATE = "custom.cooktopOperatingState" CUSTOM_DEODOR_FILTER = "custom.deodorFilter" CUSTOM_DEVICE_DEPENDENCY_STATUS = "custom.deviceDependencyStatus" CUSTOM_DEVICE_REPORT_STATE_CONFIGURATION = "custom.deviceReportStateConfiguration" CUSTOM_DISABLED_CAPABILITIES = "custom.disabledCapabilities" CUSTOM_DISABLED_COMPONENTS = "custom.disabledComponents" CUSTOM_DISHWASHER_DELAY_START_TIME = "custom.dishwasherDelayStartTime" CUSTOM_DISHWASHER_OPERATING_PERCENTAGE = "custom.dishwasherOperatingPercentage" CUSTOM_DISHWASHER_OPERATING_PROGRESS = "custom.dishwasherOperatingProgress" CUSTOM_DO_NOT_DISTURB_MODE = "custom.doNotDisturbMode" CUSTOM_DRYER_DRY_LEVEL = "custom.dryerDryLevel" CUSTOM_DRYER_WRINKLE_PREVENT = "custom.dryerWrinklePrevent" CUSTOM_DUST_FILTER = "custom.dustFilter" CUSTOM_ELECTRIC_HEPA_FILTER = "custom.electricHepaFilter" CUSTOM_ENERGY_TYPE = "custom.energyType" CUSTOM_ERROR = "custom.error" CUSTOM_FILTER_USAGE_TIME = "custom.filterUsageTime" CUSTOM_FRIDGE_MODE = "custom.fridgeMode" CUSTOM_HEPA_FILTER = "custom.hepaFilter" CUSTOM_JOB_BEGINNING_STATUS = "custom.jobBeginningStatus" CUSTOM_LAUNCH_APP = "custom.launchapp" CUSTOM_LOWER_DEVICE_POWER = "custom.lowerDevicePower" CUSTOM_OCF_RESOURCE_VERSION = "custom.ocfResourceVersion" CUSTOM_OUTING_MODE = "custom.outingMode" CUSTOM_OVEN_CAVITY_STATUS = "custom.ovenCavityStatus" CUSTOM_PERIODIC_SENSING = "custom.periodicSensing" CUSTOM_PICTURE_MODE = "custom.picturemode" CUSTOM_RECORDING = "custom.recording" CUSTOM_SOUND_MODE = "custom.soundmode" CUSTOM_SPI_MODE = "custom.spiMode" CUSTOM_STEAM_CLOSET_OPERATING_STATE = "custom.steamClosetOperatingState" CUSTOM_STEAM_CLOSET_WRINKLE_PREVENT = "custom.steamClosetWrinklePrevent" CUSTOM_SUPPORTED_OPTIONS = "custom.supportedOptions" CUSTOM_THERMOSTAT_SETPOINT_CONTROL = "custom.thermostatSetpointControl" CUSTOM_TV_SEARCH = "custom.tvsearch" CUSTOM_USER_NOTIFICATION = "custom.userNotification" CUSTOM_VERY_FINE_DUST_FILTER = "custom.veryFineDustFilter" CUSTOM_VIRUS_DOCTOR_MODE = "custom.virusDoctorMode" CUSTOM_WASHER_AUTO_DETERGENT = "custom.washerAutoDetergent" CUSTOM_WASHER_AUTO_SOFTENER = "custom.washerAutoSoftener" CUSTOM_WASHER_RINSE_CYCLES = "custom.washerRinseCycles" CUSTOM_WASHER_SOIL_LEVEL = "custom.washerSoilLevel" CUSTOM_WASHER_SPIN_LEVEL = "custom.washerSpinLevel" CUSTOM_WASHER_WATER_TEMPERATURE = "custom.washerWaterTemperature" CUSTOM_WATER_FILTER = "custom.waterFilter" CUSTOM_WELCOME_CARE_MODE = "custom.welcomeCareMode" SAMSUNG_CE_ABSENCE_DETECTION = "samsungce.absenceDetection" SAMSUNG_CE_ACTIVATION_STATE = "samsungce.activationState" SAMSUNG_CE_AIR_CONDITIONER_AUDIO_FEEDBACK = "samsungce.airConditionerAudioFeedback" SAMSUNG_CE_AIR_CONDITIONER_BEEP = "samsungce.airConditionerBeep" SAMSUNG_CE_AIR_CONDITIONER_DISPLAY = "samsungce.airConditionerDisplay" SAMSUNG_CE_AIR_CONDITIONER_LIGHTING = "samsungce.airConditionerLighting" SAMSUNG_CE_AIR_QUALITY_HEALTH_CONCERN = "samsungce.airQualityHealthConcern" SAMSUNG_CE_ALWAYS_ON_SENSING = "samsungce.alwaysOnSensing" SAMSUNG_CE_AUDIO_VOLUME_LEVEL = "samsungce.audioVolumeLevel" SAMSUNG_CE_AUTO_DISPENSE_DETERGENT = "samsungce.autoDispenseDetergent" SAMSUNG_CE_AUTO_DISPENSE_SOFTENER = "samsungce.autoDispenseSoftener" SAMSUNG_CE_AUTO_DOOR_RELEASE = "samsungce.autoDoorRelease" SAMSUNG_CE_AUTO_OPEN_DOOR = "samsungce.autoOpenDoor" SAMSUNG_CE_AUTO_VENTILATION = "samsungce.autoVentilation" SAMSUNG_CE_BURNER_INFO = "samsungce.burnerInfo" SAMSUNG_CE_BUTTON_DISPLAY_CONDITION = "samsungce.buttonDisplayCondition" SAMSUNG_CE_CAMERA_STREAMING = "samsungce.cameraStreaming" SAMSUNG_CE_CLEAN_STATION_STICK_STATUS = "samsungce.cleanStationStickStatus" SAMSUNG_CE_CLEAN_STATION_UV_CLEANING = "samsungce.cleanStationUvCleaning" SAMSUNG_CE_CLOTHING_EXTRA_CARE = "samsungce.clothingExtraCare" SAMSUNG_CE_COFFEE_BREWING_RECIPE = "samsungce.coffeeBrewingRecipe" SAMSUNG_CE_COLOR_TEMPERATURE = "samsungce.colorTemperature" SAMSUNG_CE_CONNECTION_STATE = "samsungce.connectionState" SAMSUNG_CE_CONSUMED_ENERGY = "samsungce.consumedEnergy" SAMSUNG_CE_COOK_RECIPE = "samsungce.cookRecipe" SAMSUNG_CE_COOKTOP_BURNER_MODE = "samsungce.cooktopBurnerMode" SAMSUNG_CE_COOKTOP_COOK_RECIPE = "samsungce.cooktopCookRecipe" SAMSUNG_CE_COOKTOP_FLEX_ZONE = "samsungce.cooktopFlexZone" SAMSUNG_CE_COOKTOP_HEATING_POWER = "samsungce.cooktopHeatingPower" SAMSUNG_CE_COOKTOP_PAN_DETECTION = "samsungce.cooktopPanDetection" SAMSUNG_CE_COUNT_DOWN_TIMER = "samsungce.countDownTimer" SAMSUNG_CE_CUSTOM_RECIPE = "samsungce.customRecipe" SAMSUNG_CE_DDMS_MODE = "samsungce.ddmsMode" SAMSUNG_CE_DEFINED_RECIPE = "samsungce.definedRecipe" SAMSUNG_CE_DEHUMIDIFIER_BEEP = "samsungce.dehumidifierBeep" SAMSUNG_CE_DEHUMIDIFIER_MODE = "samsungce.dehumidifierMode" SAMSUNG_CE_DETERGENT_AUTO_REPLENISHMENT = "samsungce.detergentAutoReplenishment" SAMSUNG_CE_DETERGENT_ORDER = "samsungce.detergentOrder" SAMSUNG_CE_DETERGENT_STATE = "samsungce.detergentState" SAMSUNG_CE_DEVICE_IDENTIFICATION = "samsungce.deviceIdentification" SAMSUNG_CE_DISHWASHER_JOB_STATE = "samsungce.dishwasherJobState" SAMSUNG_CE_DISHWASHER_OPERATION = "samsungce.dishwasherOperation" SAMSUNG_CE_DISHWASHER_WASHING_COURSE = "samsungce.dishwasherWashingCourse" SAMSUNG_CE_DISHWASHER_WASHING_COURSE_DETAILS = ( "samsungce.dishwasherWashingCourseDetails" ) SAMSUNG_CE_DISHWASHER_WASHING_OPTIONS = "samsungce.dishwasherWashingOptions" SAMSUNG_CE_DO_NOT_DISTURB = "samsungce.doNotDisturb" SAMSUNG_CE_DONGLE_SOFTWARE_INSTALLATION = "samsungce.dongleSoftwareInstallation" SAMSUNG_CE_DOOR_STATE = "samsungce.doorState" SAMSUNG_CE_DRAIN_FILTER = "samsungce.drainFilter" SAMSUNG_CE_DRIVER_STATE = "samsungce.driverState" SAMSUNG_CE_DRIVER_VERSION = "samsungce.driverVersion" SAMSUNG_CE_DRUM_SELF_CLEANING = "samsungce.drumSelfCleaning" SAMSUNG_CE_DRYER_AUTO_CYCLE_LINK = "samsungce.dryerAutoCycleLink" SAMSUNG_CE_DRYER_CYCLE = "samsungce.dryerCycle" SAMSUNG_CE_DRYER_CYCLE_PRESET = "samsungce.dryerCyclePreset" SAMSUNG_CE_DRYER_DELAY_END = "samsungce.dryerDelayEnd" SAMSUNG_CE_DRYER_DRYING_TEMPERATURE = "samsungce.dryerDryingTemperature" SAMSUNG_CE_DRYER_DRYING_TIME = "samsungce.dryerDryingTime" SAMSUNG_CE_DRYER_FREEZE_PREVENT = "samsungce.dryerFreezePrevent" SAMSUNG_CE_DRYER_LABEL_SCAN_CYCLE_PRESET = "samsungce.dryerLabelScanCyclePreset" SAMSUNG_CE_DRYER_OPERATING_STATE = "samsungce.dryerOperatingState" SAMSUNG_CE_DUST_FILTER_ALARM = "samsungce.dustFilterAlarm" SAMSUNG_CE_EHS_BOOSTER_HEATER = "samsungce.ehsBoosterHeater" SAMSUNG_CE_EHS_CYCLE_DATA = "samsungce.ehsCycleData" SAMSUNG_CE_EHS_DEFROST_MODE = "samsungce.ehsDefrostMode" SAMSUNG_CE_EHS_DIVERTER_VALVE = "samsungce.ehsDiverterValve" SAMSUNG_CE_EHS_FSV_SETTINGS = "samsungce.ehsFsvSettings" SAMSUNG_CE_EHS_TEMPERATURE_REFERENCE = "samsungce.ehsTemperatureReference" SAMSUNG_CE_EHS_THERMOSTAT = "samsungce.ehsThermostat" SAMSUNG_CE_ENERGY_PLANNER = "samsungce.energyPlanner" SAMSUNG_CE_ERROR_AND_ALARM_STATE = "samsungce.errorAndAlarmState" SAMSUNG_CE_FLEXIBLE_AUTO_DISPENSE_DETERGENT = ( "samsungce.flexibleAutoDispenseDetergent" ) SAMSUNG_CE_FOOD_DEFROST = "samsungce.foodDefrost" SAMSUNG_CE_FREEZER_CONVERT_MODE = "samsungce.freezerConvertMode" SAMSUNG_CE_FRIDGE_FOOD_LIST = "samsungce.fridgeFoodList" SAMSUNG_CE_FRIDGE_ICEMAKER_INFO = "samsungce.fridgeIcemakerInfo" SAMSUNG_CE_FRIDGE_PANTRY_INFO = "samsungce.fridgePantryInfo" SAMSUNG_CE_FRIDGE_PANTRY_MODE = "samsungce.fridgePantryMode" SAMSUNG_CE_FRIDGE_VACATION_MODE = "samsungce.fridgeVacationMode" SAMSUNG_CE_FRIDGE_WELCOME_LIGHTING = "samsungce.fridgeWelcomeLighting" SAMSUNG_CE_HOOD_FAN_SPEED = "samsungce.hoodFanSpeed" SAMSUNG_CE_HOOD_FILTER = "samsungce.hoodFilter" SAMSUNG_CE_HOOD_LAMP_AUTOMATION = "samsungce.hoodLampAutomation" SAMSUNG_CE_INDIVIDUAL_CONTROL_LOCK = "samsungce.individualControlLock" SAMSUNG_CE_KIDS_LOCK = "samsungce.kidsLock" SAMSUNG_CE_KIDS_LOCK_CONTROL = "samsungce.kidsLockControl" SAMSUNG_CE_KIMCHI_LABEL_SCAN_MODE = "samsungce.kimchiLabelScanMode" SAMSUNG_CE_KIMCHI_REFRIGERATOR_OPERATING_STATE = ( "samsungce.kimchiRefrigeratorOperatingState" ) SAMSUNG_CE_KITCHEN_DEVICE_DEFAULTS = "samsungce.kitchenDeviceDefaults" SAMSUNG_CE_KITCHEN_DEVICE_IDENTIFICATION = "samsungce.kitchenDeviceIdentification" SAMSUNG_CE_KITCHEN_MODE_SPECIFICATION = "samsungce.kitchenModeSpecification" SAMSUNG_CE_LAMP = "samsungce.lamp" SAMSUNG_CE_MAINTENANCE_MODE = "samsungce.maintenanceMode" SAMSUNG_CE_MEAT_AGING = "samsungce.meatAging" SAMSUNG_CE_MEAT_PROBE = "samsungce.meatProbe" SAMSUNG_CE_MICROPHONE_SETTINGS = "samsungce.microphoneSettings" SAMSUNG_CE_MICROWAVE_POWER = "samsungce.microwavePower" SAMSUNG_CE_MUSIC_PLAYLIST = "samsungce.musicPlaylist" SAMSUNG_CE_NOTIFICATION = "samsungce.notification" SAMSUNG_CE_OPERATION_ORIGIN = "samsungce.operationOrigin" SAMSUNG_CE_OVEN_DRAINAGE_REQUIREMENT = "samsungce.ovenDrainageRequirement" SAMSUNG_CE_OVEN_MODE = "samsungce.ovenMode" SAMSUNG_CE_OVEN_OPERATING_STATE = "samsungce.ovenOperatingState" SAMSUNG_CE_POWER_CONSUMPTION_RECORD = "samsungce.powerConsumptionRecord" SAMSUNG_CE_POWER_COOL = "samsungce.powerCool" SAMSUNG_CE_POWER_FREEZE = "samsungce.powerFreeze" SAMSUNG_CE_POWER_SAVING_WHILE_AWAY = "samsungce.powerSavingWhileAway" SAMSUNG_CE_QUICK_CONTROL = "samsungce.quickControl" SAMSUNG_CE_RECHARGEABLE_BATTERY = "samsungce.rechargeableBattery" SAMSUNG_CE_RELATIVE_HUMIDITY_LEVEL = "samsungce.relativeHumidityLevel" SAMSUNG_CE_REMOTE_MANAGEMENT_DATA = "samsungce.remoteManagementData" SAMSUNG_CE_ROBOT_CLEANER_AUDIO_CLIP = "samsungce.robotCleanerAudioClip" SAMSUNG_CE_ROBOT_CLEANER_AVP_REGISTRATION = "samsungce.robotCleanerAvpRegistration" SAMSUNG_CE_ROBOT_CLEANER_CLEANING_MODE = "samsungce.robotCleanerCleaningMode" SAMSUNG_CE_ROBOT_CLEANER_CLEANING_TYPE = "samsungce.robotCleanerCleaningType" SAMSUNG_CE_ROBOT_CLEANER_DRIVING_MODE = "samsungce.robotCleanerDrivingMode" SAMSUNG_CE_ROBOT_CLEANER_DUST_BAG = "samsungce.robotCleanerDustBag" SAMSUNG_CE_ROBOT_CLEANER_FEATURE_VISIBILITY = ( "samsungce.robotCleanerFeatureVisibility" ) SAMSUNG_CE_ROBOT_CLEANER_GUIDED_PATROL = "samsungce.robotCleanerGuidedPatrol" SAMSUNG_CE_ROBOT_CLEANER_MAP_AREA_INFO = "samsungce.robotCleanerMapAreaInfo" SAMSUNG_CE_ROBOT_CLEANER_MAP_CLEANING_INFO = "samsungce.robotCleanerMapCleaningInfo" SAMSUNG_CE_ROBOT_CLEANER_MAP_LIST = "samsungce.robotCleanerMapList" SAMSUNG_CE_ROBOT_CLEANER_MAP_METADATA = "samsungce.robotCleanerMapMetadata" SAMSUNG_CE_ROBOT_CLEANER_MONITORING_AUTOMATION = ( "samsungce.robotCleanerMonitoringAutomation" ) SAMSUNG_CE_ROBOT_CLEANER_MOTOR_FILTER = "samsungce.robotCleanerMotorFilter" SAMSUNG_CE_ROBOT_CLEANER_OPERATING_STATE = "samsungce.robotCleanerOperatingState" SAMSUNG_CE_ROBOT_CLEANER_PATROL = "samsungce.robotCleanerPatrol" SAMSUNG_CE_ROBOT_CLEANER_PET_CLEANING_SCHEDULE = ( "samsungce.robotCleanerPetCleaningSchedule" ) SAMSUNG_CE_ROBOT_CLEANER_PET_MONITOR = "samsungce.robotCleanerPetMonitor" SAMSUNG_CE_ROBOT_CLEANER_PET_MONITOR_REPORT = ( "samsungce.robotCleanerPetMonitorReport" ) SAMSUNG_CE_ROBOT_CLEANER_RELAY_CLEANING = "samsungce.robotCleanerRelayCleaning" SAMSUNG_CE_ROBOT_CLEANER_RESERVATION = "samsungce.robotCleanerReservation" SAMSUNG_CE_ROBOT_CLEANER_SAFETY_PATROL = "samsungce.robotCleanerSafetyPatrol" SAMSUNG_CE_ROBOT_CLEANER_SYSTEM_SOUND_MODE = "samsungce.robotCleanerSystemSoundMode" SAMSUNG_CE_ROBOT_CLEANER_WATER_SPRAY_LEVEL = "samsungce.robotCleanerWaterSprayLevel" SAMSUNG_CE_ROBOT_CLEANER_WELCOME = "samsungce.robotCleanerWelcome" SAMSUNG_CE_RUNESTONE_HOME_CONTEXT = "samsungce.runestoneHomeContext" SAMSUNG_CE_SABBATH_MODE = "samsungce.sabbathMode" SAMSUNG_CE_SAC_DISPLAY_CONDITION = "samsungce.sacDisplayCondition" SAMSUNG_CE_SCALE_SETTINGS = "samsungce.scaleSettings" SAMSUNG_CE_SELF_CHECK = "samsungce.selfCheck" SAMSUNG_CE_SENSING_ON_SUSPEND_MODE = "samsungce.sensingOnSuspendMode" SAMSUNG_CE_SILENT_ACTION = "samsungce.silentAction" SAMSUNG_CE_SOFTENER_AUTO_REPLENISHMENT = "samsungce.softenerAutoReplenishment" SAMSUNG_CE_SOFTENER_ORDER = "samsungce.softenerOrder" SAMSUNG_CE_SOFTENER_STATE = "samsungce.softenerState" SAMSUNG_CE_SOFTWARE_UPDATE = "samsungce.softwareUpdate" SAMSUNG_CE_SOFTWARE_VERSION = "samsungce.softwareVersion" SAMSUNG_CE_SOUND_DETECTION_SENSITIVITY = "samsungce.soundDetectionSensitivity" SAMSUNG_CE_STEAM_CLOSET_AUTO_CYCLE_LINK = "samsungce.steamClosetAutoCycleLink" SAMSUNG_CE_STEAM_CLOSET_CYCLE = "samsungce.steamClosetCycle" SAMSUNG_CE_STEAM_CLOSET_CYCLE_PRESET = "samsungce.steamClosetCyclePreset" SAMSUNG_CE_STEAM_CLOSET_DELAY_END = "samsungce.steamClosetDelayEnd" SAMSUNG_CE_STEAM_CLOSET_KEEP_FRESH_MODE = "samsungce.steamClosetKeepFreshMode" SAMSUNG_CE_STEAM_CLOSET_SANITIZE_MODE = "samsungce.steamClosetSanitizeMode" SAMSUNG_CE_STICK_CLEANER_DUST_BAG = "samsungce.stickCleanerDustBag" SAMSUNG_CE_STICK_CLEANER_DUSTBIN_STATUS = "samsungce.stickCleanerDustbinStatus" SAMSUNG_CE_STICK_CLEANER_STATUS = "samsungce.stickCleanerStatus" SAMSUNG_CE_STICK_CLEANER_STICK_STATUS = "samsungce.stickCleanerStickStatus" SAMSUNG_CE_SURFACE_RESIDUAL_HEAT = "samsungce.surfaceResidualHeat" SAMSUNG_CE_SYSTEM_AIR_CONDITIONER_RESERVATION = ( "samsungce.systemAirConditionerReservation" ) SAMSUNG_CE_TEMPERATURE_SETTING = "samsungce.temperatureSetting" SAMSUNG_CE_TOGGLE_SWITCH = "samsungce.toggleSwitch" SAMSUNG_CE_UNAVAILABLE_CAPABILITIES = "samsungce.unavailableCapabilities" SAMSUNG_CE_VIEW_INSIDE = "samsungce.viewInside" SAMSUNG_CE_WASHER_BUBBLE_SOAK = "samsungce.washerBubbleSoak" SAMSUNG_CE_WASHER_CYCLE = "samsungce.washerCycle" SAMSUNG_CE_WASHER_CYCLE_PRESET = "samsungce.washerCyclePreset" SAMSUNG_CE_WASHER_DELAY_END = "samsungce.washerDelayEnd" SAMSUNG_CE_WASHER_FREEZE_PREVENT = "samsungce.washerFreezePrevent" SAMSUNG_CE_WASHER_LABEL_SCAN_CYCLE_PRESET = "samsungce.washerLabelScanCyclePreset" SAMSUNG_CE_WASHER_OPERATING_STATE = "samsungce.washerOperatingState" SAMSUNG_CE_WASHER_WASHING_TIME = "samsungce.washerWashingTime" SAMSUNG_CE_WASHER_WATER_LEVEL = "samsungce.washerWaterLevel" SAMSUNG_CE_WASHER_WATER_VALVE = "samsungce.washerWaterValve" SAMSUNG_CE_WATER_CONSUMPTION_REPORT = "samsungce.waterConsumptionReport" SAMSUNG_CE_WATER_DISPENSER = "samsungce.waterDispenser" SAMSUNG_CE_WATER_PURIFIER_COLD_WATER_LOCK = "samsungce.waterPurifierColdWaterLock" SAMSUNG_CE_WATER_PURIFIER_HOT_WATER_LOCK = "samsungce.waterPurifierHotWaterLock" SAMSUNG_CE_WATER_PURIFIER_MEDICATION_MODE = "samsungce.waterPurifierMedicationMode" SAMSUNG_CE_WATER_PURIFIER_OPERATING_STATE = "samsungce.waterPurifierOperatingState" SAMSUNG_CE_WATER_RESERVOIR = "samsungce.waterReservoir" SAMSUNG_CE_WATER_STERILIZATION_OPERATING_STATE = ( "samsungce.waterSterilizationOperatingState" ) SAMSUNG_CE_WATER_STERILIZATION_SCHEDULE = "samsungce.waterSterilizationSchedule" SAMSUNG_CE_WEIGHT_MEASUREMENT = "samsungce.weightMeasurement" SAMSUNG_CE_WEIGHT_MEASUREMENT_CALIBRATION = "samsungce.weightMeasurementCalibration" SAMSUNG_CE_WELCOME_COOLING = "samsungce.welcomeCooling" SAMSUNG_CE_WELCOME_HUMIDITY = "samsungce.welcomeHumidity" SAMSUNG_CE_WELCOME_MESSAGE = "samsungce.welcomeMessage" SAMSUNG_CE_WIFI_KIT_SUB_DEVICES = "samsungce.wifiKitSubDevices" SAMSUNG_VD_AI_ACTION = "samsungvd.aiAction" SAMSUNG_VD_AMBIENT = "samsungvd.ambient" SAMSUNG_VD_AMBIENT18 = "samsungvd.ambient18" SAMSUNG_VD_AMBIENT_CONTENT = "samsungvd.ambientContent" SAMSUNG_VD_ART = "samsungvd.art" SAMSUNG_VD_AUDIO_GROUP_INFO = "samsungvd.audioGroupInfo" SAMSUNG_VD_AUDIO_INPUT_SOURCE = "samsungvd.audioInputSource" SAMSUNG_VD_AUDIO_SOUND_MODE = "samsungvd.audioSoundMode" SAMSUNG_VD_DEVICE_CATEGORY = "samsungvd.deviceCategory" SAMSUNG_VD_FIRMWARE_VERSION = "samsungvd.firmwareVersion" SAMSUNG_VD_GROUP_INFO = "samsungvd.groupInfo" SAMSUNG_VD_HOME_APP = "samsungvd.homeApp" SAMSUNG_VD_LAUNCH_SERVICE = "samsungvd.launchService" SAMSUNG_VD_LIGHT_CONTROL = "samsungvd.lightControl" SAMSUNG_VD_MEDIA_INPUT_SOURCE = "samsungvd.mediaInputSource" SAMSUNG_VD_MULTIVIEW = "samsungvd.multiview" SAMSUNG_VD_PICTURE_MODE = "samsungvd.pictureMode" SAMSUNG_VD_REMOTE_CONTROL = "samsungvd.remoteControl" SAMSUNG_VD_SOUND_DETECTION = "samsungvd.soundDetection" SAMSUNG_VD_SOUND_FROM = "samsungvd.soundFrom" SAMSUNG_VD_SOUND_MODE = "samsungvd.soundMode" SAMSUNG_VD_SUPPORTS_FEATURES = "samsungvd.supportsFeatures" SAMSUNG_VD_SUPPORTS_POWER_ON_BY_OCF = "samsungvd.supportsPowerOnByOcf" SAMSUNG_VD_THING_STATUS = "samsungvd.thingStatus" SAMSUNG_IM_ANNOUNCEMENT = "samsungim.announcement" SAMSUNG_IM_BIXBY_CONTENT = "samsungim.bixbyContent" SAMSUNG_IM_CHARGER_FIRMWARE = "samsungim.chargerFirmware" SAMSUNG_IM_CHARGING_STATUS = "samsungim.chargingStatus" SAMSUNG_IM_DEVICESTATUS = "samsungim.devicestatus" SAMSUNG_IM_FIND_NODE = "samsungim.findNode" SAMSUNG_IM_FIND_NODE_GEOLOCATION = "samsungim.findNodeGeolocation" SAMSUNG_IM_FIRMWARE_AUTO_UPDATE = "samsungim.firmwareAutoUpdate" SAMSUNG_IM_FIRMWARE_SERVER = "samsungim.firmwareServer" SAMSUNG_IM_FIXED_FIND_NODE = "samsungim.fixedFindNode" SAMSUNG_IM_HUB_ONBOARDING = "samsungim.hubOnboarding" SAMSUNG_IM_HUE_SYNC_MODE = "samsungim.hueSyncMode" SAMSUNG_IM_LED_NOTIFICATION = "samsungim.ledNotification" SAMSUNG_IM_NEARBY_DETECTION = "samsungim.nearbyDetection" SAMSUNG_IM_NETWORK_AUDIO_GROUP_INFO = "samsungim.networkAudioGroupInfo" SAMSUNG_IM_NETWORK_AUDIO_MODE = "samsungim.networkAudioMode" SAMSUNG_IM_NETWORK_AUDIO_TRACK_DATA = "samsungim.networkAudioTrackData" SAMSUNG_IM_REQUEST_INVITATION = "samsungim.requestInvitation" SAMSUNG_IM_RING_MOBILE = "samsungim.ringMobile" SAMSUNG_IM_SAMSUNGACCOUNT = "samsungim.samsungaccount" SAMSUNG_IM_SELF_TEST = "samsungim.selfTest" SAMSUNG_IM_STHUBEUI = "samsungim.sthubeui" SAMSUNG_IM_WIFI = "samsungim.wifi" ABATEACHIEVE62503_STATELESS_AUDIO_MUTE = "abateachieve62503.statelessAudioMute" ABATEACHIEVE62503_STATELESS_AUDIO_VOLUME_DOWN = ( "abateachieve62503.statelessAudioVolumeDown" ) ABATEACHIEVE62503_STATELESS_AUDIO_VOLUME_UP = ( "abateachieve62503.statelessAudioVolumeUp" ) ABATEACHIEVE62503_STATELESS_CHANNEL_DOWN = "abateachieve62503.statelessChannelDown" ABATEACHIEVE62503_STATELESS_CHANNEL_UP = "abateachieve62503.statelessChannelUp" ABSOLUTEWEATHER46907_LANGUAGE_SUPPORT = "absoluteweather46907.languageSupport" ABSOLUTEWEATHER46907_LOCK = "absoluteweather46907.lock" ABSOLUTEWEATHER46907_LOCKSTATERELEASE = "absoluteweather46907.lockstaterelease" AMBERPIANO10217_BINDING_INFO = "amberpiano10217.bindingInfo" AMBERPIANO10217_CLUSTER = "amberpiano10217.cluster" AMBERPIANO10217_CONTROLLER_STATUS = "amberpiano10217.controllerStatus" AMBERPIANO10217_DETECTION_INTERVAL = "amberpiano10217.detectionInterval" AMBERPIANO10217_DEVICE_EUI = "amberpiano10217.deviceEui" AMBERPIANO10217_DEVICEINFO = "amberpiano10217.deviceinfo" AMBERPIANO10217_GROUP_ADD = "amberpiano10217.groupAdd" AMBERPIANO10217_GROUP_INFO = "amberpiano10217.groupInfo" AMBERPIANO10217_GROUP_REMOVE = "amberpiano10217.groupRemove" AMBERPIANO10217_GROUP_REMOVE_ALL = "amberpiano10217.groupRemoveAll" AMBERPIANO10217_MONITORED_APPROACH_DISTANCE = ( "amberpiano10217.monitoredApproachDistance" ) AMBERPIANO10217_OBJECT = "amberpiano10217.object" AMBERPIANO10217_PRESENCE_DETECTION_STATUS = ( "amberpiano10217.presenceDetectionStatus" ) AMBERPIANO10217_SENSOR_DETECTION_SENSITIVITY = ( "amberpiano10217.sensorDetectionSensitivity" ) AMBERPIANO10217_SENSOR_MONITORING_MODE = "amberpiano10217.sensorMonitoringMode" AMBERPIANO10217_VIRTUAL_THING_TYPE = "amberpiano10217.virtualThingType" EVENTFLUTE36860_DEFAULT_LEVEL_LOCAL = "eventflute36860.defaultLevelLocal" EVENTFLUTE36860_LED_BAR_SWITCH_OFF = "eventflute36860.ledBarSwitchOff" EVENTFLUTE36860_LED_BAR_SWITCH_ON = "eventflute36860.ledBarSwitchOn" EVENTFLUTE36860_LOCAL_CONTROL = "eventflute36860.localControl" EVENTFLUTE36860_LOG = "eventflute36860.log" EVENTFLUTE36860_NOTIFICATION_ALL = "eventflute36860.notificationAll" EVENTFLUTE36860_NOTIFICATION_LZW31SN = "eventflute36860.notificationLzw31sn" EVENTFLUTE36860_NOTIFICATION_SINGLE = "eventflute36860.notificationSingle" EVENTFLUTE36860_REMOTE_CONTROL = "eventflute36860.remoteControl" HCA_DRYER_MODE = "hca.dryerMode" HCA_WASHER_MODE = "hca.washerMode" LEGENDABSOLUTE60149_ACTIONBUTTON2 = "legendabsolute60149.actionbutton2" LEGENDABSOLUTE60149_ATMOS_PRESSURE = "legendabsolute60149.atmosPressure" LEGENDABSOLUTE60149_BELL_SOUNDS = "legendabsolute60149.bellSounds" LEGENDABSOLUTE60149_CIRCADIAN = "legendabsolute60149.circadian" LEGENDABSOLUTE60149_COLOR_CHANGE_MODE1 = "legendabsolute60149.colorChangeMode1" LEGENDABSOLUTE60149_COLOR_CHANGE_TIMER = "legendabsolute60149.colorChangeTimer" LEGENDABSOLUTE60149_COLOR_CHANGING = "legendabsolute60149.colorChanging" LEGENDABSOLUTE60149_COLOR_TEMPERATURE_STEPS = ( "legendabsolute60149.colorTemperatureSteps" ) LEGENDABSOLUTE60149_COMMAND_CLASS = "legendabsolute60149.commandClass" LEGENDABSOLUTE60149_CREATE_DEVICE2 = "legendabsolute60149.createDevice2" LEGENDABSOLUTE60149_CURRENT_LOOP = "legendabsolute60149.currentLoop" LEGENDABSOLUTE60149_CURRENT_TIME_PERIOD = "legendabsolute60149.currentTimePeriod" LEGENDABSOLUTE60149_CURRENT_TWILIGHT = "legendabsolute60149.currentTwilight" LEGENDABSOLUTE60149_DAY_LENGTH = "legendabsolute60149.dayLength" LEGENDABSOLUTE60149_DEVICE_ASSOCIATION_TYPE = ( "legendabsolute60149.deviceAssociationType" ) LEGENDABSOLUTE60149_DEVICE_INFO = "legendabsolute60149.deviceInfo" LEGENDABSOLUTE60149_DRIVER_VERSION1 = "legendabsolute60149.driverVersion1" LEGENDABSOLUTE60149_EFFECTS_SET_COMMAND = "legendabsolute60149.effectsSetCommand" LEGENDABSOLUTE60149_ENERGY_RESET1 = "legendabsolute60149.energyReset1" LEGENDABSOLUTE60149_EVEN_ODD_DAY = "legendabsolute60149.evenOddDay" LEGENDABSOLUTE60149_FAN_CYCLIC_MODE = "legendabsolute60149.fanCyclicMode" LEGENDABSOLUTE60149_FAN_NEXT_CHANGE = "legendabsolute60149.fanNextChange" LEGENDABSOLUTE60149_FORCED_ON_LEVEL = "legendabsolute60149.forcedOnLevel" LEGENDABSOLUTE60149_GET_GROUPS = "legendabsolute60149.getGroups" LEGENDABSOLUTE60149_GROUP_COMMAND_OPTION = "legendabsolute60149.groupCommandOption" LEGENDABSOLUTE60149_GROUP_NUMBER = "legendabsolute60149.groupNumber" LEGENDABSOLUTE60149_HUE_STEPS = "legendabsolute60149.hueSteps" LEGENDABSOLUTE60149_HUMIDITY_CONDITION = "legendabsolute60149.humidityCondition" LEGENDABSOLUTE60149_HUMIDITY_TARGET = "legendabsolute60149.humidityTarget" LEGENDABSOLUTE60149_INFO_PANEL = "legendabsolute60149.infoPanel" LEGENDABSOLUTE60149_LEVEL_STEPS = "legendabsolute60149.levelSteps" LEGENDABSOLUTE60149_LOCAL_DATE = "legendabsolute60149.localDate" LEGENDABSOLUTE60149_LOCAL_DATE_ONE = "legendabsolute60149.localDateOne" LEGENDABSOLUTE60149_LOCAL_DATE_TWO1 = "legendabsolute60149.localDateTwo1" LEGENDABSOLUTE60149_LOCAL_DAY = "legendabsolute60149.localDay" LEGENDABSOLUTE60149_LOCAL_DAY_TWO = "legendabsolute60149.localDayTwo" LEGENDABSOLUTE60149_LOCAL_HOUR = "legendabsolute60149.localHour" LEGENDABSOLUTE60149_LOCAL_HOUR_OFFSET = "legendabsolute60149.localHourOffset" LEGENDABSOLUTE60149_LOCAL_HOUR_TWO = "legendabsolute60149.localHourTwo" LEGENDABSOLUTE60149_LOCAL_MONTH = "legendabsolute60149.localMonth" LEGENDABSOLUTE60149_LOCAL_MONTH_DAY_ONE = "legendabsolute60149.localMonthDayOne" LEGENDABSOLUTE60149_LOCAL_MONTH_DAY_TWO = "legendabsolute60149.localMonthDayTwo" LEGENDABSOLUTE60149_LOCAL_MONTH_TWO = "legendabsolute60149.localMonthTwo" LEGENDABSOLUTE60149_LOCAL_WEEK_DAY = "legendabsolute60149.localWeekDay" LEGENDABSOLUTE60149_LOCAL_YEAR = "legendabsolute60149.localYear" LEGENDABSOLUTE60149_LOOPS_NUMBER = "legendabsolute60149.loopsNumber" LEGENDABSOLUTE60149_MIRROR_GROUP_FUNCTION = ( "legendabsolute60149.mirrorGroupFunction" ) LEGENDABSOLUTE60149_MIRROR_IN = "legendabsolute60149.mirrorIn" LEGENDABSOLUTE60149_MIRROR_OUT = "legendabsolute60149.mirrorOut" LEGENDABSOLUTE60149_MOTION_SENSOR_ENABLE = "legendabsolute60149.motionSensorEnable" LEGENDABSOLUTE60149_NODE_END_POINT = "legendabsolute60149.nodeEndPoint" LEGENDABSOLUTE60149_NODE_TO_WRITE_HEX = "legendabsolute60149.nodeToWriteHex" LEGENDABSOLUTE60149_PARAMETER_START = "legendabsolute60149.parameterStart" LEGENDABSOLUTE60149_PARAMETEREND = "legendabsolute60149.parameterend" LEGENDABSOLUTE60149_PROGRESSIVE_OFF1 = "legendabsolute60149.progressiveOff1" LEGENDABSOLUTE60149_PROGRESSIVE_ON1 = "legendabsolute60149.progressiveOn1" LEGENDABSOLUTE60149_RANDOM_MAXIMUM_TIMER = "legendabsolute60149.randomMaximumTimer" LEGENDABSOLUTE60149_RANDOM_MINIMUM_TIMER = "legendabsolute60149.randomMinimumTimer" LEGENDABSOLUTE60149_RANDOM_NEXT_STEP = "legendabsolute60149.randomNextStep" LEGENDABSOLUTE60149_RANDOM_NEXT_STEP2 = "legendabsolute60149.randomNextStep2" LEGENDABSOLUTE60149_RANDOM_ON_OFF1 = "legendabsolute60149.randomOnOff1" LEGENDABSOLUTE60149_RANDOM_ON_OFF2 = "legendabsolute60149.randomOnOff2" LEGENDABSOLUTE60149_RESETBUTTON = "legendabsolute60149.resetbutton" LEGENDABSOLUTE60149_SIGNAL_METRICS = "legendabsolute60149.signalMetrics" LEGENDABSOLUTE60149_SIREN_OR_BELL_ACTIVE = "legendabsolute60149.sirenOrBellActive" LEGENDABSOLUTE60149_SIREN_SOUNDS = "legendabsolute60149.sirenSounds" LEGENDABSOLUTE60149_SUN_AZIMUTH_ANGLE = "legendabsolute60149.sunAzimuthAngle" LEGENDABSOLUTE60149_SUN_ELEVATION_ANGLE = "legendabsolute60149.sunElevationAngle" LEGENDABSOLUTE60149_SUN_RISE = "legendabsolute60149.sunRise" LEGENDABSOLUTE60149_SUN_RISE_OFFSET1 = "legendabsolute60149.sunRiseOffset1" LEGENDABSOLUTE60149_SUN_SET = "legendabsolute60149.sunSet" LEGENDABSOLUTE60149_SUN_SET_OFFSET1 = "legendabsolute60149.sunSetOffset1" LEGENDABSOLUTE60149_SWITCH_ALL_ON_OFF1 = "legendabsolute60149.switchAllOnOff1" LEGENDABSOLUTE60149_TEMP_CONDITION2 = "legendabsolute60149.tempCondition2" LEGENDABSOLUTE60149_TEMP_TARGET = "legendabsolute60149.tempTarget" LEGENDABSOLUTE60149_THERMOSTAT_LOCKED = "legendabsolute60149.thermostatLocked" LEGENDABSOLUTE60149_TIMER_NEXT_CHANGE = "legendabsolute60149.timerNextChange" LEGENDABSOLUTE60149_TIMER_SECONDS = "legendabsolute60149.timerSeconds" LEGENDABSOLUTE60149_TIMER_TYPE = "legendabsolute60149.timerType" MIRRORHAPPY40050_COPPER_WATER_METER = "mirrorhappy40050.copperWaterMeter" MUSICAHEAD43206_POWERMODE = "musicahead43206.powermode" MUSICAHEAD43206_SNOOZE = "musicahead43206.snooze" MUSICAHEAD43206_STAGE = "musicahead43206.stage" ORANGEBROOK39927_HUE_ALERTS = "orangebrook39927.hueAlerts" ORANGEBROOK39927_HUE_BRIDGE = "orangebrook39927.hueBridge" ORANGEBROOK39927_HUE_DISCOVERY = "orangebrook39927.hueDiscovery" ORANGEBROOK39927_HUE_GEOFENCE = "orangebrook39927.hueGeofence" ORANGEBROOK39927_HUE_GROUP = "orangebrook39927.hueGroup" PARTYVOICE23922_ADD2 = "partyvoice23922.add2" PARTYVOICE23922_AMPERAGE = "partyvoice23922.amperage" PARTYVOICE23922_APIWEBREQUEST = "partyvoice23922.apiwebrequest" PARTYVOICE23922_BAROMETER2 = "partyvoice23922.barometer2" PARTYVOICE23922_CASTMEDIACONTROL = "partyvoice23922.castmediacontrol" PARTYVOICE23922_CLOSEDURATION = "partyvoice23922.closeduration" PARTYVOICE23922_CLOUDCOVER = "partyvoice23922.cloudcover" PARTYVOICE23922_COUNT = "partyvoice23922.count" PARTYVOICE23922_CREATEANOTHER = "partyvoice23922.createanother" PARTYVOICE23922_CREATEDEV8 = "partyvoice23922.createdev8" PARTYVOICE23922_CREATEHTTPDEV2B = "partyvoice23922.createhttpdev2b" PARTYVOICE23922_CREATEMQTTDEV9 = "partyvoice23922.createmqttdev9" PARTYVOICE23922_CREATEQTY = "partyvoice23922.createqty" PARTYVOICE23922_DURATION2 = "partyvoice23922.duration2" PARTYVOICE23922_ERRORSENSOR = "partyvoice23922.errorsensor" PARTYVOICE23922_ERRORSTATUS = "partyvoice23922.errorstatus" PARTYVOICE23922_ERRORSTATUSCV = "partyvoice23922.errorstatuscv" PARTYVOICE23922_HTTPCODE = "partyvoice23922.httpcode" PARTYVOICE23922_HTTPRESPONSE = "partyvoice23922.httpresponse" PARTYVOICE23922_INFOTABLE = "partyvoice23922.infotable" PARTYVOICE23922_INPUTPERCENT = "partyvoice23922.inputpercent" PARTYVOICE23922_INPUTSTATE = "partyvoice23922.inputstate" PARTYVOICE23922_INVENTORY8 = "partyvoice23922.inventory8" PARTYVOICE23922_KEYNUMVALUE = "partyvoice23922.keynumvalue" PARTYVOICE23922_KEYVALUE2 = "partyvoice23922.keyvalue2" PARTYVOICE23922_LOCATION = "partyvoice23922.location" PARTYVOICE23922_MEDIASUBTITLE = "partyvoice23922.mediasubtitle" PARTYVOICE23922_MEDIATITLE = "partyvoice23922.mediatitle" PARTYVOICE23922_MQTTPUBLISH = "partyvoice23922.mqttpublish" PARTYVOICE23922_NAMEINPUT = "partyvoice23922.nameinput" PARTYVOICE23922_ONVIFINFO = "partyvoice23922.onvifinfo" PARTYVOICE23922_ONVIFSTATUS = "partyvoice23922.onvifstatus" PARTYVOICE23922_OPENDURATION = "partyvoice23922.openduration" PARTYVOICE23922_POWERFACTOR2 = "partyvoice23922.powerfactor2" PARTYVOICE23922_PRECIPPROB = "partyvoice23922.precipprob" PARTYVOICE23922_PRECIPRATE = "partyvoice23922.preciprate" PARTYVOICE23922_REACTIVEPOWER = "partyvoice23922.reactivepower" PARTYVOICE23922_REFRESH = "partyvoice23922.refresh" PARTYVOICE23922_RESETALT = "partyvoice23922.resetalt" PARTYVOICE23922_RESETSELECT = "partyvoice23922.resetselect" PARTYVOICE23922_ROKUCURRENTAPP = "partyvoice23922.rokucurrentapp" PARTYVOICE23922_ROKUMEDIASTATUS = "partyvoice23922.rokumediastatus" PARTYVOICE23922_SETILLUMINANCE = "partyvoice23922.setilluminance" PARTYVOICE23922_SHADEPAUSE = "partyvoice23922.shadepause" PARTYVOICE23922_SHELLYDEVS4 = "partyvoice23922.shellydevs4" PARTYVOICE23922_STATEFIELD2 = "partyvoice23922.statefield2" PARTYVOICE23922_STATUS = "partyvoice23922.status" PARTYVOICE23922_SUBTRACT2 = "partyvoice23922.subtract2" PARTYVOICE23922_SUMMARY = "partyvoice23922.summary" PARTYVOICE23922_TEMPMAX = "partyvoice23922.tempmax" PARTYVOICE23922_TEMPMIN = "partyvoice23922.tempmin" PARTYVOICE23922_TEXTFIELD = "partyvoice23922.textfield" PARTYVOICE23922_TOPICLIST = "partyvoice23922.topiclist" PARTYVOICE23922_TVCHANNEL = "partyvoice23922.tvchannel" PARTYVOICE23922_VHUMIDITYSET = "partyvoice23922.vhumidityset" PARTYVOICE23922_VOLUMEDOWN = "partyvoice23922.volumedown" PARTYVOICE23922_VOLUMEUP = "partyvoice23922.volumeup" PARTYVOICE23922_VTEMPSET = "partyvoice23922.vtempset" PARTYVOICE23922_WATTAGE4 = "partyvoice23922.wattage4" PARTYVOICE23922_WEBREQUEST = "partyvoice23922.webrequest" PARTYVOICE23922_WEBREQUESTSELECT = "partyvoice23922.webrequestselect" PARTYVOICE23922_WINDDIRDEG = "partyvoice23922.winddirdeg" PARTYVOICE23922_WINDDIRECTION2 = "partyvoice23922.winddirection2" PARTYVOICE23922_WINDGUST = "partyvoice23922.windgust" PARTYVOICE23922_WINDSPEED5 = "partyvoice23922.windspeed5" PARTYVOICE23922_WLEDEFFECTMODE2 = "partyvoice23922.wledeffectmode2" PLATEMUSIC11009_AMPERAGE_MEASUREMENT = "platemusic11009.amperageMeasurement" PLATEMUSIC11009_ASSOCIATION_GROUP_FOUR = "platemusic11009.associationGroupFour" PLATEMUSIC11009_ASSOCIATION_GROUP_THREE = "platemusic11009.associationGroupThree" PLATEMUSIC11009_ASSOCIATION_GROUP_TWO = "platemusic11009.associationGroupTwo" PLATEMUSIC11009_BASIC_SET_ASSOCIATION_GROUP = ( "platemusic11009.basicSetAssociationGroup" ) PLATEMUSIC11009_DEVICE_NETWORK_ID = "platemusic11009.deviceNetworkId" PLATEMUSIC11009_FIRMWARE = "platemusic11009.firmware" PLATEMUSIC11009_HS_LED_MODE = "platemusic11009.hsLedMode" PLATEMUSIC11009_HS_NORMAL_LED_COLOR = "platemusic11009.hsNormalLedColor" PLATEMUSIC11009_HS_STATUS_LED_BLINKING_COLOR = ( "platemusic11009.hsStatusLedBlinkingColor" ) PLATEMUSIC11009_HS_STATUS_LED_BLINKING_FREQ = ( "platemusic11009.hsStatusLedBlinkingFreq" ) PLATEMUSIC11009_HS_STATUS_LED_FIVE_COLOR = "platemusic11009.hsStatusLedFiveColor" PLATEMUSIC11009_HS_STATUS_LED_FOUR_COLOR = "platemusic11009.hsStatusLedFourColor" PLATEMUSIC11009_HS_STATUS_LED_ONE_COLOR = "platemusic11009.hsStatusLedOneColor" PLATEMUSIC11009_HS_STATUS_LED_SEVEN_COLOR = "platemusic11009.hsStatusLedSevenColor" PLATEMUSIC11009_HS_STATUS_LED_SIX_COLOR = "platemusic11009.hsStatusLedSixColor" PLATEMUSIC11009_HS_STATUS_LED_THREE_COLOR = "platemusic11009.hsStatusLedThreeColor" PLATEMUSIC11009_HS_STATUS_LED_TWO_COLOR = "platemusic11009.hsStatusLedTwoColor" PLATEMUSIC11009_HUMIDITY_ALARM = "platemusic11009.humidityAlarm" PLATEMUSIC11009_TEMPERATURE_HUMIDITY_SENSOR = ( "platemusic11009.temperatureHumiditySensor" ) PLATEMUSIC11009_ZOOZ_LED_BRIGHTNESS = "platemusic11009.zoozLedBrightness" PLATEMUSIC11009_ZOOZ_LED_COLOR = "platemusic11009.zoozLedColor" PLATEMUSIC11009_ZOOZ_LED_MODE = "platemusic11009.zoozLedMode" PLATINUMMASSIVE43262_AUTO_LOCK = "platinummassive43262.autoLock" PLATINUMMASSIVE43262_HOME_BUTTON = "platinummassive43262.homeButton" PLATINUMMASSIVE43262_JASCO_DEFAULT_LEVEL = "platinummassive43262.jascoDefaultLevel" PLATINUMMASSIVE43262_JASCO_LIGHT_SENSING = "platinummassive43262.jascoLightSensing" PLATINUMMASSIVE43262_JASCO_MOTION_SENSITIVITY = ( "platinummassive43262.jascoMotionSensitivity" ) PLATINUMMASSIVE43262_JASCO_OPERATION_MODE = ( "platinummassive43262.jascoOperationMode" ) PLATINUMMASSIVE43262_JASCO_TIMEOUT_DURATION = ( "platinummassive43262.jascoTimeoutDuration" ) PLATINUMMASSIVE43262_KEYPAD_BEEP = "platinummassive43262.keypadBeep" PLATINUMMASSIVE43262_LOCK_AND_LEAVE = "platinummassive43262.lockAndLeave" PLATINUMMASSIVE43262_ONKYO_INPUT_SOURCE = "platinummassive43262.onkyoInputSource" PLATINUMMASSIVE43262_ONKYO_RAW_COMMAND = "platinummassive43262.onkyoRawCommand" PLATINUMMASSIVE43262_PICTURE_MUTE = "platinummassive43262.pictureMute" PLATINUMMASSIVE43262_SCHLAGE_INTERIOR_BUTTON = ( "platinummassive43262.schlageInteriorButton" ) PLATINUMMASSIVE43262_SCHLAGE_LOCK_ALARM = "platinummassive43262.schlageLockAlarm" PLATINUMMASSIVE43262_STATUS_MESSAGE = "platinummassive43262.statusMessage" PLATINUMMASSIVE43262_TV_CHANNEL = "platinummassive43262.tvChannel" PLATINUMMASSIVE43262_UNLOCK_CODE_NAME = "platinummassive43262.unlockCodeName" PLATINUMMASSIVE43262_VACATION_MODE = "platinummassive43262.vacationMode" RBOYAPPS_LOCK_AUDIO = "rboyapps.lockAudio" RBOYAPPS_LOCK_AUTOLOCK = "rboyapps.lockAutolock" RBOYAPPS_LOCK_EXTENDED = "rboyapps.lockExtended" RBOYAPPS_LOCK_KEYPAD = "rboyapps.lockKeypad" RBOYAPPS_LOCK_ONE_TOUCH_LOCK = "rboyapps.lockOneTouchLock" RBOYAPPS_LOCK_TAMPER = "rboyapps.lockTamper" RBOYAPPS_LOCK_TAMPER_SENSITIVITY = "rboyapps.lockTamperSensitivity" RIVERTALENT14263_ADAPTIVE_ENERGY_USAGE_STATE = ( "rivertalent14263.adaptiveEnergyUsageState" ) RIVERTALENT14263_BATCH_GAS_CONSUMPTION_REPORT = ( "rivertalent14263.batchGasConsumptionReport" ) RIVERTALENT14263_BATCH_POWER_CONSUMPTION_REPORT = ( "rivertalent14263.batchPowerConsumptionReport" ) RIVERTALENT14263_ENERGY_METER_PROPERTIES = "rivertalent14263.energyMeterProperties" RIVERTALENT14263_GAS_CONSUMPTION_REPORT = "rivertalent14263.gasConsumptionReport" SAFE_PANIC_BUTTON = "safe.panicButton" SAFE_USERS = "safe.users" SEC_CALM_CONNECTION_CARE = "sec.calmConnectionCare" SEC_DEVICE_CONNECTION_STATE = "sec.deviceConnectionState" SEC_DIAGNOSTICS_INFORMATION = "sec.diagnosticsInformation" SEC_SMARTTHINGS_HUB = "sec.smartthingsHub" SEC_WIFI_CONFIGURATION = "sec.wifiConfiguration" SIGNALAHEAD13665_APPLIANCEOPERATIONSTATESV2 = ( "signalahead13665.applianceoperationstatesv2" ) SIGNALAHEAD13665_DISHWASHERPROGRAMSV2 = "signalahead13665.dishwasherprogramsv2" SIGNALAHEAD13665_OVENPROGRAMSV2 = "signalahead13665.ovenprogramsv2" SIGNALAHEAD13665_PAUSERESUMEV2 = "signalahead13665.pauseresumev2" SIGNALAHEAD13665_PROGRAMDURATIONV2 = "signalahead13665.programdurationv2" SIGNALAHEAD13665_STARTSTOPPROGRAMV2 = "signalahead13665.startstopprogramv2" STSE_DEVICE_MODE = "stse.deviceMode" STSOLUTIONS_DEMAND_RESPONSE_MODE = "stsolutions.demandResponseMode" STSOLUTIONS_DEMAND_RESPONSE_STATUS = "stsolutions.demandResponseStatus" STSOLUTIONS_MESSAGE = "stsolutions.message" STUS_SOFTWARE_GENERATION = "stus.softwareGeneration" SYNTHETIC_CIRCADIAN_LIGHTING_EFFECT = "synthetic.lightingEffectCircadian" SYNTHETIC_FADE_LIGHTNING_EFFECT = "synthetic.lightingEffectFade" TAG_E2E_ENCRYPTION = "tag.e2eEncryption" TAG_FACTORY_RESET = "tag.factoryReset" TAG_SEARCHING_STATUS = "tag.searchingStatus" TAG_TAG_BUTTON = "tag.tagButton" TAG_TAG_STATUS = "tag.tagStatus" TAG_UPDATED_INFO = "tag.updatedInfo" TAG_UWB_ACTIVATION = "tag.uwbActivation" VALLEYBOARD16460_DEBUG = "valleyboard16460.debug" VALLEYBOARD16460_HTTPREQUESTPATH = "valleyboard16460.httprequestpath" VALLEYBOARD16460_INFO = "valleyboard16460.info" WATCHDIGIT58804_ACTUALFANSPEED = "watchdigit58804.actualfanspeed" WATCHDIGIT58804_AUTOMODE = "watchdigit58804.automode" WATCHDIGIT58804_ERRORSTRING = "watchdigit58804.errorstring" WATCHDIGIT58804_FILTERCHANGENEEDED = "watchdigit58804.filterchangeneeded" WATCHDIGIT58804_OUTDOORUNITDEFROSTING = "watchdigit58804.outdoorunitdefrosting" WATCHDIGIT58804_STANDBYMODE = "watchdigit58804.standbymode" WATCHDIGIT58804_SYSTEMPREHEATING = "watchdigit58804.systempreheating" WATCHDIGIT58804_THERMOSTATFANSETTING = "watchdigit58804.thermostatfansetting" WATCHPANEL55613_LCCTHERMOSTAT = "watchpanel55613.lccthermostat" WATCHPANEL55613_TCCTHERMOSTAT = "watchpanel55613.tccthermostat" pySmartThings-pysmartthings-71aec67/src/pysmartthings/command.py000066400000000000000000002627421511701743400253720ustar00rootroot00000000000000"""Command model.""" from enum import StrEnum from pysmartthings.capability import Capability class Command(StrEnum): """Command model.""" ACT_SILENTLY = "actSilently" ACTION = "action" ACTIVATE = "activate" ACTIVITY = "activity" ADD = "add" ADD_AGING = "addAging" ADD_CREDENTIAL = "addCredential" ADD_RESERVATION = "addReservation" ADD_USER = "addUser" AGREE_UPDATE = "agreeUpdate" ALARM_TOGGLE = "alarmToggle" ANNOUNCE = "announce" APPLY = "apply" ARM_AWAY = "armAway" ARM_STAY = "armStay" AUTO = "auto" AUTOLOCK = "autolock" BEEP = "beep" BIXBY_COMMAND = "bixbyCommand" BOTH = "both" CALL = "call" CANCEL = "cancel" CANCEL_AGING = "cancelAging" CANCEL_ONBOARDING = "cancelOnboarding" CANCEL_REMAINING_JOB = "cancelRemainingJob" CANCEL_SELF_CHECK = "cancelSelfCheck" CAPTURE = "capture" CAPTURE_CLIP = "captureClip" CHANNEL_DOWN = "channelDown" CHANNEL_UP = "channelUp" CHARGE = "charge" CHECK_FOR_FIRMWARE_UPDATE = "checkForFirmwareUpdate" CHIME = "chime" CLEAR = "clear" CLEAR_WEEK_DAY_SCHEDULES = "clearWeekDaySchedules" CLEAR_YEAR_DAY_SCHEDULES = "clearYearDaySchedules" CLIENT_ICE = "clientIce" CLOSE = "close" CONFIGURE = "configure" CONNECT = "connect" COOK_CUSTOM_RECIPE = "cookCustomRecipe" COOK_DEFINED_RECIPE = "cookDefinedRecipe" COOL = "cool" CREATE = "create" CREATE_ZONE = "createZone" DEACTIVATE = "deactivate" DELETE = "delete" DELETE_ALL_CREDENTIALS = "deleteAllCredentials" DELETE_ALL_USERS = "deleteAllUsers" DELETE_CODE = "deleteCode" DELETE_CREDENTIAL = "deleteCredential" DELETE_RESERVATION = "deleteReservation" DELETE_RESERVATIONS = "deleteReservations" DELETE_USER = "deleteUser" DELETE_WELCOME_MESSAGE = "deleteWelcomeMessage" DELETE_ZONE = "deleteZone" DEVICE_NOTIFICATION = "deviceNotification" DISABLE = "disable" DISABLE_ALARM = "disableAlarm" DISABLE_AUDIO = "disableAudio" DISABLE_AUTO_UPDATE = "disableAutoUpdate" DISABLE_AUTOLOCK = "disableAutolock" DISABLE_CHARGING = "disableCharging" DISABLE_KEYPAD = "disableKeypad" DISABLE_LED_NOTIFICATION = "disableLedNotification" DISABLE_ONE_TOUCH_LOCK = "disableOneTouchLock" DISABLE_REPEAT_MODE = "disableRepeatMode" DISABLE_SOUND_DETECTION = "disableSoundDetection" DISABLE_WIFI_GUEST_NETWORK = "disableWifiGuestNetwork" DISABLE_WIFI_NETWORK = "disableWifiNetwork" DISAGREE_UPDATE = "disagreeUpdate" DISARM = "disarm" DISCONNECT = "disconnect" DISCOVER = "discover" DO_NOT_DISTURB_OFF = "doNotDisturbOff" DO_NOT_DISTURB_ON = "doNotDisturbOn" EDIT_RESERVATION = "editReservation" EMERGENCY_HEAT = "emergencyHeat" ENABLE = "enable" ENABLE_ALARM = "enableAlarm" ENABLE_AUDIO = "enableAudio" ENABLE_AUTO_UPDATE = "enableAutoUpdate" ENABLE_AUTOLOCK = "enableAutolock" ENABLE_CHARGING = "enableCharging" ENABLE_EP_EVENTS = "enableEpEvents" ENABLE_KEYPAD = "enableKeypad" ENABLE_LED_NOTIFICATION = "enableLedNotification" ENABLE_MONITORING_AUTOMATION = "enableMonitoringAutomation" ENABLE_ONE_TOUCH_LOCK = "enableOneTouchLock" ENABLE_REPEAT_MODE = "enableRepeatMode" ENABLE_SOUND_DETECTION = "enableSoundDetection" ENABLE_WIFI_GUEST_NETWORK = "enableWifiGuestNetwork" ENABLE_WIFI_NETWORK = "enableWifiNetwork" ENCRYPT_KEK = "encryptKek" END = "end" EP_CMD = "epCmd" ESTIMATE_OPERATION_TIME = "estimateOperationTime" EXECUTE = "execute" FAN_AUTO = "fanAuto" FAN_CIRCULATE = "fanCirculate" FAN_ON = "fanOn" FAST_FORWARD = "fastForward" FLIP = "flip" FORCEDENTRY = "forcedentry" G_E_T = "GET" GENERATE_NONCE = "generateNonce" GET_SCAN_RESULTS = "getScanResults" GO_HOME = "goHome" GROUP_VOLUME_DOWN = "groupVolumeDown" GROUP_VOLUME_UP = "groupVolumeUp" HEAT = "heat" HOME = "home" INDICATOR_NEVER = "indicatorNever" INDICATOR_WHEN_OFF = "indicatorWhenOff" INDICATOR_WHEN_ON = "indicatorWhenOn" LAUNCH_APP = "launchApp" LAUNCH_T_V_PLUS = "launchTVPlus" LINK = "link" LINK_DRYER_CYCLE = "linkDryerCycle" LINK_STEAM_CLOSET_CYCLE = "linkSteamClosetCycle" LOCK = "lock" LOCKANDLEAVE = "lockandleave" LOWER_SETPOINT = "lowerSetpoint" MIGRATE = "migrate" MUTE = "mute" MUTE_GROUP = "muteGroup" MUTED = "muted" NAME_SLOT = "nameSlot" NEXT_INTENSITY = "nextIntensity" NEXT_TIME = "nextTime" NEXT_TRACK = "nextTrack" OFF = "off" ON = "on" ONBOARDING = "onboarding" OPEN = "open" OVERRIDE_DEMAND_RESPONSE_LOAD_CONTROL_ACTION = "overrideDrlcAction" P_O_S_T = "POST" PAUSE = "pause" PERIODIC_SENSING_OFF = "periodicSensingOff" PERIODIC_SENSING_ON = "periodicSensingOn" PING = "ping" PLAY = "play" PLAY_PRESET = "playPreset" PLAY_TRACK = "playTrack" PLAY_TRACK_AND_RESTORE = "playTrackAndRestore" PLAY_TRACK_AND_RESUME = "playTrackAndResume" POLL = "poll" POST_OCF_COMMAND = "postOcfCommand" PRESET_POSITION = "presetPosition" PREVIOUS_TRACK = "previousTrack" PUBLISH = "publish" PUSH = "push" RAISE_SETPOINT = "raiseSetpoint" RECORD_START = "recordStart" RECORD_STOP = "recordStop" REFRESH = "refresh" REFRESH_ALL = "refreshAll" REFRESH_CONNECTION = "refreshConnection" REFRESH_MINIMUM_RESERVABLE_TIME = "refreshMinimumReservableTime" REFRESH_SPECIFIC_AREA = "refreshSpecificArea" REGISTER = "register" RELOAD_ALL_CODES = "reloadAllCodes" REMOVE = "remove" REQUEST_CODE = "requestCode" REQUEST_DEMAND_RESPONSE_LOAD_CONTROL_ACTION = "requestDrlcAction" REQUEST_TURN_INFO = "requestTurnInfo" RESET = "reset" RESET_DEODOR_FILTER = "resetDeodorFilter" RESET_DRAIN_FILTER = "resetDrainFilter" RESET_DUST_FILTER = "resetDustFilter" RESET_ELECTRIC_HEPA_FILTER = "resetElectricHepaFilter" RESET_ENERGY_METER = "resetEnergyMeter" RESET_FILTER = "resetFilter" RESET_FILTER_USAGE_TIME = "resetFilterUsageTime" RESET_HEPA_FILTER = "resetHepaFilter" RESET_HOOD_FILTER = "resetHoodFilter" RESET_PRECIPITATION_LEVEL = "resetPrecipitationLevel" RESET_VERY_FINE_DUST_FILTER = "resetVeryFineDustFilter" RESET_WATER_FILTER = "resetWaterFilter" RESTORE_TRACK = "restoreTrack" RESUME = "resume" RESUME_TRACK = "resumeTrack" RETURN_TO_HOME = "returnToHome" REWIND = "rewind" RM_COMMAND = "rmCommand" RUN = "run" SCHEDULE_COOKING = "scheduleCooking" SDP_ANSWER = "sdpAnswer" SDP_OFFER = "sdpOffer" SEARCH = "search" SELECT_AREAS = "selectAreas" SEND = "send" SEND_COMMAND = "sendCommand" SEND_CONTENT = "sendContent" SEND_DATA = "sendData" SEND_KEY = "sendKey" SENSITIVE_TOGGLE = "sensitiveToggle" SET_AC_OPTIONAL_MODE = "setAcOptionalMode" SET_AC_TROPICAL_NIGHT_MODE_LEVEL = "setAcTropicalNightModeLevel" SET_ACCESSIBILITY = "setAccessibility" SET_ACM_MODE = "setAcmMode" SET_ACTION_SETTING = "setActionSetting" SET_ACTIVITY_SENSITIVITY = "setActivitySensitivity" SET_ACTUAL_FAN_SPEED = "setActualFanSpeed" SET_ADD_RINSE = "setAddRinse" SET_AIR_CONDITIONER_MODE = "setAirConditionerMode" SET_AIR_CONDITIONER_ODOR_CONTROLLER_STATE = "setAirConditionerOdorControllerState" SET_AIR_PURIFIER_FAN_MODE = "setAirPurifierFanMode" SET_ALARM = "setAlarm" SET_ALARM_MODE = "setAlarmMode" SET_ALARM_SENSOR_STATE = "setAlarmSensorState" SET_ALARM_THRESHOLD = "setAlarmThreshold" SET_AMBIENT_CONTENT = "setAmbientContent" SET_AMBIENT_ON = "setAmbientOn" SET_AMOUNT = "setAmount" SET_AP_OPERATION_MODE = "setApOperationMode" SET_APP_NAME = "setAppName" SET_ART_ON = "setArtOn" SET_ATMOS_PRESSURE = "setAtmosPressure" SET_AUDIO = "setAudio" SET_AUDIO_TRACK = "setAudioTrack" SET_AUTO_CLEANING_MODE = "setAutoCleaningMode" SET_AUTO_MODE = "setAutoMode" SET_AUTO_REPLENISHMENT = "setAutoReplenishment" SET_AUTOLOCK = "setAutolock" SET_AUTOMATIC_EXECUTION_MODE = "setAutomaticExecutionMode" SET_AUTOMATIC_EXECUTION_SETTING = "setAutomaticExecutionSetting" SET_BELL_SOUNDS = "setBellSounds" SET_BRIGHTNESS_LEVEL = "setBrightnessLevel" SET_BUTTON = "setButton" SET_BUTTON_DOUBLE_PUSH = "setButtonDoublePush" SET_BUTTON_HOLD = "setButtonHold" SET_BUTTON_PUSH = "setButtonPush" SET_BUTTON_TRIPLE_PUSH = "setButtonTriplePush" SET_CHANNEL = "setChannel" SET_CIRCADIAN = "setCircadian" SET_CLEANING_MODE = "setCleaningMode" SET_CLEANING_TYPE = "setCleaningType" SET_CLOSE = "setClose" SET_CLUSTER_ID = "setClusterId" SET_CODE = "setCode" SET_CODE_LENGTH = "setCodeLength" SET_COFFEE_BREWING_RECIPE = "setCoffeeBrewingRecipe" SET_COLOR = "setColor" SET_COLOR_CHANGE_MODE = "setColorChangeMode" SET_COLOR_CHANGE_TIMER = "setColorChangeTimer" SET_COLOR_CHANGING = "setColorChanging" SET_COLOR_TEMP_STEPS = "setColorTempSteps" SET_COLOR_TEMPERATURE = "setColorTemperature" SET_COLOR_VALUE = "setColorValue" SET_COMPLETION_TIME = "setCompletionTime" SET_CONDITION = "setCondition" SET_CONTENT_TEXT = "setContentText" SET_CONTENT_TITLE = "setContentTitle" SET_CONTEXT = "setContext" SET_CONTEXT_SNAPSHOT = "setContextSnapshot" SET_CONTEXTS = "setContexts" SET_CONTROL = "setControl" SET_CONTROL_MODE = "setControlMode" SET_COOK_RECIPE = "setCookRecipe" SET_COOK_TIME = "setCookTime" SET_COOKTOP_COOK_RECIPE = "setCooktopCookRecipe" SET_COOLING_SETPOINT = "setCoolingSetpoint" SET_COORDINATES = "setCoordinates" SET_COURSE = "setCourse" SET_CREATE_DEVICE = "setCreateDevice" SET_CREATE_QTY = "setCreateQty" SET_CURRENT_LOOP = "setCurrentLoop" SET_CURRENT_TIME_PERIOD = "setCurrentTimePeriod" SET_CURRENT_TWILIGHT = "setCurrentTwilight" SET_CUSTOM_COURSE = "setCustomCourse" SET_DATA = "setData" SET_DAY_LENGTH = "setDayLength" SET_DEFAULT_LEVEL = "setDefaultLevel" SET_DEFINED_RECIPE = "setDefinedRecipe" SET_DEFROST = "setDefrost" SET_DEHUMIDIFIER_MODE = "setDehumidifierMode" SET_DELAY_END = "setDelayEnd" SET_DELAY_TIME = "setDelayTime" SET_DENSITY = "setDensity" SET_DESIRED_HUMIDITY = "setDesiredHumidity" SET_DESIRED_TEMPERATURE = "setDesiredTemperature" SET_DETECTION_INTERVAL = "setDetectionInterval" SET_DETECTION_PROXIMITY = "setDetectionProximity" SET_DETERGENT_TYPE = "setDetergentType" SET_DEVICE_ASSOCIATION_TYPE = "setDeviceAssociationType" SET_DEVICE_EUI = "setDeviceEui" SET_DEVICE_INFO = "setDeviceInfo" SET_DEVICE_TYPE = "setDeviceType" SET_DISHWASHER_DELAY_START_TIME = "setDishwasherDelayStartTime" SET_DISHWASHER_MODE = "setDishwasherMode" SET_DISTANCE = "setDistance" SET_DO_NOT_DISTURB_MODE = "setDoNotDisturbMode" SET_DOSAGE = "setDosage" SET_DRIVER_VERSION = "setDriverVersion" SET_DRIVING_MODE = "setDrivingMode" SET_DRY_PLUS = "setDryPlus" SET_DRYER_AUTO_CYCLE_LINK = "setDryerAutoCycleLink" SET_DRYER_CYCLE = "setDryerCycle" SET_DRYER_CYCLE_PRESET = "setDryerCyclePreset" SET_DRYER_DRY_LEVEL = "setDryerDryLevel" SET_DRYER_LABEL_SCAN_CYCLE_PRESET = "setDryerLabelScanCyclePreset" SET_DRYER_MODE = "setDryerMode" SET_DRYER_WRINKLE_PREVENT = "setDryerWrinklePrevent" SET_DRYING_TEMPERATURE = "setDryingTemperature" SET_DRYING_TIME = "setDryingTime" SET_DURATION = "setDuration" SET_EFFECT_MODE = "setEffectMode" SET_EFFECTS_SET_COMMAND = "setEffectsSetCommand" SET_ENABLE_STATE = "setEnableState" SET_ENABLED = "setEnabled" SET_ENERGY_RESET = "setEnergyReset" SET_ENERGY_SAVING_LEVEL = "setEnergySavingLevel" SET_ERROR = "setError" SET_EVEN_ODD_DAY = "setEvenOddDay" SET_EXCLUDE_HOLIDAYS = "setExcludeHolidays" SET_FADE = "setFade" SET_FAN_CYCLIC_MODE = "setFanCyclicMode" SET_FAN_MODE = "setFanMode" SET_FAN_NEXT_CHANGE = "setFanNextChange" SET_FAN_OSCILLATION_MODE = "setFanOscillationMode" SET_FAN_SPEED = "setFanSpeed" SET_FILTER_CHANGE_NEEDED = "setFilterChangeNeeded" SET_FIRMWARE_VERSION = "setFirmwareVersion" SET_FORCED_ON_LEVEL = "setForcedOnLevel" SET_FORCED_SENSITIVITY = "setForcedSensitivity" SET_FREEZER_CONVERT_MODE = "setFreezerConvertMode" SET_FRIDGE_MODE = "setFridgeMode" SET_GEOFENCE = "setGeofence" SET_GET_GROUPS = "setGetGroups" SET_GROUP_COMMAND_OPTION = "setGroupCommandOption" SET_GROUP_MUTE = "setGroupMute" SET_GROUP_NAME = "setGroupName" SET_GROUP_NUMBER = "setGroupNumber" SET_GROUP_VOLUME = "setGroupVolume" SET_HEATED_DRY = "setHeatedDry" SET_HEATING_SETPOINT = "setHeatingSetpoint" SET_HIGH_TEMP_WASH = "setHighTempWash" SET_HOME_APP = "setHomeApp" SET_HOOD_FAN_SPEED = "setHoodFanSpeed" SET_HOT_AIR_DRY = "setHotAirDry" SET_HOT_TEMPERATURE = "setHotTemperature" SET_HUE = "setHue" SET_HUE_STEPS = "setHueSteps" SET_HUMIDIFIER_MODE = "setHumidifierMode" SET_HUMIDITY_CONDITION = "setHumidityCondition" SET_HUMIDITY_TARGET = "setHumidityTarget" SET_ILLUM = "setIllum" SET_INFO_PANEL = "setInfoPanel" SET_INFRARED_LEVEL = "setInfraredLevel" SET_INITIAL_AMOUNT = "setInitialAmount" SET_INPUT = "setInput" SET_INPUT_SOURCE = "setInputSource" SET_INTENSITY_FOOT = "setIntensityFoot" SET_INTENSITY_HEAD = "setIntensityHead" SET_INTENSITY_WHOLE = "setIntensityWhole" SET_INVENTORY = "setInventory" SET_KEYPAD = "setKeypad" SET_KIMCHI_LABEL_SCAN_MODE = "setKimchiLabelScanMode" SET_LANGUAGE = "setLanguage" SET_LED_BAR_OFF_COLOR = "setLedBarOffColor" SET_LED_BAR_OFF_LEVEL = "setLedBarOffLevel" SET_LED_BAR_ON_COLOR = "setLedBarOnColor" SET_LED_BAR_ON_LEVEL = "setLedBarOnLevel" SET_LED_BRIGHTNESS = "setLedBrightness" SET_LED_COLOR = "setLedColor" SET_LED_MODE = "setLedMode" SET_LEVEL = "setLevel" SET_LEVEL_LOCAL = "setLevelLocal" SET_LEVEL_STEPS = "setLevelSteps" SET_LIGHT_CONTROL_MODE = "setLightControlMode" SET_LIGHT_CONTROLLER_MODE = "setLightControllerMode" SET_LIGHT_SENSING = "setLightSensing" SET_LIGHTING_LEVEL = "setLightingLevel" SET_LIGHTING_MODE = "setLightingMode" SET_LOC = "setLoc" SET_LOCAL_CONTROL = "setLocalControl" SET_LOCAL_DATE = "setLocalDate" SET_LOCAL_DATE_ONE = "setLocalDateOne" SET_LOCAL_DATE_TWO = "setLocalDateTwo" SET_LOCAL_DAY = "setLocalDay" SET_LOCAL_DAY_TWO = "setLocalDayTwo" SET_LOCAL_HOUR = "setLocalHour" SET_LOCAL_HOUR_OFFSET = "setLocalHourOffset" SET_LOCAL_HOUR_TWO = "setLocalHourTwo" SET_LOCAL_MONTH = "setLocalMonth" SET_LOCAL_MONTH_DAY_ONE = "setLocalMonthDayOne" SET_LOCAL_MONTH_DAY_TWO = "setLocalMonthDayTwo" SET_LOCAL_MONTH_TWO = "setLocalMonthTwo" SET_LOCAL_WEEK_DAY = "setLocalWeekDay" SET_LOCAL_YEAR = "setLocalYear" SET_LOCK = "setLock" SET_LOOPS_NUMBER = "setLoopsNumber" SET_MACHINE_STATE = "setMachineState" SET_MASTER_DI = "setMasterDi" SET_MASTER_NAME = "setMasterName" SET_MAX_CURRENT = "setMaxCurrent" SET_MEDICATION_MODE = "setMedicationMode" SET_METERING_DATE = "setMeteringDate" SET_MIN_CURRENT = "setMinCurrent" SET_MIRROR_GROUP_FUNCTION = "setMirrorGroupFunction" SET_MIRROR_IN = "setMirrorIn" SET_MIRROR_OUT = "setMirrorOut" SET_MODE = "setMode" SET_MONITOR = "setMonitor" SET_MOTION_SENSITIVITY = "setMotionSensitivity" SET_MOTION_SENSOR_ENABLE = "setMotionSensorEnable" SET_MULTI_TAB = "setMultiTab" SET_MULTIVIEW = "setMultiview" SET_MUTE = "setMute" SET_NAME = "setName" SET_NEXT_INPUT_SOURCE = "setNextInputSource" SET_NODE_END_POINT = "setNodeEndPoint" SET_NODE_TO_WRITE = "setNodeToWrite" SET_NORMAL_LED_COLOR = "setNormalLedColor" SET_NOTIFICATION_COLOR = "setNotificationColor" SET_NOTIFICATION_DURATION = "setNotificationDuration" SET_NOTIFICATION_EFFECT = "setNotificationEffect" SET_NOTIFICATION_LEVEL = "setNotificationLevel" SET_NOTIFICATION_NUMBER = "setNotificationNumber" SET_ONE_TOUCH_LOCK = "setOneTouchLock" SET_OPEN = "setOpen" SET_OPERATING_STATE = "setOperatingState" SET_OPERATION_MODE = "setOperationMode" SET_OPERATION_ORIGIN = "setOperationOrigin" SET_OPERATION_TIME = "setOperationTime" SET_OPTION = "setOption" SET_OPTIONS = "setOptions" SET_ORDER_THRESHOLD = "setOrderThreshold" SET_OUTDOOR_UNIT_DEFROSTING = "setOutdoorUnitDefrosting" SET_OUTING_MODE = "setOutingMode" SET_OVEN_MODE = "setOvenMode" SET_OVEN_SETPOINT = "setOvenSetpoint" SET_PARAMETER_END = "setParameterEnd" SET_PARAMETER_START = "setParameterStart" SET_PATH = "setPath" SET_PATROL = "setPatrol" SET_PAUSE_STATE = "setPauseState" SET_PERCENT = "setPercent" SET_PERIODIC_SENSING = "setPeriodicSensing" SET_PERIODIC_SENSING_INTERVAL = "setPeriodicSensingInterval" SET_PICTURE_MODE = "setPictureMode" SET_PLAN = "setPlan" SET_PLAYBACK_REPEAT_MODE = "setPlaybackRepeatMode" SET_PLAYBACK_SHUFFLE = "setPlaybackShuffle" SET_PLAYBACK_STATUS = "setPlaybackStatus" SET_PLAYLIST = "setPlaylist" SET_PORTION = "setPortion" SET_POWER_LEVEL = "setPowerLevel" SET_POWER_SAVING = "setPowerSaving" SET_POWER_STATE = "setPowerState" SET_PRESET_POSITION = "setPresetPosition" SET_PRESSURE_LEVEL = "setPressureLevel" SET_PROG_OFF = "setProgOff" SET_PROG_ON = "setProgOn" SET_PROGRAM = "setProgram" SET_PROGRAM_DURATION = "setProgramDuration" SET_RANDOM_MAXIMUM_TIMER = "setRandomMaximumTimer" SET_RANDOM_MINIMUM_TIMER = "setRandomMinimumTimer" SET_RANDOM_NEXT = "setRandomNext" SET_RANDOM_ON_OFF = "setRandomOnOff" SET_RAPID_COOLING = "setRapidCooling" SET_RAPID_FREEZING = "setRapidFreezing" SET_RECENTLY_USED_APPS = "setRecentlyUsedApps" SET_RECOMMENDED_AMOUNT = "setRecommendedAmount" SET_REFRIGERATION_SETPOINT = "setRefrigerationSetpoint" SET_REMAINING_AMOUNT = "setRemainingAmount" SET_REMOTE_CONTROL = "setRemoteControl" SET_REPORT_STATE_PERIOD = "setReportStatePeriod" SET_REPORT_STATE_REALTIME = "setReportStateRealtime" SET_REPORT_STATE_REALTIME_PERIOD = "setReportStateRealtimePeriod" SET_RINSE_MODE = "setRinseMode" SET_RINSE_PLUS = "setRinsePlus" SET_ROBOT_CLEANER_CLEANING_MODE = "setRobotCleanerCleaningMode" SET_ROBOT_CLEANER_CLEANING_STATE = "setRobotCleanerCleaningState" SET_ROBOT_CLEANER_CONTROL_STATE = "setRobotCleanerControlState" SET_ROBOT_CLEANER_MOVEMENT = "setRobotCleanerMovement" SET_ROBOT_CLEANER_TURBO_MODE = "setRobotCleanerTurboMode" SET_ROBOT_CLEANER_TURBO_STATE = "setRobotCleanerTurboState" SET_ROLE = "setRole" SET_SANITIZE = "setSanitize" SET_SANITIZING_WASH = "setSanitizingWash" SET_SATURATION = "setSaturation" SET_SCENE = "setScene" SET_SCENT_INTENSITY = "setScentIntensity" SET_SCHEDULE = "setSchedule" SET_SELECT = "setSelect" SET_SELECTED_ZONE = "setSelectedZone" SET_SELECTION = "setSelection" SET_SENSITIVITY = "setSensitivity" SET_SERVER = "setServer" SET_SERVICE_MESSAGE = "setServiceMessage" SET_SHADE_LEVEL = "setShadeLevel" SET_SHADE_TILT_LEVEL = "setShadeTiltLevel" SET_SIGNAL_METRICS = "setSignalMetrics" SET_SIREN_OR_BELL_ACTIVE = "setSirenOrBellActive" SET_SIREN_SOUNDS = "setSirenSounds" SET_SOFTENER_TYPE = "setSoftenerType" SET_SOUND_FROM = "setSoundFrom" SET_SOUND_MODE = "setSoundMode" SET_SOURCE = "setSource" SET_SPEED_BOOSTER = "setSpeedBooster" SET_SPI_MODE = "setSpiMode" SET_SPIN_SPEED = "setSpinSpeed" SET_STAGE = "setStage" SET_STANDBY_MODE = "setStandbyMode" SET_START_TIME = "setStartTime" SET_START_VALUE = "setStartValue" SET_STARTSTOP = "setStartstop" SET_STATUS = "setStatus" SET_STATUS_LED_BLINKING_FREQ = "setStatusLedBlinkingFreq" SET_STATUS_LED_COLOR = "setStatusLedColor" SET_STATUS_LED_FIVE_COLOR = "setStatusLedFiveColor" SET_STATUS_LED_FOUR_COLOR = "setStatusLedFourColor" SET_STATUS_LED_ONE_COLOR = "setStatusLedOneColor" SET_STATUS_LED_SEVEN_COLOR = "setStatusLedSevenColor" SET_STATUS_LED_SIX_COLOR = "setStatusLedSixColor" SET_STATUS_LED_THREE_COLOR = "setStatusLedThreeColor" SET_STATUS_LED_TWO_COLOR = "setStatusLedTwoColor" SET_STEAM_CLOSET_AUTO_CYCLE_LINK = "setSteamClosetAutoCycleLink" SET_STEAM_CLOSET_CYCLE = "setSteamClosetCycle" SET_STEAM_CLOSET_CYCLE_PRESET = "setSteamClosetCyclePreset" SET_STEAM_CLOSET_DELAY_END_TIME = "setSteamClosetDelayEndTime" SET_STEAM_CLOSET_MACHINE_STATE = "setSteamClosetMachineState" SET_STEAM_CLOSET_WRINKLE_PREVENT = "setSteamClosetWrinklePrevent" SET_STEAM_SOAK = "setSteamSoak" SET_STEREO_TYPE = "setStereoType" SET_STORM_WASH = "setStormWash" SET_SUN_AZIMUTH_ANGLE = "setSunAzimuthAngle" SET_SUN_ELEVATION_ANGLE = "setSunElevationAngle" SET_SUN_RISE = "setSunRise" SET_SUN_RISE_OFFSET = "setSunRiseOffset" SET_SUN_SET = "setSunSet" SET_SUN_SET_OFFSET = "setSunSetOffset" SET_SWITCH_ALL_ON_OFF = "setSwitchAllOnOff" SET_SYSTEM_PREHEATING = "setSystemPreheating" SET_TAMPER_SENSITIVITY = "setTamperSensitivity" SET_TARGET_END_TIME = "setTargetEndTime" SET_TEMP_CONDITION = "setTempCondition" SET_TEMP_TARGET = "setTempTarget" SET_TEMPERATURE_LEVEL = "setTemperatureLevel" SET_TEMPERATURE_SETPOINT = "setTemperatureSetpoint" SET_THERMOSTAT_FAN_MODE = "setThermostatFanMode" SET_THERMOSTAT_FAN_SETTING = "setThermostatFanSetting" SET_THERMOSTAT_LOCKED = "setThermostatLocked" SET_THERMOSTAT_MODE = "setThermostatMode" SET_THING_TYPE = "setThingType" SET_TIME = "setTime" SET_TIME_OFFSET = "setTimeOffset" SET_TIMED_CLEAN_DURATION = "setTimedCleanDuration" SET_TIMEOUT_DURATION = "setTimeoutDuration" SET_TIMER_NEXT_CHANGE = "setTimerNextChange" SET_TIMER_SECONDS = "setTimerSeconds" SET_TIMER_TYPE = "setTimerType" SET_TRACK = "setTrack" SET_TV_CHANNEL = "setTvChannel" SET_TV_CHANNEL_NAME = "setTvChannelName" SET_TYPE = "setType" SET_USER_LOCATION = "setUserLocation" SET_VALUE = "setValue" SET_VIRUS_DOCTOR_MODE = "setVirusDoctorMode" SET_VOLUME = "setVolume" SET_VOLUME_LEVEL = "setVolumeLevel" SET_WASHER_AUTO_DETERGENT = "setWasherAutoDetergent" SET_WASHER_AUTO_SOFTENER = "setWasherAutoSoftener" SET_WASHER_CYCLE = "setWasherCycle" SET_WASHER_CYCLE_PRESET = "setWasherCyclePreset" SET_WASHER_LABEL_SCAN_CYCLE_PRESET = "setWasherLabelScanCyclePreset" SET_WASHER_MODE = "setWasherMode" SET_WASHER_RINSE_CYCLES = "setWasherRinseCycles" SET_WASHER_SOIL_LEVEL = "setWasherSoilLevel" SET_WASHER_SPIN_LEVEL = "setWasherSpinLevel" SET_WASHER_WATER_TEMPERATURE = "setWasherWaterTemperature" SET_WASHING_COURSE = "setWashingCourse" SET_WASHING_TIME = "setWashingTime" SET_WATER_LEVEL = "setWaterLevel" SET_WATER_SPRAY_LEVEL = "setWaterSprayLevel" SET_WATER_VALVE = "setWaterValve" SET_WATTS = "setWatts" SET_WEEK_DAY_SCHEDULE = "setWeekDaySchedule" SET_WELCOME_MESSAGE = "setWelcomeMessage" SET_WIND_MODE = "setWindMode" SET_WIRELESS_OPERATING_MODE = "setWirelessOperatingMode" SET_YEAR_DAY_SCHEDULE = "setYearDaySchedule" SET_ZONE_BOOSTER = "setZoneBooster" SETV_HUMIDITY = "setvHumidity" SETV_TEMP = "setvTemp" SHOW_MESSAGE = "showMessage" SIGN_IN = "signIn" SIGN_OUT = "signOut" SIREN = "siren" SOLICIT_OFFER = "solicitOffer" SPEAK = "speak" START = "start" START_ACTIVITY = "startActivity" START_AUDIO = "startAudio" START_COOKING = "startCooking" START_EMPTYING = "startEmptying" START_ENGINE = "startEngine" START_FEEDING = "startFeeding" START_LATER = "startLater" START_SELF_CHECK = "startSelfCheck" START_STREAM = "startStream" START_TALKBACK = "startTalkback" START_WASHING_COURSE = "startWashingCourse" START_WASHING_COURSE_WITH_OPTIONS = "startWashingCourseWithOptions" STF_INSTALLED = "stfInstalled" STF_UNINSTALLED = "stfUninstalled" STOP = "stop" STOP_AUDIO = "stopAudio" STOP_CAPTURE = "stopCapture" STOP_EMPTYING = "stopEmptying" STOP_ENGINE = "stopEngine" STOP_STREAM = "stopStream" STOP_TALKBACK = "stopTalkback" STROBE = "strobe" TAKE = "take" TAMPER = "tamper" TOGGLE = "toggle" TRIGGER_LOG = "triggerLog" TRIGGER_LOG_WITH_LOG_INFO = "triggerLogWithLogInfo" TRIGGER_LOG_WITH_URL = "triggerLogWithUrl" TRIGGER_MANUAL_SENSING = "triggerManualSensing" TURN_WELCOME_CARE_ON = "turnWelcomeCareOn" UNLATCH = "unlatch" UNLOCK = "unlock" UNLOCK_WITH_TIMEOUT = "unlockWithTimeout" UNMUTE = "unmute" UNMUTE_GROUP = "unmuteGroup" UNSET_RECOMMENDED_AMOUNT = "unsetRecommendedAmount" UPDATE = "update" UPDATE_AGING = "updateAging" UPDATE_CODES = "updateCodes" UPDATE_CREDENTIAL = "updateCredential" UPDATE_FIRMWARE = "updateFirmware" UPDATE_USER = "updateUser" UPDATE_ZONE_NAME = "updateZoneName" UPLOAD_COMPLETE = "uploadComplete" UPLOAD_FAILED = "uploadFailed" VACATION = "vacation" VOLUME_DOWN = "volumeDown" VOLUME_UP = "volumeUp" ZERO_CALIBRATE = "zeroCalibrate" CAPABILITY_COMMANDS: dict[Capability, list[Command]] = { Capability.ACCELERATION_SENSOR: [], Capability.ACTIVITY_LIGHTING_MODE: [Command.SET_LIGHTING_MODE], Capability.ACTIVITY_SENSOR: [], Capability.ACTUATOR: [], Capability.AIR_CONDITIONER_FAN_MODE: [Command.SET_FAN_MODE], Capability.AIR_CONDITIONER_MODE: [Command.SET_AIR_CONDITIONER_MODE], Capability.AIR_PURIFIER_FAN_MODE: [Command.SET_AIR_PURIFIER_FAN_MODE], Capability.AIR_QUALITY_HEALTH_CONCERN: [], Capability.AIR_QUALITY_SENSOR: [], Capability.ALARM: [Command.BOTH, Command.OFF, Command.SIREN, Command.STROBE], Capability.ALARM_SENSOR: [Command.SET_ALARM_SENSOR_STATE], Capability.APPLIANCE_UTILIZATION: [], Capability.ATMOSPHERIC_PRESSURE_MEASUREMENT: [], Capability.AUDIO_CAPTURE: [Command.CAPTURE], Capability.AUDIO_MUTE: [Command.MUTE, Command.SET_MUTE, Command.UNMUTE], Capability.AUDIO_NOTIFICATION: [ Command.PLAY_TRACK, Command.PLAY_TRACK_AND_RESTORE, Command.PLAY_TRACK_AND_RESUME, ], Capability.AUDIO_STREAM: [Command.START_AUDIO, Command.STOP_AUDIO], Capability.AUDIO_TRACK_ADDRESSING: [Command.SET_AUDIO_TRACK], Capability.AUDIO_TRACK_DATA: [], Capability.AUDIO_VOLUME: [ Command.SET_VOLUME, Command.VOLUME_DOWN, Command.VOLUME_UP, ], Capability.BATCH_GAS_CONSUMPTION_REPORT: [], Capability.BATTERY: [], Capability.BATTERY_LEVEL: [], Capability.BEACON: [], Capability.BODY_MASS_INDEX_MEASUREMENT: [], Capability.BODY_WEIGHT_MEASUREMENT: [], Capability.BRIDGE: [], Capability.BUFFERED_VIDEO_CAPTURE: [Command.CAPTURE], Capability.BUTTON: [], Capability.BYPASSABLE: [], Capability.CAMERA_EVENT: [], Capability.CAMERA_PRESET: [ Command.CREATE, Command.DELETE, Command.EXECUTE, Command.UPDATE, ], Capability.CARBON_DIOXIDE_HEALTH_CONCERN: [], Capability.CARBON_DIOXIDE_MEASUREMENT: [], Capability.CARBON_MONOXIDE_DETECTOR: [], Capability.CARBON_MONOXIDE_HEALTH_CONCERN: [], Capability.CARBON_MONOXIDE_MEASUREMENT: [], Capability.CHARGE_POINT_STATE: [], Capability.CHARGING_STATE: [], Capability.CHIME: [Command.CHIME, Command.OFF], Capability.COLOR: [Command.SET_COLOR_VALUE], Capability.COLOR_CONTROL: [ Command.SET_COLOR, Command.SET_HUE, Command.SET_SATURATION, ], Capability.COLOR_MODE: [], Capability.COLOR_TEMPERATURE: [Command.SET_COLOR_TEMPERATURE], Capability.CONFIGURATION: [Command.CONFIGURE], Capability.CONSUMABLE: [], Capability.CONSUMABLE_LIFE: [Command.RESET], Capability.CONTACT_SENSOR: [], Capability.CONTAINER_STATE: [], Capability.COOK_TIME: [Command.SET_COOK_TIME], Capability.CURRENT_MEASUREMENT: [], Capability.DELIVERY_ROBOT_CALL: [Command.CALL, Command.CANCEL], Capability.DEMAND_RESPONSE_LOAD_CONTROL: [ Command.OVERRIDE_DEMAND_RESPONSE_LOAD_CONTROL_ACTION, Command.REQUEST_DEMAND_RESPONSE_LOAD_CONTROL_ACTION, ], Capability.DEW_POINT: [], Capability.DISHWASHER_MODE: [Command.SET_DISHWASHER_MODE], Capability.DISHWASHER_OPERATING_STATE: [Command.SET_MACHINE_STATE], Capability.DISHWASHER_OPERATIONAL_STATE: [Command.SET_MACHINE_STATE], Capability.DOOR_CONTROL: [Command.CLOSE, Command.OPEN], Capability.DRIVING_STATUS: [], Capability.DRYER_MODE: [Command.SET_DRYER_MODE], Capability.DRYER_OPERATING_STATE: [Command.SET_MACHINE_STATE], Capability.DUST_HEALTH_CONCERN: [], Capability.DUST_SENSOR: [], Capability.ELEVATOR_CALL: [Command.CALL], Capability.END_TO_END_ENCRYPTION: [Command.ENCRYPT_KEK, Command.GENERATE_NONCE], Capability.ENERGY_METER: [Command.RESET_ENERGY_METER], Capability.EQUIVALENT_CARBON_DIOXIDE_MEASUREMENT: [], Capability.ESTIMATED_TIME_OF_ARRIVAL: [], Capability.EVSE_CHARGING_SESSION: [ Command.DISABLE_CHARGING, Command.ENABLE_CHARGING, Command.SET_MAX_CURRENT, Command.SET_MIN_CURRENT, Command.SET_TARGET_END_TIME, ], Capability.EVSE_STATE: [], Capability.EXECUTE: [Command.EXECUTE], Capability.FACE_RECOGNITION: [], Capability.FAN_MODE: [Command.SET_FAN_MODE], Capability.FAN_OSCILLATION_MODE: [Command.SET_FAN_OSCILLATION_MODE], Capability.FAN_SPEED: [Command.SET_FAN_SPEED], Capability.FAN_SPEED_PERCENT: [Command.SET_PERCENT], Capability.FEEDER_OPERATING_STATE: [Command.START_FEEDING], Capability.FEEDER_PORTION: [Command.SET_PORTION], Capability.FILTER_STATE: [Command.RESET_FILTER], Capability.FILTER_STATUS: [], Capability.FINE_DUST_HEALTH_CONCERN: [], Capability.FINE_DUST_SENSOR: [], Capability.FIRMWARE_UPDATE: [ Command.CHECK_FOR_FIRMWARE_UPDATE, Command.UPDATE_FIRMWARE, ], Capability.FLOW_MEASUREMENT: [], Capability.FORMALDEHYDE_HEALTH_CONCERN: [], Capability.FORMALDEHYDE_MEASUREMENT: [], Capability.GARAGE_DOOR_CONTROL: [Command.CLOSE, Command.OPEN], Capability.GAS_CONSUMPTION_REPORT: [], Capability.GAS_DETECTOR: [], Capability.GAS_METER: [], Capability.GEOFENCE: [ Command.SET_ENABLE_STATE, Command.SET_GEOFENCE, Command.SET_NAME, ], Capability.GEOFENCES: [], Capability.GEOLOCATION: [], Capability.GRID_STATE: [], Capability.HARDWARE_FAULT: [], Capability.HEALTH_CHECK: [Command.PING], Capability.HOLDABLE_BUTTON: [], Capability.HUMIDIFIER_MODE: [Command.SET_HUMIDIFIER_MODE], Capability.ILLUMINANCE_MEASUREMENT: [], Capability.IMAGE_CAPTURE: [ Command.TAKE, Command.UPLOAD_COMPLETE, Command.UPLOAD_FAILED, ], Capability.INDICATOR: [ Command.INDICATOR_NEVER, Command.INDICATOR_WHEN_OFF, Command.INDICATOR_WHEN_ON, ], Capability.INFRARED_LEVEL: [Command.SET_INFRARED_LEVEL], Capability.KEYPAD_INPUT: [Command.SEND_KEY], Capability.LANGUAGE_SETTING: [Command.SET_LANGUAGE], Capability.LAUNDRY_WASHER_RINSE_MODE: [Command.SET_RINSE_MODE], Capability.LAUNDRY_WASHER_SPIN_SPEED: [Command.SET_SPIN_SPEED], Capability.LEVEL: [Command.SET_LEVEL], Capability.LIGHT: [Command.OFF, Command.ON], Capability.LIGHT_CONTROLLER_MODE: [Command.SET_LIGHT_CONTROLLER_MODE], Capability.LOCATION_MODE: [Command.SET_MODE], Capability.LOCK: [Command.LOCK, Command.UNLATCH, Command.UNLOCK], Capability.LOCK_ALARM: [], Capability.LOCK_CODES: [ Command.DELETE_CODE, Command.LOCK, Command.MIGRATE, Command.NAME_SLOT, Command.RELOAD_ALL_CODES, Command.REQUEST_CODE, Command.SET_CODE, Command.SET_CODE_LENGTH, Command.UNLOCK, Command.UNLOCK_WITH_TIMEOUT, Command.UPDATE_CODES, ], Capability.LOCK_CREDENTIALS: [ Command.ADD_CREDENTIAL, Command.DELETE_ALL_CREDENTIALS, Command.DELETE_CREDENTIAL, Command.UPDATE_CREDENTIAL, ], Capability.LOCK_ONLY: [Command.LOCK], Capability.LOCK_SCHEDULES: [ Command.CLEAR_WEEK_DAY_SCHEDULES, Command.CLEAR_YEAR_DAY_SCHEDULES, Command.SET_WEEK_DAY_SCHEDULE, Command.SET_YEAR_DAY_SCHEDULE, ], Capability.LOCK_USERS: [ Command.ADD_USER, Command.DELETE_ALL_USERS, Command.DELETE_USER, Command.UPDATE_USER, ], Capability.LOG_TRIGGER: [ Command.TRIGGER_LOG, Command.TRIGGER_LOG_WITH_LOG_INFO, Command.TRIGGER_LOG_WITH_URL, ], Capability.MASSAGE_INTENSITY_CHANGE: [Command.NEXT_INTENSITY], Capability.MASSAGE_INTENSITY_CONTROL: [ Command.SET_INTENSITY_FOOT, Command.SET_INTENSITY_HEAD, Command.SET_INTENSITY_WHOLE, ], Capability.MASSAGE_OPERATING: [Command.START, Command.STOP], Capability.MASSAGE_OPERATING_STATE: [], Capability.MASSAGE_TIME_CHANGE: [Command.NEXT_TIME], Capability.MASSAGE_TIME_CONTROL: [Command.SET_TIME], Capability.MEDIA_CONTROLLER: [Command.START_ACTIVITY], Capability.MEDIA_GROUP: [ Command.GROUP_VOLUME_DOWN, Command.GROUP_VOLUME_UP, Command.MUTE_GROUP, Command.SET_GROUP_MUTE, Command.SET_GROUP_VOLUME, Command.UNMUTE_GROUP, ], Capability.MEDIA_INPUT_SOURCE: [Command.SET_INPUT_SOURCE], Capability.MEDIA_PLAYBACK: [ Command.FAST_FORWARD, Command.PAUSE, Command.PLAY, Command.REWIND, Command.SET_PLAYBACK_STATUS, Command.STOP, ], Capability.MEDIA_PLAYBACK_REPEAT: [Command.SET_PLAYBACK_REPEAT_MODE], Capability.MEDIA_PLAYBACK_SHUFFLE: [Command.SET_PLAYBACK_SHUFFLE], Capability.MEDIA_PRESETS: [Command.PLAY_PRESET], Capability.MEDIA_TRACK_CONTROL: [Command.NEXT_TRACK, Command.PREVIOUS_TRACK], Capability.MODE: [Command.SET_MODE], Capability.MOLD_HEALTH_CONCERN: [], Capability.MOMENTARY: [Command.PUSH], Capability.MOTION_BED: [Command.SET_MODE, Command.START, Command.STOP], Capability.MOTION_SENSOR: [], Capability.MOVEMENT_SENSOR: [], Capability.MULTIPLE_ZONE_PRESENCE: [ Command.CREATE_ZONE, Command.DELETE_ZONE, Command.UPDATE_ZONE_NAME, ], Capability.MUSIC_PLAYER: [ Command.MUTE, Command.NEXT_TRACK, Command.PAUSE, Command.PLAY, Command.PLAY_TRACK, Command.PREVIOUS_TRACK, Command.RESTORE_TRACK, Command.RESUME_TRACK, Command.SET_LEVEL, Command.SET_TRACK, Command.STOP, Command.UNMUTE, ], Capability.NETWORK_METER: [], Capability.NITROGEN_DIOXIDE_HEALTH_CONCERN: [], Capability.NITROGEN_DIOXIDE_MEASUREMENT: [], Capability.NOTIFICATION: [Command.DEVICE_NOTIFICATION], Capability.OBJECT_DETECTION: [], Capability.OCCUPANCY_SENSOR: [], Capability.OCF: [Command.POST_OCF_COMMAND], Capability.ODOR_SENSOR: [], Capability.OPERATING_STATE: [Command.SET_MACHINE_STATE], Capability.OPERATIONAL_STATE: [ Command.PAUSE, Command.RESUME, Command.START, Command.STOP, ], Capability.OUTLET: [Command.OFF, Command.ON], Capability.OVEN_MODE: [Command.SET_OVEN_MODE], Capability.OVEN_OPERATING_STATE: [ Command.SET_MACHINE_STATE, Command.START, Command.STOP, ], Capability.OVEN_OPERATIONAL_STATE: [Command.SET_MACHINE_STATE, Command.STOP], Capability.OVEN_SETPOINT: [Command.SET_OVEN_SETPOINT], Capability.OZONE_HEALTH_CONCERN: [], Capability.OZONE_MEASUREMENT: [], Capability.PH_MEASUREMENT: [], Capability.PANIC_ALARM: [], Capability.PEST_CONTROL: [], Capability.PET_ACTIVITY: [], Capability.POLLING: [Command.POLL], Capability.POWER_CONSUMPTION_REPORT: [], Capability.POWER_METER: [], Capability.POWER_SOURCE: [], Capability.PRECIPITATION_MEASUREMENT: [Command.RESET_PRECIPITATION_LEVEL], Capability.PRECIPITATION_RATE: [], Capability.PRECIPITATION_SENSOR: [], Capability.PRESENCE_SENSOR: [], Capability.PUMP_CONTROL_MODE: [Command.SET_CONTROL_MODE], Capability.PUMP_OPERATION_MODE: [Command.SET_OPERATION_MODE], Capability.RADON_HEALTH_CONCERN: [], Capability.RADON_MEASUREMENT: [], Capability.RAIN_SENSOR: [], Capability.RAPID_COOLING: [Command.SET_RAPID_COOLING], Capability.REFRESH: [Command.REFRESH], Capability.REFRIGERATION: [ Command.SET_DEFROST, Command.SET_RAPID_COOLING, Command.SET_RAPID_FREEZING, ], Capability.REFRIGERATION_SETPOINT: [Command.SET_REFRIGERATION_SETPOINT], Capability.RELATIVE_BRIGHTNESS: [], Capability.RELATIVE_HUMIDITY_MEASUREMENT: [], Capability.RELAY_SWITCH: [Command.OFF, Command.ON], Capability.REMOTE_CONTROL_STATUS: [], Capability.RICE_COOKER: [ Command.SCHEDULE_COOKING, Command.SET_MODE, Command.START_COOKING, Command.STOP, ], Capability.ROBOT_CLEANER_CLEANING_MODE: [Command.SET_ROBOT_CLEANER_CLEANING_MODE], Capability.ROBOT_CLEANER_MOVEMENT: [Command.SET_ROBOT_CLEANER_MOVEMENT], Capability.ROBOT_CLEANER_OPERATING_STATE: [ Command.GO_HOME, Command.PAUSE, Command.START, ], Capability.ROBOT_CLEANER_STATE: [ Command.SET_ROBOT_CLEANER_CLEANING_STATE, Command.SET_ROBOT_CLEANER_CONTROL_STATE, Command.SET_ROBOT_CLEANER_TURBO_STATE, Command.STOP, ], Capability.ROBOT_CLEANER_TURBO_MODE: [Command.SET_ROBOT_CLEANER_TURBO_MODE], Capability.SAMSUNG_T_V: [ Command.MUTE, Command.OFF, Command.ON, Command.SET_PICTURE_MODE, Command.SET_SOUND_MODE, Command.SET_VOLUME, Command.SHOW_MESSAGE, Command.UNMUTE, Command.VOLUME_DOWN, Command.VOLUME_UP, ], Capability.SCENE_ACTIVITY: [], Capability.SCENES: [Command.SET_SCENE], Capability.SCENT: [Command.SET_SCENT_INTENSITY], Capability.SECURITY_SYSTEM: [Command.ARM_AWAY, Command.ARM_STAY, Command.DISARM], Capability.SENSOR: [], Capability.SERVICE_AREA: [Command.SELECT_AREAS], Capability.SHOCK_SENSOR: [], Capability.SIGNAL_STRENGTH: [], Capability.SLEEP_SENSOR: [], Capability.SMOKE_DETECTOR: [], Capability.SOUND_DETECTION: [ Command.DISABLE_SOUND_DETECTION, Command.ENABLE_SOUND_DETECTION, ], Capability.SOUND_PRESSURE_LEVEL: [], Capability.SOUND_SENSOR: [], Capability.SPEECH_RECOGNITION: [], Capability.SPEECH_SYNTHESIS: [Command.SPEAK], Capability.STATELESS_CUSTOM_BUTTON: [Command.SET_BUTTON], Capability.STATELESS_FANSPEED_BUTTON: [Command.SET_BUTTON], Capability.STATELESS_POWER_BUTTON: [Command.SET_BUTTON], Capability.STATELESS_POWER_TOGGLE_BUTTON: [Command.SET_BUTTON], Capability.STEP_SENSOR: [], Capability.SWITCH: [Command.OFF, Command.ON], Capability.SWITCH_LEVEL: [Command.SET_LEVEL], Capability.SWITCH_STATE: [], Capability.T_V: [ Command.CHANNEL_DOWN, Command.CHANNEL_UP, Command.VOLUME_DOWN, Command.VOLUME_UP, ], Capability.TAMPER_ALERT: [], Capability.TEMPERATURE_ALARM: [], Capability.TEMPERATURE_LEVEL: [Command.SET_TEMPERATURE_LEVEL], Capability.TEMPERATURE_MEASUREMENT: [], Capability.TEMPERATURE_SETPOINT: [Command.SET_TEMPERATURE_SETPOINT], Capability.THERMOSTAT: [ Command.AUTO, Command.COOL, Command.EMERGENCY_HEAT, Command.FAN_AUTO, Command.FAN_CIRCULATE, Command.FAN_ON, Command.HEAT, Command.OFF, Command.SET_COOLING_SETPOINT, Command.SET_HEATING_SETPOINT, Command.SET_SCHEDULE, Command.SET_THERMOSTAT_FAN_MODE, Command.SET_THERMOSTAT_MODE, ], Capability.THERMOSTAT_COOLING_SETPOINT: [Command.SET_COOLING_SETPOINT], Capability.THERMOSTAT_FAN_MODE: [ Command.FAN_AUTO, Command.FAN_CIRCULATE, Command.FAN_ON, Command.SET_THERMOSTAT_FAN_MODE, ], Capability.THERMOSTAT_HEATING_SETPOINT: [Command.SET_HEATING_SETPOINT], Capability.THERMOSTAT_MODE: [ Command.AUTO, Command.COOL, Command.EMERGENCY_HEAT, Command.HEAT, Command.OFF, Command.SET_THERMOSTAT_MODE, ], Capability.THERMOSTAT_OPERATING_STATE: [], Capability.THERMOSTAT_SCHEDULE: [Command.SET_SCHEDULE], Capability.THERMOSTAT_SETPOINT: [], Capability.THERMOSTAT_WATER_HEATING_SETPOINT: [Command.SET_HEATING_SETPOINT], Capability.THREE_AXIS: [], Capability.TIMED_SESSION: [ Command.CANCEL, Command.PAUSE, Command.SET_COMPLETION_TIME, Command.START, Command.STOP, ], Capability.TONE: [Command.BEEP], Capability.TOUCH_SENSOR: [], Capability.TV_CHANNEL: [ Command.CHANNEL_DOWN, Command.CHANNEL_UP, Command.SET_TV_CHANNEL, Command.SET_TV_CHANNEL_NAME, ], Capability.TVOC_HEALTH_CONCERN: [], Capability.TVOC_MEASUREMENT: [], Capability.ULTRAVIOLET_INDEX: [], Capability.VALVE: [Command.CLOSE, Command.OPEN], Capability.VEHICLE_BATTERY: [Command.CHARGE, Command.STOP], Capability.VEHICLE_DOOR_STATE: [Command.LOCK, Command.UNLOCK], Capability.VEHICLE_ENGINE: [Command.START_ENGINE, Command.STOP_ENGINE], Capability.VEHICLE_FUEL_LEVEL: [], Capability.VEHICLE_HVAC: [], Capability.VEHICLE_HVAC_REMOTE_SWITCH: [Command.OFF, Command.ON], Capability.VEHICLE_INFORMATION: [], Capability.VEHICLE_ODOMETER: [], Capability.VEHICLE_RANGE: [], Capability.VEHICLE_TIRE_PRESSURE_MONITOR: [], Capability.VEHICLE_WARNING: [], Capability.VEHICLE_WINDOW_STATE: [], Capability.VERY_FINE_DUST_HEALTH_CONCERN: [], Capability.VERY_FINE_DUST_SENSOR: [], Capability.VIDEO_CAMERA: [ Command.FLIP, Command.MUTE, Command.OFF, Command.ON, Command.UNMUTE, ], Capability.VIDEO_CAPTURE: [Command.CAPTURE], Capability.VIDEO_CAPTURE2: [ Command.CAPTURE, Command.STOP_CAPTURE, Command.UPLOAD_COMPLETE, Command.UPLOAD_FAILED, ], Capability.VIDEO_CLIPS: [Command.CAPTURE_CLIP], Capability.VIDEO_STREAM: [Command.START_STREAM, Command.STOP_STREAM], Capability.VOLTAGE_MEASUREMENT: [], Capability.WASHER_MODE: [Command.SET_WASHER_MODE], Capability.WASHER_OPERATING_STATE: [Command.SET_MACHINE_STATE], Capability.WASHER_OPERATIONAL_STATE: [Command.SET_MACHINE_STATE], Capability.WATER_FLOW_ALARM: [], Capability.WATER_METER: [], Capability.WATER_PRESSURE_MEASUREMENT: [], Capability.WATER_SENSOR: [], Capability.WATER_TEMPERATURE_MEASUREMENT: [], Capability.WATER_USAGE_METER: [], Capability.WEBRTC: [ Command.CLIENT_ICE, Command.END, Command.REQUEST_TURN_INFO, Command.SDP_ANSWER, Command.SDP_OFFER, Command.SOLICIT_OFFER, Command.START_TALKBACK, Command.STOP_TALKBACK, ], Capability.WIFI_MESH_ROUTER: [ Command.DISABLE_WIFI_GUEST_NETWORK, Command.DISABLE_WIFI_NETWORK, Command.ENABLE_WIFI_GUEST_NETWORK, Command.ENABLE_WIFI_NETWORK, ], Capability.WIND_MODE: [Command.SET_WIND_MODE], Capability.WIND_SPEED: [], Capability.WINDOW_SHADE: [Command.CLOSE, Command.OPEN, Command.PAUSE], Capability.WINDOW_SHADE_LEVEL: [Command.SET_SHADE_LEVEL], Capability.WINDOW_SHADE_PRESET: [ Command.PRESET_POSITION, Command.SET_PRESET_POSITION, ], Capability.WINDOW_SHADE_TILT_LEVEL: [Command.SET_SHADE_TILT_LEVEL], Capability.WIRELESS_OPERATING_MODE: [Command.SET_WIRELESS_OPERATING_MODE], Capability.ZWAVE_MULTICHANNEL: [Command.ENABLE_EP_EVENTS, Command.EP_CMD], Capability.CUSTOM_ACCESSIBILITY: [Command.SET_ACCESSIBILITY], Capability.CUSTOM_AIR_CONDITIONER_ODOR_CONTROLLER: [ Command.SET_AIR_CONDITIONER_ODOR_CONTROLLER_STATE ], Capability.CUSTOM_AIR_CONDITIONER_OPTIONAL_MODE: [Command.SET_AC_OPTIONAL_MODE], Capability.CUSTOM_AIR_CONDITIONER_TROPICAL_NIGHT_MODE: [ Command.SET_AC_TROPICAL_NIGHT_MODE_LEVEL ], Capability.CUSTOM_AIR_PURIFIER_OPERATION_MODE: [Command.SET_AP_OPERATION_MODE], Capability.CUSTOM_AIR_QUALITY_MAX_LEVEL: [], Capability.CUSTOM_AUTO_CLEANING_MODE: [ Command.SET_AUTO_CLEANING_MODE, Command.SET_OPERATING_STATE, Command.SET_TIMED_CLEAN_DURATION, Command.START, Command.STOP, ], Capability.CUSTOM_COOKTOP_OPERATING_STATE: [], Capability.CUSTOM_DEODOR_FILTER: [Command.RESET_DEODOR_FILTER], Capability.CUSTOM_DEVICE_DEPENDENCY_STATUS: [], Capability.CUSTOM_DEVICE_REPORT_STATE_CONFIGURATION: [ Command.SET_REPORT_STATE_PERIOD, Command.SET_REPORT_STATE_REALTIME, Command.SET_REPORT_STATE_REALTIME_PERIOD, ], Capability.CUSTOM_DISABLED_CAPABILITIES: [], Capability.CUSTOM_DISABLED_COMPONENTS: [], Capability.CUSTOM_DISHWASHER_DELAY_START_TIME: [ Command.SET_DISHWASHER_DELAY_START_TIME ], Capability.CUSTOM_DISHWASHER_OPERATING_PERCENTAGE: [], Capability.CUSTOM_DISHWASHER_OPERATING_PROGRESS: [], Capability.CUSTOM_DO_NOT_DISTURB_MODE: [ Command.DO_NOT_DISTURB_OFF, Command.DO_NOT_DISTURB_ON, Command.SET_DO_NOT_DISTURB_MODE, ], Capability.CUSTOM_DRYER_DRY_LEVEL: [Command.SET_DRYER_DRY_LEVEL], Capability.CUSTOM_DRYER_WRINKLE_PREVENT: [Command.SET_DRYER_WRINKLE_PREVENT], Capability.CUSTOM_DUST_FILTER: [Command.RESET_DUST_FILTER], Capability.CUSTOM_ELECTRIC_HEPA_FILTER: [Command.RESET_ELECTRIC_HEPA_FILTER], Capability.CUSTOM_ENERGY_TYPE: [Command.SET_ENERGY_SAVING_LEVEL], Capability.CUSTOM_ERROR: [Command.SET_ERROR], Capability.CUSTOM_FILTER_USAGE_TIME: [Command.RESET_FILTER_USAGE_TIME], Capability.CUSTOM_FRIDGE_MODE: [Command.SET_FRIDGE_MODE], Capability.CUSTOM_HEPA_FILTER: [Command.RESET_HEPA_FILTER], Capability.CUSTOM_JOB_BEGINNING_STATUS: [], Capability.CUSTOM_LAUNCH_APP: [Command.LAUNCH_APP], Capability.CUSTOM_LOWER_DEVICE_POWER: [Command.SET_POWER_STATE], Capability.CUSTOM_OCF_RESOURCE_VERSION: [], Capability.CUSTOM_OUTING_MODE: [Command.SET_OUTING_MODE], Capability.CUSTOM_OVEN_CAVITY_STATUS: [], Capability.CUSTOM_PERIODIC_SENSING: [ Command.PERIODIC_SENSING_OFF, Command.PERIODIC_SENSING_ON, Command.SET_AUTOMATIC_EXECUTION_MODE, Command.SET_AUTOMATIC_EXECUTION_SETTING, Command.SET_PERIODIC_SENSING, Command.SET_PERIODIC_SENSING_INTERVAL, Command.TRIGGER_MANUAL_SENSING, ], Capability.CUSTOM_PICTURE_MODE: [Command.SET_PICTURE_MODE], Capability.CUSTOM_RECORDING: [Command.RECORD_START, Command.RECORD_STOP], Capability.CUSTOM_SOUND_MODE: [Command.SET_SOUND_MODE], Capability.CUSTOM_SPI_MODE: [Command.SET_SPI_MODE], Capability.CUSTOM_STEAM_CLOSET_OPERATING_STATE: [ Command.SET_STEAM_CLOSET_DELAY_END_TIME, Command.SET_STEAM_CLOSET_MACHINE_STATE, ], Capability.CUSTOM_STEAM_CLOSET_WRINKLE_PREVENT: [ Command.SET_STEAM_CLOSET_WRINKLE_PREVENT ], Capability.CUSTOM_SUPPORTED_OPTIONS: [Command.SET_COURSE], Capability.CUSTOM_THERMOSTAT_SETPOINT_CONTROL: [ Command.LOWER_SETPOINT, Command.RAISE_SETPOINT, ], Capability.CUSTOM_TV_SEARCH: [Command.SEARCH], Capability.CUSTOM_USER_NOTIFICATION: [], Capability.CUSTOM_VERY_FINE_DUST_FILTER: [Command.RESET_VERY_FINE_DUST_FILTER], Capability.CUSTOM_VIRUS_DOCTOR_MODE: [Command.SET_VIRUS_DOCTOR_MODE], Capability.CUSTOM_WASHER_AUTO_DETERGENT: [Command.SET_WASHER_AUTO_DETERGENT], Capability.CUSTOM_WASHER_AUTO_SOFTENER: [Command.SET_WASHER_AUTO_SOFTENER], Capability.CUSTOM_WASHER_RINSE_CYCLES: [Command.SET_WASHER_RINSE_CYCLES], Capability.CUSTOM_WASHER_SOIL_LEVEL: [Command.SET_WASHER_SOIL_LEVEL], Capability.CUSTOM_WASHER_SPIN_LEVEL: [Command.SET_WASHER_SPIN_LEVEL], Capability.CUSTOM_WASHER_WATER_TEMPERATURE: [Command.SET_WASHER_WATER_TEMPERATURE], Capability.CUSTOM_WATER_FILTER: [Command.RESET_WATER_FILTER], Capability.CUSTOM_WELCOME_CARE_MODE: [Command.TURN_WELCOME_CARE_ON], Capability.SAMSUNG_CE_ABSENCE_DETECTION: [], Capability.SAMSUNG_CE_ACTIVATION_STATE: [], Capability.SAMSUNG_CE_AIR_CONDITIONER_AUDIO_FEEDBACK: [Command.SET_VOLUME_LEVEL], Capability.SAMSUNG_CE_AIR_CONDITIONER_BEEP: [Command.OFF, Command.ON], Capability.SAMSUNG_CE_AIR_CONDITIONER_DISPLAY: [Command.OFF, Command.ON], Capability.SAMSUNG_CE_AIR_CONDITIONER_LIGHTING: [ Command.OFF, Command.ON, Command.SET_LIGHTING_LEVEL, ], Capability.SAMSUNG_CE_AIR_QUALITY_HEALTH_CONCERN: [], Capability.SAMSUNG_CE_ALWAYS_ON_SENSING: [Command.OFF, Command.ON], Capability.SAMSUNG_CE_AUDIO_VOLUME_LEVEL: [ Command.SET_VOLUME_LEVEL, Command.VOLUME_DOWN, Command.VOLUME_UP, ], Capability.SAMSUNG_CE_AUTO_DISPENSE_DETERGENT: [ Command.SET_AMOUNT, Command.SET_DENSITY, Command.SET_RECOMMENDED_AMOUNT, Command.SET_TYPE, Command.UNSET_RECOMMENDED_AMOUNT, ], Capability.SAMSUNG_CE_AUTO_DISPENSE_SOFTENER: [ Command.SET_AMOUNT, Command.SET_DENSITY, ], Capability.SAMSUNG_CE_AUTO_DOOR_RELEASE: [Command.DISABLE, Command.ENABLE], Capability.SAMSUNG_CE_AUTO_OPEN_DOOR: [ Command.OFF, Command.ON, Command.SET_PRESSURE_LEVEL, ], Capability.SAMSUNG_CE_AUTO_VENTILATION: [Command.ACTION], Capability.SAMSUNG_CE_BURNER_INFO: [], Capability.SAMSUNG_CE_BUTTON_DISPLAY_CONDITION: [], Capability.SAMSUNG_CE_CAMERA_STREAMING: [ Command.CANCEL_ONBOARDING, Command.REGISTER, ], Capability.SAMSUNG_CE_CLEAN_STATION_STICK_STATUS: [], Capability.SAMSUNG_CE_CLEAN_STATION_UV_CLEANING: [], Capability.SAMSUNG_CE_CLOTHING_EXTRA_CARE: [ Command.SET_OPERATION_MODE, Command.SET_USER_LOCATION, ], Capability.SAMSUNG_CE_COFFEE_BREWING_RECIPE: [Command.SET_COFFEE_BREWING_RECIPE], Capability.SAMSUNG_CE_COLOR_TEMPERATURE: [Command.SET_COLOR_TEMPERATURE], Capability.SAMSUNG_CE_CONNECTION_STATE: [], Capability.SAMSUNG_CE_CONSUMED_ENERGY: [Command.SET_TIME_OFFSET], Capability.SAMSUNG_CE_COOK_RECIPE: [Command.SET_COOK_RECIPE], Capability.SAMSUNG_CE_COOKTOP_BURNER_MODE: [], Capability.SAMSUNG_CE_COOKTOP_COOK_RECIPE: [Command.SET_COOKTOP_COOK_RECIPE], Capability.SAMSUNG_CE_COOKTOP_FLEX_ZONE: [], Capability.SAMSUNG_CE_COOKTOP_HEATING_POWER: [], Capability.SAMSUNG_CE_COOKTOP_PAN_DETECTION: [], Capability.SAMSUNG_CE_COUNT_DOWN_TIMER: [ Command.CANCEL, Command.PAUSE, Command.RESUME, Command.SET_START_VALUE, Command.START, ], Capability.SAMSUNG_CE_CUSTOM_RECIPE: [Command.COOK_CUSTOM_RECIPE], Capability.SAMSUNG_CE_DDMS_MODE: [], Capability.SAMSUNG_CE_DEFINED_RECIPE: [ Command.COOK_DEFINED_RECIPE, Command.SET_DEFINED_RECIPE, ], Capability.SAMSUNG_CE_DEHUMIDIFIER_BEEP: [Command.OFF, Command.ON], Capability.SAMSUNG_CE_DEHUMIDIFIER_MODE: [Command.SET_DEHUMIDIFIER_MODE], Capability.SAMSUNG_CE_DETERGENT_AUTO_REPLENISHMENT: [ Command.DISABLE_ALARM, Command.ENABLE_ALARM, Command.SET_AUTO_REPLENISHMENT, Command.SET_DOSAGE, Command.SET_INITIAL_AMOUNT, Command.SET_ORDER_THRESHOLD, Command.SET_REMAINING_AMOUNT, Command.SET_TYPE, ], Capability.SAMSUNG_CE_DETERGENT_ORDER: [ Command.DISABLE_ALARM, Command.ENABLE_ALARM, Command.SET_ORDER_THRESHOLD, ], Capability.SAMSUNG_CE_DETERGENT_STATE: [ Command.SET_DETERGENT_TYPE, Command.SET_DOSAGE, Command.SET_INITIAL_AMOUNT, Command.SET_REMAINING_AMOUNT, ], Capability.SAMSUNG_CE_DEVICE_IDENTIFICATION: [], Capability.SAMSUNG_CE_DISHWASHER_JOB_STATE: [], Capability.SAMSUNG_CE_DISHWASHER_OPERATION: [ Command.CANCEL, Command.PAUSE, Command.RESUME, Command.SET_OPERATING_STATE, Command.START, Command.START_LATER, ], Capability.SAMSUNG_CE_DISHWASHER_WASHING_COURSE: [ Command.SET_CUSTOM_COURSE, Command.SET_WASHING_COURSE, Command.START_WASHING_COURSE, Command.START_WASHING_COURSE_WITH_OPTIONS, ], Capability.SAMSUNG_CE_DISHWASHER_WASHING_COURSE_DETAILS: [], Capability.SAMSUNG_CE_DISHWASHER_WASHING_OPTIONS: [ Command.SET_ADD_RINSE, Command.SET_DRY_PLUS, Command.SET_HEATED_DRY, Command.SET_HIGH_TEMP_WASH, Command.SET_HOT_AIR_DRY, Command.SET_MULTI_TAB, Command.SET_OPTIONS, Command.SET_RINSE_PLUS, Command.SET_SANITIZE, Command.SET_SANITIZING_WASH, Command.SET_SELECTED_ZONE, Command.SET_SPEED_BOOSTER, Command.SET_STEAM_SOAK, Command.SET_STORM_WASH, Command.SET_ZONE_BOOSTER, ], Capability.SAMSUNG_CE_DO_NOT_DISTURB: [ Command.ACTIVATE, Command.DEACTIVATE, Command.SET_DURATION, ], Capability.SAMSUNG_CE_DONGLE_SOFTWARE_INSTALLATION: [], Capability.SAMSUNG_CE_DOOR_STATE: [], Capability.SAMSUNG_CE_DRAIN_FILTER: [Command.RESET_DRAIN_FILTER], Capability.SAMSUNG_CE_DRIVER_STATE: [], Capability.SAMSUNG_CE_DRIVER_VERSION: [], Capability.SAMSUNG_CE_DRUM_SELF_CLEANING: [], Capability.SAMSUNG_CE_DRYER_AUTO_CYCLE_LINK: [ Command.LINK_DRYER_CYCLE, Command.SET_DRYER_AUTO_CYCLE_LINK, ], Capability.SAMSUNG_CE_DRYER_CYCLE: [Command.SET_DRYER_CYCLE], Capability.SAMSUNG_CE_DRYER_CYCLE_PRESET: [ Command.DELETE, Command.SET_DRYER_CYCLE_PRESET, ], Capability.SAMSUNG_CE_DRYER_DELAY_END: [Command.SET_DELAY_TIME], Capability.SAMSUNG_CE_DRYER_DRYING_TEMPERATURE: [Command.SET_DRYING_TEMPERATURE], Capability.SAMSUNG_CE_DRYER_DRYING_TIME: [Command.SET_DRYING_TIME], Capability.SAMSUNG_CE_DRYER_FREEZE_PREVENT: [], Capability.SAMSUNG_CE_DRYER_LABEL_SCAN_CYCLE_PRESET: [ Command.DELETE, Command.SET_DRYER_LABEL_SCAN_CYCLE_PRESET, ], Capability.SAMSUNG_CE_DRYER_OPERATING_STATE: [ Command.CANCEL, Command.PAUSE, Command.RESUME, Command.SET_DELAY_END, Command.START, ], Capability.SAMSUNG_CE_DUST_FILTER_ALARM: [Command.SET_ALARM_THRESHOLD], Capability.SAMSUNG_CE_EHS_BOOSTER_HEATER: [], Capability.SAMSUNG_CE_EHS_CYCLE_DATA: [], Capability.SAMSUNG_CE_EHS_DEFROST_MODE: [], Capability.SAMSUNG_CE_EHS_DIVERTER_VALVE: [], Capability.SAMSUNG_CE_EHS_FSV_SETTINGS: [Command.REFRESH, Command.SET_VALUE], Capability.SAMSUNG_CE_EHS_TEMPERATURE_REFERENCE: [], Capability.SAMSUNG_CE_EHS_THERMOSTAT: [], Capability.SAMSUNG_CE_ENERGY_PLANNER: [Command.SET_DATA, Command.SET_PLAN], Capability.SAMSUNG_CE_ERROR_AND_ALARM_STATE: [], Capability.SAMSUNG_CE_FLEXIBLE_AUTO_DISPENSE_DETERGENT: [ Command.SET_AMOUNT, Command.SET_DENSITY, Command.SET_RECOMMENDED_AMOUNT, Command.SET_TYPE, Command.UNSET_RECOMMENDED_AMOUNT, ], Capability.SAMSUNG_CE_FOOD_DEFROST: [Command.SET_DEFROST], Capability.SAMSUNG_CE_FREEZER_CONVERT_MODE: [Command.SET_FREEZER_CONVERT_MODE], Capability.SAMSUNG_CE_FRIDGE_FOOD_LIST: [Command.REFRESH], Capability.SAMSUNG_CE_FRIDGE_ICEMAKER_INFO: [], Capability.SAMSUNG_CE_FRIDGE_PANTRY_INFO: [], Capability.SAMSUNG_CE_FRIDGE_PANTRY_MODE: [Command.SET_MODE], Capability.SAMSUNG_CE_FRIDGE_VACATION_MODE: [], Capability.SAMSUNG_CE_FRIDGE_WELCOME_LIGHTING: [ Command.OFF, Command.ON, Command.SET_DETECTION_PROXIMITY, ], Capability.SAMSUNG_CE_HOOD_FAN_SPEED: [Command.SET_HOOD_FAN_SPEED], Capability.SAMSUNG_CE_HOOD_FILTER: [Command.RESET_HOOD_FILTER], Capability.SAMSUNG_CE_HOOD_LAMP_AUTOMATION: [ Command.SET_CONDITION, Command.SET_SCHEDULE, ], Capability.SAMSUNG_CE_INDIVIDUAL_CONTROL_LOCK: [], Capability.SAMSUNG_CE_KIDS_LOCK: [], Capability.SAMSUNG_CE_KIDS_LOCK_CONTROL: [Command.LOCK, Command.UNLOCK], Capability.SAMSUNG_CE_KIMCHI_LABEL_SCAN_MODE: [Command.SET_KIMCHI_LABEL_SCAN_MODE], Capability.SAMSUNG_CE_KIMCHI_REFRIGERATOR_OPERATING_STATE: [Command.SET_MODE], Capability.SAMSUNG_CE_KITCHEN_DEVICE_DEFAULTS: [], Capability.SAMSUNG_CE_KITCHEN_DEVICE_IDENTIFICATION: [], Capability.SAMSUNG_CE_KITCHEN_MODE_SPECIFICATION: [], Capability.SAMSUNG_CE_LAMP: [Command.SET_BRIGHTNESS_LEVEL], Capability.SAMSUNG_CE_MAINTENANCE_MODE: [], Capability.SAMSUNG_CE_MEAT_AGING: [ Command.ADD_AGING, Command.CANCEL_AGING, Command.UPDATE_AGING, ], Capability.SAMSUNG_CE_MEAT_PROBE: [Command.SET_TEMPERATURE_SETPOINT], Capability.SAMSUNG_CE_MICROPHONE_SETTINGS: [Command.MUTE, Command.UNMUTE], Capability.SAMSUNG_CE_MICROWAVE_POWER: [Command.SET_POWER_LEVEL], Capability.SAMSUNG_CE_MUSIC_PLAYLIST: [Command.SET_PLAYLIST], Capability.SAMSUNG_CE_NOTIFICATION: [ Command.SET_ACTION_SETTING, Command.SET_CONTENT_TEXT, Command.SET_CONTENT_TITLE, Command.SET_CONTEXTS, ], Capability.SAMSUNG_CE_OPERATION_ORIGIN: [Command.SET_OPERATION_ORIGIN], Capability.SAMSUNG_CE_OVEN_DRAINAGE_REQUIREMENT: [], Capability.SAMSUNG_CE_OVEN_MODE: [Command.SET_OVEN_MODE], Capability.SAMSUNG_CE_OVEN_OPERATING_STATE: [ Command.PAUSE, Command.SET_OPERATION_TIME, Command.START, Command.STOP, ], Capability.SAMSUNG_CE_POWER_CONSUMPTION_RECORD: [], Capability.SAMSUNG_CE_POWER_COOL: [Command.ACTIVATE, Command.DEACTIVATE], Capability.SAMSUNG_CE_POWER_FREEZE: [Command.ACTIVATE, Command.DEACTIVATE], Capability.SAMSUNG_CE_POWER_SAVING_WHILE_AWAY: [Command.SET_POWER_SAVING], Capability.SAMSUNG_CE_QUICK_CONTROL: [], Capability.SAMSUNG_CE_RECHARGEABLE_BATTERY: [], Capability.SAMSUNG_CE_RELATIVE_HUMIDITY_LEVEL: [Command.SET_DESIRED_HUMIDITY], Capability.SAMSUNG_CE_REMOTE_MANAGEMENT_DATA: [Command.RM_COMMAND], Capability.SAMSUNG_CE_ROBOT_CLEANER_AUDIO_CLIP: [Command.DISABLE, Command.ENABLE], Capability.SAMSUNG_CE_ROBOT_CLEANER_AVP_REGISTRATION: [Command.REGISTER], Capability.SAMSUNG_CE_ROBOT_CLEANER_CLEANING_MODE: [ Command.DISABLE_REPEAT_MODE, Command.ENABLE_REPEAT_MODE, Command.SET_CLEANING_MODE, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_CLEANING_TYPE: [Command.SET_CLEANING_TYPE], Capability.SAMSUNG_CE_ROBOT_CLEANER_DRIVING_MODE: [Command.SET_DRIVING_MODE], Capability.SAMSUNG_CE_ROBOT_CLEANER_DUST_BAG: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_FEATURE_VISIBILITY: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_GUIDED_PATROL: [Command.START, Command.STOP], Capability.SAMSUNG_CE_ROBOT_CLEANER_MAP_AREA_INFO: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_MAP_CLEANING_INFO: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_MAP_LIST: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_MAP_METADATA: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_MONITORING_AUTOMATION: [ Command.ENABLE_MONITORING_AUTOMATION ], Capability.SAMSUNG_CE_ROBOT_CLEANER_MOTOR_FILTER: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_OPERATING_STATE: [ Command.CANCEL_REMAINING_JOB, Command.PAUSE, Command.RESUME, Command.RETURN_TO_HOME, Command.SET_OPERATING_STATE, Command.START, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_PATROL: [ Command.DISABLE, Command.ENABLE, Command.SET_PATROL, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_PET_CLEANING_SCHEDULE: [ Command.DISABLE, Command.ENABLE, Command.SET_EXCLUDE_HOLIDAYS, Command.SET_SCHEDULE, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_PET_MONITOR: [ Command.DISABLE, Command.ENABLE, Command.SET_EXCLUDE_HOLIDAYS, Command.SET_MONITOR, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_PET_MONITOR_REPORT: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_RELAY_CLEANING: [], Capability.SAMSUNG_CE_ROBOT_CLEANER_RESERVATION: [ Command.ADD_RESERVATION, Command.DELETE_RESERVATION, Command.DELETE_RESERVATIONS, Command.EDIT_RESERVATION, ], Capability.SAMSUNG_CE_ROBOT_CLEANER_SAFETY_PATROL: [Command.START, Command.STOP], Capability.SAMSUNG_CE_ROBOT_CLEANER_SYSTEM_SOUND_MODE: [Command.SET_SOUND_MODE], Capability.SAMSUNG_CE_ROBOT_CLEANER_WATER_SPRAY_LEVEL: [ Command.SET_WATER_SPRAY_LEVEL ], Capability.SAMSUNG_CE_ROBOT_CLEANER_WELCOME: [ Command.SET_COORDINATES, Command.START, ], Capability.SAMSUNG_CE_RUNESTONE_HOME_CONTEXT: [ Command.SET_CONTEXT, Command.SET_CONTEXT_SNAPSHOT, Command.SET_RECENTLY_USED_APPS, ], Capability.SAMSUNG_CE_SABBATH_MODE: [Command.OFF, Command.ON], Capability.SAMSUNG_CE_SAC_DISPLAY_CONDITION: [], Capability.SAMSUNG_CE_SCALE_SETTINGS: [], Capability.SAMSUNG_CE_SELF_CHECK: [ Command.CANCEL_SELF_CHECK, Command.START_SELF_CHECK, ], Capability.SAMSUNG_CE_SENSING_ON_SUSPEND_MODE: [], Capability.SAMSUNG_CE_SILENT_ACTION: [Command.ACT_SILENTLY], Capability.SAMSUNG_CE_SOFTENER_AUTO_REPLENISHMENT: [ Command.DISABLE_ALARM, Command.ENABLE_ALARM, Command.SET_AUTO_REPLENISHMENT, Command.SET_DOSAGE, Command.SET_INITIAL_AMOUNT, Command.SET_ORDER_THRESHOLD, Command.SET_REMAINING_AMOUNT, Command.SET_TYPE, ], Capability.SAMSUNG_CE_SOFTENER_ORDER: [ Command.DISABLE_ALARM, Command.ENABLE_ALARM, Command.SET_ORDER_THRESHOLD, ], Capability.SAMSUNG_CE_SOFTENER_STATE: [ Command.SET_DOSAGE, Command.SET_INITIAL_AMOUNT, Command.SET_REMAINING_AMOUNT, Command.SET_SOFTENER_TYPE, ], Capability.SAMSUNG_CE_SOFTWARE_UPDATE: [ Command.AGREE_UPDATE, Command.DISAGREE_UPDATE, ], Capability.SAMSUNG_CE_SOFTWARE_VERSION: [], Capability.SAMSUNG_CE_SOUND_DETECTION_SENSITIVITY: [Command.SET_LEVEL], Capability.SAMSUNG_CE_STEAM_CLOSET_AUTO_CYCLE_LINK: [ Command.LINK_STEAM_CLOSET_CYCLE, Command.SET_STEAM_CLOSET_AUTO_CYCLE_LINK, ], Capability.SAMSUNG_CE_STEAM_CLOSET_CYCLE: [Command.SET_STEAM_CLOSET_CYCLE], Capability.SAMSUNG_CE_STEAM_CLOSET_CYCLE_PRESET: [ Command.DELETE, Command.SET_STEAM_CLOSET_CYCLE_PRESET, ], Capability.SAMSUNG_CE_STEAM_CLOSET_DELAY_END: [Command.SET_DELAY_TIME], Capability.SAMSUNG_CE_STEAM_CLOSET_KEEP_FRESH_MODE: [Command.OFF, Command.ON], Capability.SAMSUNG_CE_STEAM_CLOSET_SANITIZE_MODE: [Command.OFF, Command.ON], Capability.SAMSUNG_CE_STICK_CLEANER_DUST_BAG: [Command.RESET], Capability.SAMSUNG_CE_STICK_CLEANER_DUSTBIN_STATUS: [ Command.START_EMPTYING, Command.STOP_EMPTYING, ], Capability.SAMSUNG_CE_STICK_CLEANER_STATUS: [], Capability.SAMSUNG_CE_STICK_CLEANER_STICK_STATUS: [], Capability.SAMSUNG_CE_SURFACE_RESIDUAL_HEAT: [], Capability.SAMSUNG_CE_SYSTEM_AIR_CONDITIONER_RESERVATION: [], Capability.SAMSUNG_CE_TEMPERATURE_SETTING: [Command.SET_DESIRED_TEMPERATURE], Capability.SAMSUNG_CE_TOGGLE_SWITCH: [Command.OFF, Command.ON, Command.TOGGLE], Capability.SAMSUNG_CE_UNAVAILABLE_CAPABILITIES: [], Capability.SAMSUNG_CE_VIEW_INSIDE: [ Command.REFRESH, Command.REFRESH_ALL, Command.REFRESH_SPECIFIC_AREA, ], Capability.SAMSUNG_CE_WASHER_BUBBLE_SOAK: [Command.OFF, Command.ON], Capability.SAMSUNG_CE_WASHER_CYCLE: [Command.SET_WASHER_CYCLE], Capability.SAMSUNG_CE_WASHER_CYCLE_PRESET: [ Command.DELETE, Command.SET_WASHER_CYCLE_PRESET, ], Capability.SAMSUNG_CE_WASHER_DELAY_END: [ Command.REFRESH_MINIMUM_RESERVABLE_TIME, Command.SET_DELAY_TIME, ], Capability.SAMSUNG_CE_WASHER_FREEZE_PREVENT: [], Capability.SAMSUNG_CE_WASHER_LABEL_SCAN_CYCLE_PRESET: [ Command.DELETE, Command.SET_WASHER_LABEL_SCAN_CYCLE_PRESET, ], Capability.SAMSUNG_CE_WASHER_OPERATING_STATE: [ Command.CANCEL, Command.ESTIMATE_OPERATION_TIME, Command.PAUSE, Command.RESUME, Command.SET_DELAY_END, Command.START, ], Capability.SAMSUNG_CE_WASHER_WASHING_TIME: [Command.SET_WASHING_TIME], Capability.SAMSUNG_CE_WASHER_WATER_LEVEL: [Command.SET_WATER_LEVEL], Capability.SAMSUNG_CE_WASHER_WATER_VALVE: [Command.SET_WATER_VALVE], Capability.SAMSUNG_CE_WATER_CONSUMPTION_REPORT: [], Capability.SAMSUNG_CE_WATER_DISPENSER: [ Command.SET_AMOUNT, Command.SET_HOT_TEMPERATURE, Command.SET_MODE, ], Capability.SAMSUNG_CE_WATER_PURIFIER_COLD_WATER_LOCK: [ Command.LOCK, Command.UNLOCK, ], Capability.SAMSUNG_CE_WATER_PURIFIER_HOT_WATER_LOCK: [Command.LOCK, Command.UNLOCK], Capability.SAMSUNG_CE_WATER_PURIFIER_MEDICATION_MODE: [Command.SET_MEDICATION_MODE], Capability.SAMSUNG_CE_WATER_PURIFIER_OPERATING_STATE: [], Capability.SAMSUNG_CE_WATER_RESERVOIR: [], Capability.SAMSUNG_CE_WATER_STERILIZATION_OPERATING_STATE: [ Command.START, Command.STOP, ], Capability.SAMSUNG_CE_WATER_STERILIZATION_SCHEDULE: [Command.SET_START_TIME], Capability.SAMSUNG_CE_WEIGHT_MEASUREMENT: [], Capability.SAMSUNG_CE_WEIGHT_MEASUREMENT_CALIBRATION: [Command.ZERO_CALIBRATE], Capability.SAMSUNG_CE_WELCOME_COOLING: [Command.START], Capability.SAMSUNG_CE_WELCOME_HUMIDITY: [Command.START], Capability.SAMSUNG_CE_WELCOME_MESSAGE: [ Command.DELETE_WELCOME_MESSAGE, Command.SET_WELCOME_MESSAGE, ], Capability.SAMSUNG_CE_WIFI_KIT_SUB_DEVICES: [], Capability.SAMSUNG_VD_AI_ACTION: [Command.SEND_CONTENT], Capability.SAMSUNG_VD_AMBIENT: [Command.SEND_DATA, Command.SET_AMBIENT_ON], Capability.SAMSUNG_VD_AMBIENT18: [Command.SET_AMBIENT_ON], Capability.SAMSUNG_VD_AMBIENT_CONTENT: [Command.SET_AMBIENT_CONTENT], Capability.SAMSUNG_VD_ART: [Command.SET_ART_ON], Capability.SAMSUNG_VD_AUDIO_GROUP_INFO: [], Capability.SAMSUNG_VD_AUDIO_INPUT_SOURCE: [Command.SET_NEXT_INPUT_SOURCE], Capability.SAMSUNG_VD_AUDIO_SOUND_MODE: [Command.SET_SOUND_MODE], Capability.SAMSUNG_VD_DEVICE_CATEGORY: [], Capability.SAMSUNG_VD_FIRMWARE_VERSION: [Command.SET_FIRMWARE_VERSION], Capability.SAMSUNG_VD_GROUP_INFO: [], Capability.SAMSUNG_VD_HOME_APP: [Command.SET_HOME_APP], Capability.SAMSUNG_VD_LAUNCH_SERVICE: [Command.LAUNCH_T_V_PLUS], Capability.SAMSUNG_VD_LIGHT_CONTROL: [Command.SET_LIGHT_CONTROL_MODE], Capability.SAMSUNG_VD_MEDIA_INPUT_SOURCE: [Command.SET_INPUT_SOURCE], Capability.SAMSUNG_VD_MULTIVIEW: [Command.SET_MULTIVIEW], Capability.SAMSUNG_VD_PICTURE_MODE: [Command.SET_PICTURE_MODE], Capability.SAMSUNG_VD_REMOTE_CONTROL: [Command.SEND], Capability.SAMSUNG_VD_SOUND_DETECTION: [], Capability.SAMSUNG_VD_SOUND_FROM: [Command.SET_SOUND_FROM], Capability.SAMSUNG_VD_SOUND_MODE: [Command.SET_SOUND_MODE], Capability.SAMSUNG_VD_SUPPORTS_FEATURES: [], Capability.SAMSUNG_VD_SUPPORTS_POWER_ON_BY_OCF: [], Capability.SAMSUNG_VD_THING_STATUS: [], Capability.SAMSUNG_IM_ANNOUNCEMENT: [Command.ANNOUNCE, Command.SET_ENABLE_STATE], Capability.SAMSUNG_IM_BIXBY_CONTENT: [Command.BIXBY_COMMAND], Capability.SAMSUNG_IM_CHARGER_FIRMWARE: [], Capability.SAMSUNG_IM_CHARGING_STATUS: [], Capability.SAMSUNG_IM_DEVICESTATUS: [], Capability.SAMSUNG_IM_FIND_NODE: [ Command.SET_ENABLED, Command.STF_INSTALLED, Command.STF_UNINSTALLED, ], Capability.SAMSUNG_IM_FIND_NODE_GEOLOCATION: [Command.UPDATE], Capability.SAMSUNG_IM_FIRMWARE_AUTO_UPDATE: [ Command.DISABLE_AUTO_UPDATE, Command.ENABLE_AUTO_UPDATE, ], Capability.SAMSUNG_IM_FIRMWARE_SERVER: [Command.SET_SERVER], Capability.SAMSUNG_IM_FIXED_FIND_NODE: [Command.REFRESH], Capability.SAMSUNG_IM_HUB_ONBOARDING: [Command.ONBOARDING, Command.RESET], Capability.SAMSUNG_IM_HUE_SYNC_MODE: [], Capability.SAMSUNG_IM_LED_NOTIFICATION: [ Command.DISABLE_LED_NOTIFICATION, Command.ENABLE_LED_NOTIFICATION, ], Capability.SAMSUNG_IM_NEARBY_DETECTION: [Command.OFF, Command.ON, Command.REFRESH], Capability.SAMSUNG_IM_NETWORK_AUDIO_GROUP_INFO: [ Command.SET_ACM_MODE, Command.SET_CHANNEL, Command.SET_GROUP_NAME, Command.SET_MASTER_DI, Command.SET_MASTER_NAME, Command.SET_ROLE, Command.SET_STATUS, Command.SET_STEREO_TYPE, ], Capability.SAMSUNG_IM_NETWORK_AUDIO_MODE: [Command.SET_MODE], Capability.SAMSUNG_IM_NETWORK_AUDIO_TRACK_DATA: [ Command.SET_APP_NAME, Command.SET_SOURCE, ], Capability.SAMSUNG_IM_REQUEST_INVITATION: [Command.UPDATE], Capability.SAMSUNG_IM_RING_MOBILE: [Command.UPDATE], Capability.SAMSUNG_IM_SAMSUNGACCOUNT: [Command.SIGN_IN, Command.SIGN_OUT], Capability.SAMSUNG_IM_SELF_TEST: [Command.RUN], Capability.SAMSUNG_IM_STHUBEUI: [], Capability.SAMSUNG_IM_WIFI: [Command.GET_SCAN_RESULTS, Command.UPDATE], Capability.ABATEACHIEVE62503_STATELESS_AUDIO_MUTE: [Command.MUTED], Capability.ABATEACHIEVE62503_STATELESS_AUDIO_VOLUME_DOWN: [Command.VOLUME_DOWN], Capability.ABATEACHIEVE62503_STATELESS_AUDIO_VOLUME_UP: [Command.VOLUME_UP], Capability.ABATEACHIEVE62503_STATELESS_CHANNEL_DOWN: [Command.CHANNEL_DOWN], Capability.ABATEACHIEVE62503_STATELESS_CHANNEL_UP: [Command.CHANNEL_UP], Capability.ABSOLUTEWEATHER46907_LANGUAGE_SUPPORT: [Command.SET_LANGUAGE], Capability.ABSOLUTEWEATHER46907_LOCK: [Command.SET_OPTION, Command.UNLOCK], Capability.ABSOLUTEWEATHER46907_LOCKSTATERELEASE: [Command.SET_LOCK], Capability.AMBERPIANO10217_BINDING_INFO: [], Capability.AMBERPIANO10217_CLUSTER: [Command.SET_CLUSTER_ID], Capability.AMBERPIANO10217_CONTROLLER_STATUS: [], Capability.AMBERPIANO10217_DETECTION_INTERVAL: [Command.SET_DETECTION_INTERVAL], Capability.AMBERPIANO10217_DEVICE_EUI: [Command.SET_DEVICE_EUI], Capability.AMBERPIANO10217_DEVICEINFO: [], Capability.AMBERPIANO10217_GROUP_ADD: [Command.ADD, Command.PUSH], Capability.AMBERPIANO10217_GROUP_INFO: [], Capability.AMBERPIANO10217_GROUP_REMOVE: [Command.PUSH, Command.REMOVE], Capability.AMBERPIANO10217_GROUP_REMOVE_ALL: [Command.PUSH], Capability.AMBERPIANO10217_MONITORED_APPROACH_DISTANCE: [Command.SET_DISTANCE], Capability.AMBERPIANO10217_OBJECT: [], Capability.AMBERPIANO10217_PRESENCE_DETECTION_STATUS: [Command.SET_STATUS], Capability.AMBERPIANO10217_SENSOR_DETECTION_SENSITIVITY: [Command.SET_MODE], Capability.AMBERPIANO10217_SENSOR_MONITORING_MODE: [Command.SET_MODE], Capability.AMBERPIANO10217_VIRTUAL_THING_TYPE: [Command.SET_THING_TYPE], Capability.EVENTFLUTE36860_DEFAULT_LEVEL_LOCAL: [Command.SET_LEVEL_LOCAL], Capability.EVENTFLUTE36860_LED_BAR_SWITCH_OFF: [ Command.SET_LED_BAR_OFF_COLOR, Command.SET_LED_BAR_OFF_LEVEL, ], Capability.EVENTFLUTE36860_LED_BAR_SWITCH_ON: [ Command.SET_LED_BAR_ON_COLOR, Command.SET_LED_BAR_ON_LEVEL, ], Capability.EVENTFLUTE36860_LOCAL_CONTROL: [Command.SET_LOCAL_CONTROL], Capability.EVENTFLUTE36860_LOG: [], Capability.EVENTFLUTE36860_NOTIFICATION_ALL: [ Command.SET_NOTIFICATION_COLOR, Command.SET_NOTIFICATION_DURATION, Command.SET_NOTIFICATION_EFFECT, Command.SET_NOTIFICATION_LEVEL, ], Capability.EVENTFLUTE36860_NOTIFICATION_LZW31SN: [ Command.SET_NOTIFICATION_COLOR, Command.SET_NOTIFICATION_DURATION, Command.SET_NOTIFICATION_EFFECT, Command.SET_NOTIFICATION_LEVEL, ], Capability.EVENTFLUTE36860_NOTIFICATION_SINGLE: [ Command.SET_NOTIFICATION_COLOR, Command.SET_NOTIFICATION_DURATION, Command.SET_NOTIFICATION_EFFECT, Command.SET_NOTIFICATION_LEVEL, Command.SET_NOTIFICATION_NUMBER, ], Capability.EVENTFLUTE36860_REMOTE_CONTROL: [Command.SET_REMOTE_CONTROL], Capability.HCA_DRYER_MODE: [Command.SET_MODE], Capability.HCA_WASHER_MODE: [Command.SET_MODE], Capability.LEGENDABSOLUTE60149_ACTIONBUTTON2: [Command.PUSH], Capability.LEGENDABSOLUTE60149_ATMOS_PRESSURE: [Command.SET_ATMOS_PRESSURE], Capability.LEGENDABSOLUTE60149_BELL_SOUNDS: [Command.SET_BELL_SOUNDS], Capability.LEGENDABSOLUTE60149_CIRCADIAN: [Command.SET_CIRCADIAN], Capability.LEGENDABSOLUTE60149_COLOR_CHANGE_MODE1: [Command.SET_COLOR_CHANGE_MODE], Capability.LEGENDABSOLUTE60149_COLOR_CHANGE_TIMER: [Command.SET_COLOR_CHANGE_TIMER], Capability.LEGENDABSOLUTE60149_COLOR_CHANGING: [Command.SET_COLOR_CHANGING], Capability.LEGENDABSOLUTE60149_COLOR_TEMPERATURE_STEPS: [ Command.SET_COLOR_TEMP_STEPS ], Capability.LEGENDABSOLUTE60149_COMMAND_CLASS: [], Capability.LEGENDABSOLUTE60149_CREATE_DEVICE2: [Command.SET_CREATE_DEVICE], Capability.LEGENDABSOLUTE60149_CURRENT_LOOP: [Command.SET_CURRENT_LOOP], Capability.LEGENDABSOLUTE60149_CURRENT_TIME_PERIOD: [ Command.SET_CURRENT_TIME_PERIOD ], Capability.LEGENDABSOLUTE60149_CURRENT_TWILIGHT: [Command.SET_CURRENT_TWILIGHT], Capability.LEGENDABSOLUTE60149_DAY_LENGTH: [Command.SET_DAY_LENGTH], Capability.LEGENDABSOLUTE60149_DEVICE_ASSOCIATION_TYPE: [ Command.SET_DEVICE_ASSOCIATION_TYPE ], Capability.LEGENDABSOLUTE60149_DEVICE_INFO: [Command.SET_DEVICE_INFO], Capability.LEGENDABSOLUTE60149_DRIVER_VERSION1: [Command.SET_DRIVER_VERSION], Capability.LEGENDABSOLUTE60149_EFFECTS_SET_COMMAND: [ Command.SET_EFFECTS_SET_COMMAND ], Capability.LEGENDABSOLUTE60149_ENERGY_RESET1: [Command.SET_ENERGY_RESET], Capability.LEGENDABSOLUTE60149_EVEN_ODD_DAY: [Command.SET_EVEN_ODD_DAY], Capability.LEGENDABSOLUTE60149_FAN_CYCLIC_MODE: [Command.SET_FAN_CYCLIC_MODE], Capability.LEGENDABSOLUTE60149_FAN_NEXT_CHANGE: [Command.SET_FAN_NEXT_CHANGE], Capability.LEGENDABSOLUTE60149_FORCED_ON_LEVEL: [Command.SET_FORCED_ON_LEVEL], Capability.LEGENDABSOLUTE60149_GET_GROUPS: [Command.SET_GET_GROUPS], Capability.LEGENDABSOLUTE60149_GROUP_COMMAND_OPTION: [ Command.SET_GROUP_COMMAND_OPTION ], Capability.LEGENDABSOLUTE60149_GROUP_NUMBER: [Command.SET_GROUP_NUMBER], Capability.LEGENDABSOLUTE60149_HUE_STEPS: [Command.SET_HUE_STEPS], Capability.LEGENDABSOLUTE60149_HUMIDITY_CONDITION: [Command.SET_HUMIDITY_CONDITION], Capability.LEGENDABSOLUTE60149_HUMIDITY_TARGET: [Command.SET_HUMIDITY_TARGET], Capability.LEGENDABSOLUTE60149_INFO_PANEL: [Command.SET_INFO_PANEL], Capability.LEGENDABSOLUTE60149_LEVEL_STEPS: [Command.SET_LEVEL_STEPS], Capability.LEGENDABSOLUTE60149_LOCAL_DATE: [Command.SET_LOCAL_DATE], Capability.LEGENDABSOLUTE60149_LOCAL_DATE_ONE: [Command.SET_LOCAL_DATE_ONE], Capability.LEGENDABSOLUTE60149_LOCAL_DATE_TWO1: [Command.SET_LOCAL_DATE_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_DAY: [Command.SET_LOCAL_DAY], Capability.LEGENDABSOLUTE60149_LOCAL_DAY_TWO: [Command.SET_LOCAL_DAY_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_HOUR: [Command.SET_LOCAL_HOUR], Capability.LEGENDABSOLUTE60149_LOCAL_HOUR_OFFSET: [Command.SET_LOCAL_HOUR_OFFSET], Capability.LEGENDABSOLUTE60149_LOCAL_HOUR_TWO: [Command.SET_LOCAL_HOUR_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_MONTH: [Command.SET_LOCAL_MONTH], Capability.LEGENDABSOLUTE60149_LOCAL_MONTH_DAY_ONE: [ Command.SET_LOCAL_MONTH_DAY_ONE ], Capability.LEGENDABSOLUTE60149_LOCAL_MONTH_DAY_TWO: [ Command.SET_LOCAL_MONTH_DAY_TWO ], Capability.LEGENDABSOLUTE60149_LOCAL_MONTH_TWO: [Command.SET_LOCAL_MONTH_TWO], Capability.LEGENDABSOLUTE60149_LOCAL_WEEK_DAY: [Command.SET_LOCAL_WEEK_DAY], Capability.LEGENDABSOLUTE60149_LOCAL_YEAR: [Command.SET_LOCAL_YEAR], Capability.LEGENDABSOLUTE60149_LOOPS_NUMBER: [Command.SET_LOOPS_NUMBER], Capability.LEGENDABSOLUTE60149_MIRROR_GROUP_FUNCTION: [ Command.SET_MIRROR_GROUP_FUNCTION ], Capability.LEGENDABSOLUTE60149_MIRROR_IN: [Command.SET_MIRROR_IN], Capability.LEGENDABSOLUTE60149_MIRROR_OUT: [Command.SET_MIRROR_OUT], Capability.LEGENDABSOLUTE60149_MOTION_SENSOR_ENABLE: [ Command.SET_MOTION_SENSOR_ENABLE ], Capability.LEGENDABSOLUTE60149_NODE_END_POINT: [Command.SET_NODE_END_POINT], Capability.LEGENDABSOLUTE60149_NODE_TO_WRITE_HEX: [Command.SET_NODE_TO_WRITE], Capability.LEGENDABSOLUTE60149_PARAMETER_START: [Command.SET_PARAMETER_START], Capability.LEGENDABSOLUTE60149_PARAMETEREND: [Command.SET_PARAMETER_END], Capability.LEGENDABSOLUTE60149_PROGRESSIVE_OFF1: [Command.SET_PROG_OFF], Capability.LEGENDABSOLUTE60149_PROGRESSIVE_ON1: [Command.SET_PROG_ON], Capability.LEGENDABSOLUTE60149_RANDOM_MAXIMUM_TIMER: [ Command.SET_RANDOM_MAXIMUM_TIMER ], Capability.LEGENDABSOLUTE60149_RANDOM_MINIMUM_TIMER: [ Command.SET_RANDOM_MINIMUM_TIMER ], Capability.LEGENDABSOLUTE60149_RANDOM_NEXT_STEP: [Command.SET_RANDOM_NEXT], Capability.LEGENDABSOLUTE60149_RANDOM_NEXT_STEP2: [Command.SET_RANDOM_NEXT], Capability.LEGENDABSOLUTE60149_RANDOM_ON_OFF1: [Command.SET_RANDOM_ON_OFF], Capability.LEGENDABSOLUTE60149_RANDOM_ON_OFF2: [Command.SET_RANDOM_ON_OFF], Capability.LEGENDABSOLUTE60149_RESETBUTTON: [Command.PUSH], Capability.LEGENDABSOLUTE60149_SIGNAL_METRICS: [Command.SET_SIGNAL_METRICS], Capability.LEGENDABSOLUTE60149_SIREN_OR_BELL_ACTIVE: [ Command.SET_SIREN_OR_BELL_ACTIVE ], Capability.LEGENDABSOLUTE60149_SIREN_SOUNDS: [Command.SET_SIREN_SOUNDS], Capability.LEGENDABSOLUTE60149_SUN_AZIMUTH_ANGLE: [Command.SET_SUN_AZIMUTH_ANGLE], Capability.LEGENDABSOLUTE60149_SUN_ELEVATION_ANGLE: [ Command.SET_SUN_ELEVATION_ANGLE ], Capability.LEGENDABSOLUTE60149_SUN_RISE: [Command.SET_SUN_RISE], Capability.LEGENDABSOLUTE60149_SUN_RISE_OFFSET1: [Command.SET_SUN_RISE_OFFSET], Capability.LEGENDABSOLUTE60149_SUN_SET: [Command.SET_SUN_SET], Capability.LEGENDABSOLUTE60149_SUN_SET_OFFSET1: [Command.SET_SUN_SET_OFFSET], Capability.LEGENDABSOLUTE60149_SWITCH_ALL_ON_OFF1: [Command.SET_SWITCH_ALL_ON_OFF], Capability.LEGENDABSOLUTE60149_TEMP_CONDITION2: [Command.SET_TEMP_CONDITION], Capability.LEGENDABSOLUTE60149_TEMP_TARGET: [Command.SET_TEMP_TARGET], Capability.LEGENDABSOLUTE60149_THERMOSTAT_LOCKED: [Command.SET_THERMOSTAT_LOCKED], Capability.LEGENDABSOLUTE60149_TIMER_NEXT_CHANGE: [Command.SET_TIMER_NEXT_CHANGE], Capability.LEGENDABSOLUTE60149_TIMER_SECONDS: [Command.SET_TIMER_SECONDS], Capability.LEGENDABSOLUTE60149_TIMER_TYPE: [Command.SET_TIMER_TYPE], Capability.MIRRORHAPPY40050_COPPER_WATER_METER: [], Capability.MUSICAHEAD43206_POWERMODE: [Command.OFF, Command.ON], Capability.MUSICAHEAD43206_SNOOZE: [Command.OFF, Command.ON], Capability.MUSICAHEAD43206_STAGE: [Command.SET_STAGE], Capability.ORANGEBROOK39927_HUE_ALERTS: [Command.APPLY], Capability.ORANGEBROOK39927_HUE_BRIDGE: [ Command.CONNECT, Command.DISCONNECT, Command.LINK, ], Capability.ORANGEBROOK39927_HUE_DISCOVERY: [Command.DISCOVER], Capability.ORANGEBROOK39927_HUE_GEOFENCE: [Command.REMOVE, Command.UPDATE], Capability.ORANGEBROOK39927_HUE_GROUP: [], Capability.PARTYVOICE23922_ADD2: [Command.PUSH], Capability.PARTYVOICE23922_AMPERAGE: [], Capability.PARTYVOICE23922_APIWEBREQUEST: [Command.G_E_T, Command.P_O_S_T], Capability.PARTYVOICE23922_BAROMETER2: [], Capability.PARTYVOICE23922_CASTMEDIACONTROL: [Command.SET_CONTROL], Capability.PARTYVOICE23922_CLOSEDURATION: [Command.SET_CLOSE], Capability.PARTYVOICE23922_CLOUDCOVER: [], Capability.PARTYVOICE23922_COUNT: [], Capability.PARTYVOICE23922_CREATEANOTHER: [Command.PUSH], Capability.PARTYVOICE23922_CREATEDEV8: [Command.SET_DEVICE_TYPE], Capability.PARTYVOICE23922_CREATEHTTPDEV2B: [Command.SET_DEVICE_TYPE], Capability.PARTYVOICE23922_CREATEMQTTDEV9: [Command.SET_DEVICE_TYPE], Capability.PARTYVOICE23922_CREATEQTY: [Command.SET_CREATE_QTY], Capability.PARTYVOICE23922_DURATION2: [], Capability.PARTYVOICE23922_ERRORSENSOR: [], Capability.PARTYVOICE23922_ERRORSTATUS: [], Capability.PARTYVOICE23922_ERRORSTATUSCV: [], Capability.PARTYVOICE23922_HTTPCODE: [], Capability.PARTYVOICE23922_HTTPRESPONSE: [], Capability.PARTYVOICE23922_INFOTABLE: [], Capability.PARTYVOICE23922_INPUTPERCENT: [], Capability.PARTYVOICE23922_INPUTSTATE: [], Capability.PARTYVOICE23922_INVENTORY8: [Command.SET_INVENTORY], Capability.PARTYVOICE23922_KEYNUMVALUE: [], Capability.PARTYVOICE23922_KEYVALUE2: [], Capability.PARTYVOICE23922_LOCATION: [Command.SET_LOC], Capability.PARTYVOICE23922_MEDIASUBTITLE: [], Capability.PARTYVOICE23922_MEDIATITLE: [], Capability.PARTYVOICE23922_MQTTPUBLISH: [Command.PUBLISH], Capability.PARTYVOICE23922_NAMEINPUT: [Command.SET_INPUT], Capability.PARTYVOICE23922_ONVIFINFO: [], Capability.PARTYVOICE23922_ONVIFSTATUS: [], Capability.PARTYVOICE23922_OPENDURATION: [Command.SET_OPEN], Capability.PARTYVOICE23922_POWERFACTOR2: [], Capability.PARTYVOICE23922_PRECIPPROB: [], Capability.PARTYVOICE23922_PRECIPRATE: [], Capability.PARTYVOICE23922_REACTIVEPOWER: [], Capability.PARTYVOICE23922_REFRESH: [Command.PUSH], Capability.PARTYVOICE23922_RESETALT: [Command.PUSH], Capability.PARTYVOICE23922_RESETSELECT: [Command.SET_SELECT], Capability.PARTYVOICE23922_ROKUCURRENTAPP: [], Capability.PARTYVOICE23922_ROKUMEDIASTATUS: [], Capability.PARTYVOICE23922_SETILLUMINANCE: [Command.SET_ILLUM], Capability.PARTYVOICE23922_SHADEPAUSE: [Command.PUSH], Capability.PARTYVOICE23922_SHELLYDEVS4: [Command.SET_DEVICE_TYPE], Capability.PARTYVOICE23922_STATEFIELD2: [], Capability.PARTYVOICE23922_STATUS: [], Capability.PARTYVOICE23922_SUBTRACT2: [Command.PUSH], Capability.PARTYVOICE23922_SUMMARY: [], Capability.PARTYVOICE23922_TEMPMAX: [], Capability.PARTYVOICE23922_TEMPMIN: [], Capability.PARTYVOICE23922_TEXTFIELD: [], Capability.PARTYVOICE23922_TOPICLIST: [], Capability.PARTYVOICE23922_TVCHANNEL: [], Capability.PARTYVOICE23922_VHUMIDITYSET: [Command.SETV_HUMIDITY], Capability.PARTYVOICE23922_VOLUMEDOWN: [Command.PUSH], Capability.PARTYVOICE23922_VOLUMEUP: [Command.PUSH], Capability.PARTYVOICE23922_VTEMPSET: [Command.SETV_TEMP], Capability.PARTYVOICE23922_WATTAGE4: [Command.SET_WATTS], Capability.PARTYVOICE23922_WEBREQUEST: [Command.G_E_T, Command.P_O_S_T], Capability.PARTYVOICE23922_WEBREQUESTSELECT: [Command.SET_SELECTION], Capability.PARTYVOICE23922_WINDDIRDEG: [], Capability.PARTYVOICE23922_WINDDIRECTION2: [], Capability.PARTYVOICE23922_WINDGUST: [], Capability.PARTYVOICE23922_WINDSPEED5: [], Capability.PARTYVOICE23922_WLEDEFFECTMODE2: [Command.SET_EFFECT_MODE], Capability.PLATEMUSIC11009_AMPERAGE_MEASUREMENT: [], Capability.PLATEMUSIC11009_ASSOCIATION_GROUP_FOUR: [], Capability.PLATEMUSIC11009_ASSOCIATION_GROUP_THREE: [], Capability.PLATEMUSIC11009_ASSOCIATION_GROUP_TWO: [], Capability.PLATEMUSIC11009_BASIC_SET_ASSOCIATION_GROUP: [], Capability.PLATEMUSIC11009_DEVICE_NETWORK_ID: [], Capability.PLATEMUSIC11009_FIRMWARE: [], Capability.PLATEMUSIC11009_HS_LED_MODE: [Command.SET_LED_MODE], Capability.PLATEMUSIC11009_HS_NORMAL_LED_COLOR: [Command.SET_NORMAL_LED_COLOR], Capability.PLATEMUSIC11009_HS_STATUS_LED_BLINKING_COLOR: [ Command.SET_STATUS_LED_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_BLINKING_FREQ: [ Command.SET_STATUS_LED_BLINKING_FREQ ], Capability.PLATEMUSIC11009_HS_STATUS_LED_FIVE_COLOR: [ Command.SET_STATUS_LED_FIVE_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_FOUR_COLOR: [ Command.SET_STATUS_LED_FOUR_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_ONE_COLOR: [ Command.SET_STATUS_LED_ONE_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_SEVEN_COLOR: [ Command.SET_STATUS_LED_SEVEN_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_SIX_COLOR: [ Command.SET_STATUS_LED_SIX_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_THREE_COLOR: [ Command.SET_STATUS_LED_THREE_COLOR ], Capability.PLATEMUSIC11009_HS_STATUS_LED_TWO_COLOR: [ Command.SET_STATUS_LED_TWO_COLOR ], Capability.PLATEMUSIC11009_HUMIDITY_ALARM: [], Capability.PLATEMUSIC11009_TEMPERATURE_HUMIDITY_SENSOR: [], Capability.PLATEMUSIC11009_ZOOZ_LED_BRIGHTNESS: [Command.SET_LED_BRIGHTNESS], Capability.PLATEMUSIC11009_ZOOZ_LED_COLOR: [Command.SET_LED_COLOR], Capability.PLATEMUSIC11009_ZOOZ_LED_MODE: [Command.SET_LED_MODE], Capability.PLATINUMMASSIVE43262_AUTO_LOCK: [Command.AUTOLOCK, Command.OFF], Capability.PLATINUMMASSIVE43262_HOME_BUTTON: [Command.HOME], Capability.PLATINUMMASSIVE43262_JASCO_DEFAULT_LEVEL: [Command.SET_DEFAULT_LEVEL], Capability.PLATINUMMASSIVE43262_JASCO_LIGHT_SENSING: [Command.SET_LIGHT_SENSING], Capability.PLATINUMMASSIVE43262_JASCO_MOTION_SENSITIVITY: [ Command.SET_MOTION_SENSITIVITY ], Capability.PLATINUMMASSIVE43262_JASCO_OPERATION_MODE: [Command.SET_OPERATION_MODE], Capability.PLATINUMMASSIVE43262_JASCO_TIMEOUT_DURATION: [ Command.SET_TIMEOUT_DURATION ], Capability.PLATINUMMASSIVE43262_KEYPAD_BEEP: [Command.BEEP, Command.OFF], Capability.PLATINUMMASSIVE43262_LOCK_AND_LEAVE: [Command.LOCKANDLEAVE, Command.OFF], Capability.PLATINUMMASSIVE43262_ONKYO_INPUT_SOURCE: [Command.SET_INPUT_SOURCE], Capability.PLATINUMMASSIVE43262_ONKYO_RAW_COMMAND: [Command.SEND_COMMAND], Capability.PLATINUMMASSIVE43262_PICTURE_MUTE: [ Command.MUTE, Command.SET_MUTE, Command.UNMUTE, ], Capability.PLATINUMMASSIVE43262_SCHLAGE_INTERIOR_BUTTON: [ Command.DISABLE, Command.ENABLE, ], Capability.PLATINUMMASSIVE43262_SCHLAGE_LOCK_ALARM: [ Command.ACTIVITY, Command.FORCEDENTRY, Command.OFF, Command.SET_ACTIVITY_SENSITIVITY, Command.SET_ALARM_MODE, Command.SET_FORCED_SENSITIVITY, Command.SET_TAMPER_SENSITIVITY, Command.TAMPER, ], Capability.PLATINUMMASSIVE43262_STATUS_MESSAGE: [], Capability.PLATINUMMASSIVE43262_TV_CHANNEL: [ Command.CHANNEL_DOWN, Command.CHANNEL_UP, Command.SET_TV_CHANNEL, ], Capability.PLATINUMMASSIVE43262_UNLOCK_CODE_NAME: [], Capability.PLATINUMMASSIVE43262_VACATION_MODE: [Command.OFF, Command.VACATION], Capability.RBOYAPPS_LOCK_AUDIO: [ Command.DISABLE_AUDIO, Command.ENABLE_AUDIO, Command.SET_AUDIO, ], Capability.RBOYAPPS_LOCK_AUTOLOCK: [ Command.DISABLE_AUTOLOCK, Command.ENABLE_AUTOLOCK, Command.SET_AUTOLOCK, ], Capability.RBOYAPPS_LOCK_EXTENDED: [], Capability.RBOYAPPS_LOCK_KEYPAD: [ Command.DISABLE_KEYPAD, Command.ENABLE_KEYPAD, Command.SET_KEYPAD, ], Capability.RBOYAPPS_LOCK_ONE_TOUCH_LOCK: [ Command.DISABLE_ONE_TOUCH_LOCK, Command.ENABLE_ONE_TOUCH_LOCK, Command.SET_ONE_TOUCH_LOCK, ], Capability.RBOYAPPS_LOCK_TAMPER: [Command.ALARM_TOGGLE, Command.SET_ALARM], Capability.RBOYAPPS_LOCK_TAMPER_SENSITIVITY: [ Command.SENSITIVE_TOGGLE, Command.SET_SENSITIVITY, ], Capability.RIVERTALENT14263_ADAPTIVE_ENERGY_USAGE_STATE: [], Capability.RIVERTALENT14263_BATCH_GAS_CONSUMPTION_REPORT: [], Capability.RIVERTALENT14263_BATCH_POWER_CONSUMPTION_REPORT: [], Capability.RIVERTALENT14263_ENERGY_METER_PROPERTIES: [ Command.SET_METERING_DATE, Command.SET_SERVICE_MESSAGE, ], Capability.RIVERTALENT14263_GAS_CONSUMPTION_REPORT: [], Capability.SAFE_PANIC_BUTTON: [], Capability.SAFE_USERS: [], Capability.SEC_CALM_CONNECTION_CARE: [], Capability.SEC_DEVICE_CONNECTION_STATE: [Command.REFRESH_CONNECTION], Capability.SEC_DIAGNOSTICS_INFORMATION: [], Capability.SEC_SMARTTHINGS_HUB: [Command.CANCEL_ONBOARDING, Command.ONBOARDING], Capability.SEC_WIFI_CONFIGURATION: [], Capability.SIGNALAHEAD13665_APPLIANCEOPERATIONSTATESV2: [], Capability.SIGNALAHEAD13665_DISHWASHERPROGRAMSV2: [ Command.SET_PROGRAM, Command.STOP, ], Capability.SIGNALAHEAD13665_OVENPROGRAMSV2: [Command.SET_PROGRAM, Command.STOP], Capability.SIGNALAHEAD13665_PAUSERESUMEV2: [Command.SET_PAUSE_STATE], Capability.SIGNALAHEAD13665_PROGRAMDURATIONV2: [Command.SET_PROGRAM_DURATION], Capability.SIGNALAHEAD13665_STARTSTOPPROGRAMV2: [Command.SET_STARTSTOP], Capability.STSE_DEVICE_MODE: [], Capability.STSOLUTIONS_DEMAND_RESPONSE_MODE: [Command.SET_MODE], Capability.STSOLUTIONS_DEMAND_RESPONSE_STATUS: [], Capability.STSOLUTIONS_MESSAGE: [], Capability.STUS_SOFTWARE_GENERATION: [], Capability.SYNTHETIC_CIRCADIAN_LIGHTING_EFFECT: [Command.SET_CIRCADIAN], Capability.SYNTHETIC_FADE_LIGHTNING_EFFECT: [Command.SET_FADE], Capability.TAG_E2E_ENCRYPTION: [Command.OFF, Command.ON], Capability.TAG_FACTORY_RESET: [Command.RESET], Capability.TAG_SEARCHING_STATUS: [], Capability.TAG_TAG_BUTTON: [ Command.SET_BUTTON_DOUBLE_PUSH, Command.SET_BUTTON_HOLD, Command.SET_BUTTON_PUSH, Command.SET_BUTTON_TRIPLE_PUSH, ], Capability.TAG_TAG_STATUS: [], Capability.TAG_UPDATED_INFO: [Command.UPDATE], Capability.TAG_UWB_ACTIVATION: [Command.OFF, Command.ON], Capability.VALLEYBOARD16460_DEBUG: [Command.CLEAR, Command.SET_VALUE], Capability.VALLEYBOARD16460_HTTPREQUESTPATH: [Command.SET_PATH], Capability.VALLEYBOARD16460_INFO: [Command.CLEAR, Command.SET_VALUE], Capability.WATCHDIGIT58804_ACTUALFANSPEED: [Command.SET_ACTUAL_FAN_SPEED], Capability.WATCHDIGIT58804_AUTOMODE: [Command.SET_AUTO_MODE], Capability.WATCHDIGIT58804_ERRORSTRING: [Command.SET_ERROR], Capability.WATCHDIGIT58804_FILTERCHANGENEEDED: [Command.SET_FILTER_CHANGE_NEEDED], Capability.WATCHDIGIT58804_OUTDOORUNITDEFROSTING: [ Command.SET_OUTDOOR_UNIT_DEFROSTING ], Capability.WATCHDIGIT58804_STANDBYMODE: [Command.SET_STANDBY_MODE], Capability.WATCHDIGIT58804_SYSTEMPREHEATING: [Command.SET_SYSTEM_PREHEATING], Capability.WATCHDIGIT58804_THERMOSTATFANSETTING: [ Command.SET_THERMOSTAT_FAN_SETTING ], Capability.WATCHPANEL55613_LCCTHERMOSTAT: [], Capability.WATCHPANEL55613_TCCTHERMOSTAT: [], } pySmartThings-pysmartthings-71aec67/src/pysmartthings/const.py000066400000000000000000000003141511701743400250630ustar00rootroot00000000000000"""Define consts for the pysmartthings package.""" import logging API_BASE = "api.smartthings.com" # Version required to use SSE API_VERSION = 20250122 LOGGER = logging.getLogger(__package__) pySmartThings-pysmartthings-71aec67/src/pysmartthings/exceptions.py000066400000000000000000000030011511701743400261120ustar00rootroot00000000000000"""Asynchronous Python client for SmartThings.""" from pysmartthings.models import ErrorDetails, ErrorResponse class SmartThingsError(Exception): """Generic exception.""" class SmartThingsConnectionError(SmartThingsError): """SmartThings connection exception.""" class SmartThingsAuthenticationFailedError(SmartThingsError): """SmartThings authentication failed exception.""" class SmartThingsNotFoundError(SmartThingsError): """SmartThings not found exception.""" class SmartThingsRateLimitError(SmartThingsError): """SmartThings rate limit exception.""" class SmartThingsSinkError(SmartThingsError): """SmartThings sink exception.""" class SmartThingsForbiddenError(SmartThingsError): """SmartThings forbidden exception.""" class SmartThingsCommandError(SmartThingsError): """SmartThings command exception.""" def __init__(self, error: ErrorResponse) -> None: """Create a new instance of the command error.""" super().__init__(self.to_string(error)) def to_string(self, error: ErrorResponse) -> str: """Get the string representation of the error.""" res = self.__class__.__name__ res += f" ({error.error.code}, {error.error.message})" return serial(res, error.error) def serial(res2: str, error2: ErrorDetails) -> str: """Serialize error details.""" for detail in error2.details: res2 += f" -> {detail.code}: {detail.message}" if detail.details: res2 = serial(res2, detail) return res2 pySmartThings-pysmartthings-71aec67/src/pysmartthings/models.py000066400000000000000000000447131511701743400252330ustar00rootroot00000000000000"""Models for SmartThings API.""" from __future__ import annotations from dataclasses import dataclass, field from datetime import datetime # noqa: TC003 from enum import StrEnum from typing import Any from mashumaro import field_options from mashumaro.mixins.orjson import DataClassORJSONMixin from .attribute import Attribute from .capability import Capability from .const import LOGGER ALREADY_LOGGED_CAPABILITIES = set() @dataclass class InstalledApp(DataClassORJSONMixin): """Installed app model.""" installed_app_id: str = field(metadata=field_options(alias="installedAppId")) location_id: str = field(metadata=field_options(alias="locationId")) app_id: str = field(metadata=field_options(alias="appId")) display_name: str | None = field( metadata=field_options(alias="displayName"), default=None ) @dataclass class BaseLocation(DataClassORJSONMixin): """Base location model.""" location_id: str = field(metadata=field_options(alias="locationId")) name: str @dataclass class Location(BaseLocation): """Location model.""" country_code: str = field(metadata=field_options(alias="countryCode")) latitude: float longitude: float region_radius: int = field(metadata=field_options(alias="regionRadius")) temperature_scale: str = field(metadata=field_options(alias="temperatureScale")) @dataclass class Room(DataClassORJSONMixin): """Room model.""" room_id: str = field(metadata=field_options(alias="roomId")) location_id: str = field(metadata=field_options(alias="locationId")) name: str class MatterProvisioningState(StrEnum): """Matter provisioning state.""" PROVISIONED = "PROVISIONED" TYPED = "TYPED" DRIVER_SWITCH = "DRIVER_SWITCH" NONFUNCTIONAL = "NONFUNCTIONAL" class MatterListeningType(StrEnum): """Matter listening type.""" ALWAYS = "ALWAYS" SLEEPY = "SLEEPY" class MatterSupportedNetworkInterfaces(StrEnum): """Matter supported network interfaces.""" THREAD = "THREAD" WIFI = "WIFI" ETHERNET = "ETHERNET" class DeviceType(StrEnum): """Device type.""" BLE = "BLE" BLE_D2D = "BLE_D2D" DTH = "DTH" ENDPOINT_APP = "ENDPOINT_APP" GROUP = "GROUP" HUB = "HUB" IR = "IR" IR_OCF = "IR_OCF" LAN = "LAN" MATTER = "MATTER" MOBILE = "MOBILE" MQTT = "MQTT" OCF = "OCF" PENGYOU = "PENGYOU" SAFER = "SAFER" SHP = "SHP" VIDEO = "VIDEO" VIPER = "VIPER" VIRTUAL = "VIRTUAL" WATCH = "WATCH" ZIGBEE = "ZIGBEE" ZWAVE = "ZWAVE" EDGE_CHILD = "EDGE_CHILD" class DeviceNetworkType(StrEnum): """Device network type.""" ZWAVE = "ZWAVE" class Category(StrEnum): """Category model.""" AIR_CONDITIONER = "AirConditioner" AIR_PURIFIER = "AirPurifier" AIR_QUALITY_DETECTOR = "AirQualityDetector" AIR_QUALITY_DETECTOR_2 = "Air Quality Detector" BATTERY = "Battery" BED = "Bed" BIDET = "Bidet" BLIND = "Blind" BLU_RAY_PLAYER = "BluRayPlayer" BLUETOOTH_CAR_SPEAKER = "BluetoothCarSpeaker" BLUETOOTH_TRACKER = "BluetoothTracker" BRIDGES = "Bridges" BUTTON = "Button" CAMERA = "Camera" CAR = "Car" CHARGER = "Charger" CLOTHING_CARE_MACHINE = "ClothingCareMachine" COFFEE_MAKER = "CoffeeMaker" CONTACT_SENSOR = "ContactSensor" COOKTOP = "Cooktop" CUBE_REFRIGERATOR = "CubeRefrigerator" CURB_POWER_METER = "CurbPowerMeter" DEHUMIDIFIER = "Dehumidifier" DISHWASHER = "Dishwasher" DOOR = "Door" DOOR_BELL = "DoorBell" DRYER = "Dryer" EARBUDS = "Earbuds" ELEVATOR = "Elevator" FAN = "Fan" FEEDER = "Feeder" FITNESS_MAT = "FitnessMat" FLASHLIGHT = "Flashlight" GARAGE_DOOR = "GarageDoor" GAS_VALVE = "GasValve" GAS_METER = "GasMeter" GENERIC_SENSOR = "GenericSensor" HEALTH_TRACKER = "HealthTracker" HEATED_MATTRESS_PAD = "Heatedmattresspad" HOME_THEATER = "HomeTheater" HUB = "Hub" HUMIDIFIER = "Humidifier" HUMIDITY_SENSOR = "HumiditySensor" IR_REMOTE = "IrRemote" IRRIGATION = "Irrigation" KIMCHI_REFRIGERATOR = "KimchiRefrigerator" KITCHEN_HOOD = "KitchenHood" LEAK_SENSOR = "LeakSensor" LIGHT = "Light" LIGHT_SENSOR = "LightSensor" MICRO_FIBER_FILTER = "MicroFiberFilter" MICROWAVE = "Microwave" MOBILE = "Mobile" MOBILE_PRESENCE = "MobilePresence" MOTION_SENSOR = "MotionSensor" MULTI_FUNCTIONAL_SENSOR = "MultiFunctionalSensor" NETWORK_AUDIO = "NetworkAudio" NETWORKING = "Networking" OTHER = "Other" OTHERS = "Others" OVEN = "Oven" POWER_MEASUREMENT_SENSOR = "PowerMeasurementSensor" POWER_METER = "PowerMeter" PRESENCE_SENSOR = "PresenceSensor" PRESENCE_SENSOR_2 = "Presence Sensor" PRINTER = "Printer" PRINTER_MULTI_FUNCTION = "PrinterMultiFunction" PROJECTOR = "Projector" PUMP = "Pump" RAIN_SENSOR = "RainSensor" RANGE = "Range" RECEIVER = "Receiver" REFRIGERATOR = "Refrigerator" REMOTE_CONTROLLER = "RemoteController" RICE_COOKER = "RiceCooker" ROBOT_CLEANER = "RobotCleaner" SCALE_TO_MEASURE_MASS_OF_HUMAN_BODY = "ScaleToMeasureMassOfHumanBody" SCANNER = "Scanner" SECURITY_PANEL = "SecurityPanel" SET_TOP = "SetTop" SHADE = "Shade" SHOES_CARE_MACHINE = "ShoesCareMachine" SHOWER = "Shower" SIREN = "Siren" SMART_LOCK = "SmartLock" SMART_MONITOR = "SmartMonitor" SMART_PLUG = "SmartPlug" SMOKE_DETECTOR = "SmokeDetector" SMOKE_DETECTOR_2 = "Smoke Detector" SOLAR_PANEL = "SolarPanel" SOUND_SENSOR = "SoundSensor" SOUND_MACHINE = "SoundMachine" SPEAKER = "Speaker" STICK_VACUUM_CLEANER = "StickVacuumCleaner" STORAGE = "Storage" STOVE = "Stove" SWITCH = "Switch" TELEVISION = "Television" TEMP_HUMIDITY_SENSOR = "TempHumiditySensor" TEMP_SENSOR = "TempSensor" THERMOSTAT = "Thermostat" TRACKER = "Tracker" UPNP_MEDIA_RENDERER = "UPnPMediaRenderer" VENT = "Vent" VISION_SENSOR = "VisionSensor" VOICE_ASSISTANCE = "VoiceAssistance" WASHER = "Washer" WATER_FREEZER_DETECTOR = "WaterFreezeDetector" WATER_HEATER = "WaterHeater" WATER_VALVE = "WaterValve" WATER_PURIFIER = "WaterPurifier" WEATHER_STATION = "WeatherStation" WIFI_ROUTER = "WiFiRouter" WINDOW = "Window" WINE_CELLAR = "WineCellar" @dataclass class Component(DataClassORJSONMixin): """Component model.""" id: str capabilities: list[Capability | str] manufacturer_category: Category | str label: str | None = None user_category: Category | str | None = None @classmethod def __pre_deserialize__(cls, d: dict[str, Any]) -> dict[str, Any]: """Pre deserialize hook.""" d["capabilities"] = [c["id"] for c in d["capabilities"]] for cat in d["categories"]: if (category := cat["name"]) not in Category: LOGGER.error( "Unknown category `%s`. Please raise an issue at https://github.com/pySmartThings/pysmartthings.", category, ) if cat["categoryType"] == "manufacturer": d["manufacturer_category"] = category else: d["user_category"] = category return d @dataclass class OCF(DataClassORJSONMixin): """OCF model.""" device_type: str = field(metadata=field_options(alias="ocfDeviceType")) manufacturer_name: str = field(metadata=field_options(alias="manufacturerName")) vendor_id: str = field(metadata=field_options(alias="vendorId")) last_signup: str = field(metadata=field_options(alias="lastSignupTime")) transfer_candidate: bool = field(metadata=field_options(alias="transferCandidate")) additional_auth_code_required: bool = field( metadata=field_options(alias="additionalAuthCodeRequired") ) spec_version: str | None = field( metadata=field_options(alias="specVersion"), default=None ) spec_version_vertical: str | None = field( metadata=field_options(alias="verticalDomainSpecVersion"), default=None ) name: str | None = None model_number: str | None = field( metadata=field_options(alias="modelNumber"), default=None ) platform_version: str | None = field( metadata=field_options(alias="platformVersion"), default=None ) platform_os: str | None = field( metadata=field_options(alias="platformOS"), default=None ) hardware_version: str | None = field( metadata=field_options(alias="hwVersion"), default=None ) firmware_version: str | None = field( metadata=field_options(alias="firmwareVersion"), default=None ) model_code: str | None = field( metadata=field_options(alias="modelCode"), default=None ) @classmethod def __post_deserialize__(cls, obj: OCF) -> OCF: """Post deserialize hook.""" if obj.model_code in {"", "NONE"}: obj.model_code = None return obj @dataclass class Matter(DataClassORJSONMixin): """Matter model.""" driver_id: str = field(metadata=field_options(alias="driverId")) hub_id: str = field(metadata=field_options(alias="hubId")) provisioning_state: MatterProvisioningState = field( metadata=field_options(alias="provisioningState") ) network_id: str = field(metadata=field_options(alias="networkId")) executing_locally: bool = field(metadata=field_options(alias="executingLocally")) supported_network_interfaces: list[MatterSupportedNetworkInterfaces] = field( metadata=field_options(alias="supportedNetworkInterfaces"), default_factory=list ) unique_id: str | None = field( metadata=field_options(alias="uniqueId"), default=None ) vendor_id: int | None = field( metadata=field_options(alias="vendorId"), default=None ) product_id: int | None = field( metadata=field_options(alias="productId"), default=None ) serial_number: str | None = field( metadata=field_options(alias="serialNumber"), default=None ) listening_type: MatterListeningType | None = field( metadata=field_options(alias="listeningType"), default=None ) hardware_version: str | None = field( metadata=field_options(alias="hardwareVersion"), default=None ) software_version: str | None = field( metadata=field_options(alias="softwareVersion"), default=None ) @classmethod def __pre_deserialize__(cls, d: dict[str, Any]) -> dict[str, Any]: """Pre deserialize hook.""" d["hardwareVersion"] = d.get("version", {}).get("hardwareLabel") d["softwareVersion"] = d.get("version", {}).get("softwareLabel") return d @dataclass class Viper(DataClassORJSONMixin): """Viper model.""" manufacturer_name: str = field(metadata=field_options(alias="manufacturerName")) model_name: str = field(metadata=field_options(alias="modelName")) hardware_version: str | None = field( metadata=field_options(alias="hwVersion"), default=None ) software_version: str | None = field( metadata=field_options(alias="swVersion"), default=None ) @dataclass class Hub(DataClassORJSONMixin): """Hub model.""" firmware_version: str = field(metadata=field_options(alias="firmwareVersion")) hardware_type: str = field(metadata=field_options(alias="hardwareType")) mac_address: str | None = field(metadata=field_options(alias="macAddress")) @classmethod def __pre_deserialize__(cls, d: dict[str, Any]) -> dict[str, Any]: """Pre deserialize hook.""" return { **d, "hardwareType": d["hubData"]["hardwareType"], "macAddress": d["hubData"].get("macAddress"), } @dataclass class Device(DataClassORJSONMixin): """Device model.""" device_id: str = field(metadata=field_options(alias="deviceId")) name: str label: str location_id: str = field(metadata=field_options(alias="locationId")) type: DeviceType components: dict[str, Component] parent_device_id: str | None = field( metadata=field_options(alias="parentDeviceId"), default=None ) device_network_type: DeviceNetworkType | None = field( metadata=field_options(alias="deviceNetworkType"), default=None ) device_type_id: str | None = field( metadata=field_options(alias="deviceTypeId"), default=None ) device_type_name: str | None = field( metadata=field_options(alias="deviceTypeName"), default=None ) device_manufacturer_code: str | None = field( metadata=field_options(alias="deviceManufacturerCode"), default=None ) room_id: str | None = field(metadata=field_options(alias="roomId"), default=None) ocf: OCF | None = None viper: Viper | None = None hub: Hub | None = None matter: Matter | None = None @classmethod def __pre_deserialize__(cls, d: dict[str, Any]) -> dict[str, Any]: """Pre deserialize hook.""" d["components"] = {component["id"]: component for component in d["components"]} return d @dataclass class Scene(DataClassORJSONMixin): """Scene model.""" scene_id: str = field(metadata=field_options(alias="sceneId")) name: str = field(metadata=field_options(alias="sceneName")) location_id: str = field(metadata=field_options(alias="locationId")) icon: str = field(metadata=field_options(alias="sceneIcon")) color: str | None = field(metadata=field_options(alias="sceneColor"), default=None) @dataclass class Status(DataClassORJSONMixin): """Status model.""" value: str | int | float | dict[str, Any] | list[Any] | None unit: str | None = None data: dict[str, Any] | None = None timestamp: datetime | None = None @dataclass class DeviceStatus(DataClassORJSONMixin): """Device status model.""" components: dict[str, ComponentStatus] @classmethod def __post_deserialize__(cls, obj: DeviceStatus) -> DeviceStatus: """Make sure we let the user know about unknown capabilities.""" for component in obj.components.values(): for capability in component: if ( capability not in Capability and capability not in ALREADY_LOGGED_CAPABILITIES ): ALREADY_LOGGED_CAPABILITIES.add(capability) LOGGER.warning( "Unknown capability %s. Please raise an issue at https://github.com/pySmartThings/pysmartthings.", capability, ) return obj @dataclass class LocationResponse(DataClassORJSONMixin): """Location response model.""" items: list[BaseLocation] @dataclass class RoomResponse(DataClassORJSONMixin): """Room response model.""" items: list[Room] @dataclass class DeviceResponse(DataClassORJSONMixin): """Device response model.""" items: list[Device] next_link: str | None @classmethod def __pre_deserialize__(cls, d: dict[str, Any]) -> dict[str, Any]: """Pre deserialize hook.""" return { **d, "next_link": d.get("_links", {}).get("next", {}).get("href"), } @dataclass class SceneResponse(DataClassORJSONMixin): """Scene response model.""" items: list[Scene] @dataclass class ErrorResponse(DataClassORJSONMixin): """Error response model.""" request_id: str = field(metadata=field_options(alias="requestId")) error: ErrorDetails @dataclass class ErrorDetails: """Error details model.""" code: str message: str details: list[ErrorDetails] target: str | None = field(default=None) @dataclass class Subscription(DataClassORJSONMixin): """Subscription model.""" subscription_id: str = field(metadata=field_options(alias="subscriptionId")) registration_url: str = field(metadata=field_options(alias="registrationUrl")) name: str @dataclass class DeviceEvent(DataClassORJSONMixin): """Device event model.""" event_id: str = field(metadata=field_options(alias="eventId")) location_id: str = field(metadata=field_options(alias="locationId")) owner_id: str = field(metadata=field_options(alias="ownerId")) device_id: str = field(metadata=field_options(alias="deviceId")) component_id: str = field(metadata=field_options(alias="componentId")) capability: Capability | str attribute: Attribute | str value: str | int | float | dict[str, Any] | list[Any] | None data: dict[str, Any] | None = None @dataclass class Event(DataClassORJSONMixin): """Event model.""" event_time: int = field(metadata=field_options(alias="eventTime")) event_type: str = field(metadata=field_options(alias="eventType")) class Lifecycle(StrEnum): """Lifecycle model.""" CREATE = "CREATE" UPDATE = "UPDATE" DELETE = "DELETE" ROOM_MOVE = "ROOM_MOVE" @dataclass class DeviceLifecycleEvent(DataClassORJSONMixin): """Device lifecycle event model.""" lifecycle: Lifecycle device_id: str = field(metadata=field_options(alias="deviceId")) location_id: str = field(metadata=field_options(alias="locationId")) @dataclass class DeviceEventRoot(Event): """Device event root model.""" device_event: DeviceEvent = field(metadata=field_options(alias="deviceEvent")) @dataclass class DeviceLifecycleEventRoot(Event): """Device lifecycle event root model.""" device_lifecycle_event: DeviceLifecycleEvent = field( metadata=field_options(alias="deviceLifecycleEvent") ) class HealthStatus(StrEnum): """Health status model.""" ONLINE = "ONLINE" OFFLINE = "OFFLINE" UNHEALTHY = "UNHEALTHY" @dataclass class DeviceHealthEvent: """Device health event model.""" device_id: str = field(metadata=field_options(alias="deviceId")) location_id: str = field(metadata=field_options(alias="locationId")) status: HealthStatus @dataclass class DeviceHealthEventRoot(Event): """Device health event root model.""" device_health_event: DeviceHealthEvent = field( metadata=field_options(alias="deviceHealthEvent") ) class EventType(StrEnum): """Event type.""" CONTROL_EVENT = "CONTROL_EVENT" DEVICE_EVENT = "DEVICE_EVENT" DEVICE_LIFECYCLE_EVENT = "DEVICE_LIFECYCLE_EVENT" DEVICE_HEALTH_EVENT = "DEVICE_HEALTH_EVENT" @dataclass class DeviceHealth(DataClassORJSONMixin): """Device health model.""" device_id: str = field(metadata=field_options(alias="deviceId")) state: HealthStatus last_updated_date: datetime = field(metadata=field_options(alias="lastUpdatedDate")) type CapabilityStatus = dict[Attribute | str, Status] type ComponentStatus = dict[Capability | str, CapabilityStatus] pySmartThings-pysmartthings-71aec67/src/pysmartthings/py.typed000066400000000000000000000000001511701743400250520ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/src/pysmartthings/smartthings.py000066400000000000000000000635531511701743400263160ustar00rootroot00000000000000"""Define the SmartThings Cloud API.""" from __future__ import annotations import asyncio from dataclasses import dataclass, field from typing import TYPE_CHECKING, Any, Self, cast from aiohttp import ClientConnectionError, ClientError, ClientSession, ClientTimeout from aiohttp.hdrs import METH_DELETE, METH_GET, METH_POST, METH_PUT from aiohttp_sse_client2.client import EventSource import orjson from yarl import URL from .const import API_BASE, API_VERSION, LOGGER from .exceptions import ( SmartThingsAuthenticationFailedError, SmartThingsCommandError, SmartThingsConnectionError, SmartThingsForbiddenError, SmartThingsSinkError, ) from .models import ( BaseLocation, Device, DeviceEvent, DeviceEventRoot, DeviceHealth, DeviceHealthEvent, DeviceHealthEventRoot, DeviceLifecycleEventRoot, DeviceResponse, DeviceStatus, ErrorResponse, EventType, InstalledApp, Lifecycle, Location, LocationResponse, Room, RoomResponse, Scene, SceneResponse, Status, Subscription, ) if TYPE_CHECKING: from collections.abc import Awaitable, Callable from .attribute import Attribute from .capability import Capability from .command import Command @dataclass class SmartThings: """Define a class for interacting with the SmartThings Cloud API.""" request_timeout: int = 10 _close_session: bool = False _token: str | None = None session: ClientSession | None = None refresh_token_function: Callable[[], Awaitable[str]] | None = None new_subscription_id_callback: Callable[[str | None], None] | None = None max_connections_reached_callback: Callable[[], None] | None = None __capability_event_listeners: dict[ tuple[str, str, Capability | str], list[Callable[[DeviceEvent], None]], ] = field(default_factory=dict) __unspecified_device_event_listeners: list[Callable[[DeviceEvent], None]] = field( default_factory=list ) __device_event_listeners: dict[str, list[Callable[[DeviceEvent], None]]] = field( default_factory=dict ) __device_availability_event_listeners: dict[ str, list[Callable[[DeviceHealthEvent], None]] ] = field(default_factory=dict) __device_lifecycle_event_listeners: dict[Lifecycle, list[Callable[[str], None]]] = ( field(default_factory=dict) ) __retry_count: int = 0 async def refresh_token(self) -> None: """Refresh token with provided function.""" if self.refresh_token_function: self._token = await self.refresh_token_function() def authenticate(self, token: str) -> None: """Authenticate the user with a token.""" self._token = token def _get_headers(self) -> dict[str, str]: """Get headers for requests.""" return { "Authorization": f"Bearer {self._token}", } async def _request( self, method: str, uri: str, *, data: dict[str, Any] | None = None, params: dict[str, Any] | None = None, ) -> str: """Handle a request to SmartThings.""" url = URL.build( scheme="https", host=API_BASE, port=443, ).joinpath(uri) await self.refresh_token() headers = { "Accept": f"application/vnd.smartthings+json;v={API_VERSION}", **self._get_headers(), } return await self.__internal_request( method, url, headers, data=data, params=params ) async def __internal_request( self, method: str, url: URL, headers: dict[str, str], data: dict[str, Any] | None = None, params: dict[str, Any] | None = None, ) -> str: if self.session is None: self.session = ClientSession() self._close_session = True try: async with asyncio.timeout(self.request_timeout): response = await self.session.request( method, url, headers=headers, json=data, params=params, ) except asyncio.TimeoutError as exception: msg = "Timeout occurred while connecting to SmartThings" raise SmartThingsConnectionError(msg) from exception except ClientConnectionError as exception: msg = "Error occurred while connecting to SmartThings" raise SmartThingsConnectionError(msg) from exception text = await response.text() if response.status == 401: msg = "Authentication failed with SmartThings" raise SmartThingsAuthenticationFailedError(msg) if response.status == 403: msg = "Forbidden" raise SmartThingsForbiddenError(msg) if response.status in {409, 422}: raise SmartThingsCommandError(ErrorResponse.from_json(text)) return text async def _get(self, uri: str, params: dict[str, Any] | None = None) -> str: """Handle a GET request to SmartThings.""" return await self._request(METH_GET, uri, params=params) async def _post( self, uri: str, data: dict[str, Any] | None = None, params: dict[str, Any] | None = None, ) -> str: """Handle a POST request to SmartThings.""" return await self._request(METH_POST, uri, data=data, params=params) async def _put( self, uri: str, data: dict[str, Any] | None = None, params: dict[str, Any] | None = None, ) -> str: """Handle a PUT request to SmartThings.""" return await self._request(METH_PUT, uri, data=data, params=params) async def _delete( self, uri: str, data: dict[str, Any] | None = None, params: dict[str, Any] | None = None, ) -> str: """Handle a DELETE request to SmartThings.""" return await self._request(METH_DELETE, uri, data=data, params=params) async def get_locations(self) -> list[BaseLocation]: """Retrieve SmartThings locations.""" resp = await self._get("v1/locations") return LocationResponse.from_json(resp).items async def get_location(self, location_id: str) -> Location: """Retrieve a location with the specified ID.""" resp = await self._get(f"v1/locations/{location_id}") return Location.from_json(resp) async def get_rooms(self, location_id: str) -> list[Room]: """Retrieve a list of rooms for a location.""" resp = await self._get(f"v1/locations/{location_id}/rooms") return RoomResponse.from_json(resp).items async def get_room(self, location_id: str, room_id: str) -> Room: """Retrieve a specific room.""" resp = await self._get(f"v1/locations/{location_id}/rooms/{room_id}") return Room.from_json(resp) async def _get_devices( self, *, capabilities: list[Capability] | None = None, location_ids: list[str] | None = None, device_ids: list[str] | None = None, max_results: int | None = None, page: int | None = None, ) -> str: """Retrieve SmartThings devices.""" params: dict[str, Any] = {} if capabilities: params["capability"] = ",".join(capabilities) if location_ids: params["locationId"] = ",".join(location_ids) if device_ids: params["deviceId"] = ",".join(device_ids) if max_results: params["max"] = max_results if page: params["page"] = page return await self._get("v1/devices", params=params) async def get_devices( self, *, capabilities: list[Capability] | None = None, location_ids: list[str] | None = None, device_ids: list[str] | None = None, ) -> list[Device]: """Retrieve SmartThings devices.""" devices = [] resp = DeviceResponse.from_json( await self._get_devices( capabilities=capabilities, location_ids=location_ids, device_ids=device_ids, ) ) devices.extend(resp.items) while resp.next_link: url = URL(resp.next_link) resp = DeviceResponse.from_json( await self._get_devices( capabilities=capabilities, location_ids=location_ids, device_ids=device_ids, max_results=int(url.query["max"]), page=int(url.query["page"]), ) ) devices.extend(resp.items) return devices async def get_raw_devices(self) -> list[dict[str, Any]]: """Retrieve SmartThings devices.""" resp = orjson.loads(await self._get_devices()) # pylint: disable=no-member response = [resp] next_page_url = resp.get("_links", {}).get("next", {}).get("href") while next_page_url: url = URL(next_page_url) resp = orjson.loads( # pylint: disable=no-member await self._get_devices( max_results=int(url.query["max"]), page=int(url.query["page"]) ) ) response.append(resp) next_page_url = resp.get("_links", {}).get("next", {}).get("href") return response async def _get_device(self, device_id: str) -> str: """Retrieve a device with the specified ID.""" return await self._get(f"v1/devices/{device_id}") async def get_device(self, device_id: str) -> Device: """Retrieve a device with the specified ID.""" resp = await self._get_device(device_id) return Device.from_json(resp) async def get_raw_device(self, device_id: str) -> dict[str, Any]: """Retrieve a device with the specified ID.""" return cast("dict[str, Any]", orjson.loads(await self._get_device(device_id))) # pylint: disable=no-member async def get_scenes(self, location_id: str | None = None) -> list[Scene]: """Retrieve SmartThings scenes.""" params = {} if location_id: params["locationId"] = location_id resp = await self._get("v1/scenes", params=params) return SceneResponse.from_json(resp).items async def get_device_health(self, device_id: str) -> DeviceHealth: """Retrieve device health with the specified ID.""" resp = await self._get(f"v1/devices/{device_id}/health") return DeviceHealth.from_json(resp) async def execute_scene(self, scene_id: str) -> None: """Execute the scene with the specified ID.""" await self._post(f"v1/scenes/{scene_id}/execute") async def _get_device_status(self, device_id: str) -> str: """Retrieve the status of a device.""" return await self._get(f"v1/devices/{device_id}/status") async def get_device_status( self, device_id: str ) -> dict[str, dict[Capability | str, dict[Attribute | str, Status]]]: """Retrieve the status of a device.""" resp = await self._get_device_status(device_id) return DeviceStatus.from_json(resp).components async def get_raw_device_status(self, device_id: str) -> dict[str, Any]: """Retrieve the status of a device.""" resp = await self._get_device_status(device_id) return cast("dict[str, Any]", orjson.loads(resp)) # pylint: disable=no-member async def get_capability(self, capability: Capability | str) -> str: """Retrieve the capability schema.""" return await self._get(f"v1/capabilities/{capability}/1") async def delete_smart_app( self, personal_access_token: str, smart_app_id: str ) -> None: """Delete a SmartApp.""" url = URL.build( scheme="https", host=API_BASE, port=443, ).joinpath(f"v1/apps/{smart_app_id}") headers = { "Accept": f"application/vnd.smartthings+json;v={API_VERSION}", "Authorization": f"Bearer {personal_access_token}", } await self.__internal_request(METH_DELETE, url, headers) async def get_installed_app( self, personal_access_token: str, installed_app_id: str ) -> InstalledApp: """Retrieve an installed SmartApp.""" url = URL.build( scheme="https", host=API_BASE, port=443, ).joinpath(f"v1/installedapps/{installed_app_id}") headers = { "Accept": f"application/vnd.smartthings+json;v={API_VERSION}", "Authorization": f"Bearer {personal_access_token}", } resp = await self.__internal_request(METH_GET, url, headers) return InstalledApp.from_json(resp) async def delete_installed_app( self, personal_access_token: str, installed_app_id: str ) -> None: """Delete an installed SmartApp.""" url = URL.build( scheme="https", host=API_BASE, port=443, ).joinpath(f"v1/installedapps/{installed_app_id}") headers = { "Accept": f"application/vnd.smartthings+json;v={API_VERSION}", "Authorization": f"Bearer {personal_access_token}", } await self.__internal_request(METH_DELETE, url, headers) async def execute_device_command( self, device_id: str, capability: Capability, command: Command, component: str = "main", argument: int | str | list[Any] | dict[str, Any] | None = None, ) -> None: """Execute a command on a device.""" command_payload: dict[str, Any] = { "component": component, "capability": capability, "command": command, } if argument is not None: command_payload["arguments"] = ( argument if isinstance(argument, list) else [argument] ) LOGGER.debug("Executing command for device %s: %s", device_id, command_payload) response = await self._post( f"v1/devices/{device_id}/commands", data={"commands": [command_payload]}, ) LOGGER.debug("Command response: %s", response) def add_unspecified_device_event_listener( self, callback: Callable[[DeviceEvent], None] ) -> Callable[[], None]: """Add a listener for unspecified device events.""" self.__unspecified_device_event_listeners.append(callback) return lambda: self.__unspecified_device_event_listeners.remove(callback) def add_device_lifecycle_event_listener( self, lifecycle_event: Lifecycle, callback: Callable[[str], None] ) -> Callable[[], None]: """Add a listener for device lifecycle events.""" if lifecycle_event not in self.__device_lifecycle_event_listeners: self.__device_lifecycle_event_listeners[lifecycle_event] = [] self.__device_lifecycle_event_listeners[lifecycle_event].append(callback) return lambda: self.__device_lifecycle_event_listeners[lifecycle_event].remove( callback ) def add_device_capability_event_listener( self, device_id: str, component_id: str, capability: Capability | str, callback: Callable[[DeviceEvent], None], ) -> Callable[[], None]: """Add a listener for device events.""" key = (device_id, component_id, capability) if key not in self.__capability_event_listeners: self.__capability_event_listeners[key] = [] self.__capability_event_listeners[key].append(callback) return lambda: self.__capability_event_listeners[key].remove(callback) def add_device_event_listener( self, device_id: str, callback: Callable[[DeviceEvent], None] ) -> Callable[[], None]: """Add a listener for device events.""" if device_id not in self.__device_event_listeners: self.__device_event_listeners[device_id] = [] self.__device_event_listeners[device_id].append(callback) return lambda: self.__device_event_listeners[device_id].remove(callback) def add_device_availability_event_listener( self, device_id: str, callback: Callable[[DeviceHealthEvent], None] ) -> Callable[[], None]: """Add a listener for device availability events.""" if device_id not in self.__device_availability_event_listeners: self.__device_availability_event_listeners[device_id] = [] self.__device_availability_event_listeners[device_id].append(callback) return lambda: self.__device_availability_event_listeners[device_id].remove( callback ) async def create_subscription( self, location_id: str, installed_app_id: str ) -> Subscription: """Create a subscription.""" try: resp = await self._post( "subscriptions", data={ "name": "My Home Assistant sub", "version": API_VERSION, "clientDeviceId": f"iapp_{installed_app_id}", "subscriptionFilters": [ { "type": "LOCATIONIDS", "value": [location_id], "eventType": [ EventType.DEVICE_EVENT, EventType.DEVICE_LIFECYCLE_EVENT, EventType.DEVICE_HEALTH_EVENT, ], } ], }, ) except SmartThingsCommandError as err: msg = "Reached limit of subscriptions" raise SmartThingsSinkError(msg) from err return Subscription.from_json(resp) async def _internal_subscribe(self, session: ClientSession, url: str) -> None: # noqa: PLR0912 """Subscribe to events.""" await self.refresh_token() async with EventSource( url, session=session, headers=self._get_headers(), on_open=self.__on_open ) as event_source: async for event in event_source: LOGGER.debug("Received event: %s", event.data) if event.type == EventType.DEVICE_EVENT: event_type = DeviceEventRoot.from_json(event.data) device_event = event_type.device_event try: for callback in self.__unspecified_device_event_listeners: callback(device_event) if device_event.device_id in self.__device_event_listeners: for callback in self.__device_event_listeners[ device_event.device_id ]: callback(device_event) key = ( device_event.device_id, device_event.component_id, device_event.capability, ) if key in self.__capability_event_listeners: for callback in self.__capability_event_listeners[key]: callback(device_event) except Exception: # pylint: disable=broad-except # noqa: BLE001 LOGGER.exception( "Error occurred while processing device event: %s", device_event, ) elif event.type == EventType.DEVICE_LIFECYCLE_EVENT: lifecycle_event = DeviceLifecycleEventRoot.from_json(event.data) device_lifecycle_event = lifecycle_event.device_lifecycle_event if ( device_lifecycle_event.lifecycle in self.__device_lifecycle_event_listeners ): for dle_callback in self.__device_lifecycle_event_listeners[ device_lifecycle_event.lifecycle ]: dle_callback(device_lifecycle_event.device_id) elif event.type == EventType.DEVICE_HEALTH_EVENT: device_health_event = DeviceHealthEventRoot.from_json(event.data) if ( device_health_event.device_health_event.device_id in self.__device_availability_event_listeners ): for dhe_callback in self.__device_availability_event_listeners[ device_health_event.device_health_event.device_id ]: dhe_callback(device_health_event.device_health_event) elif event.type == EventType.CONTROL_EVENT: if event.data in {"goodbye", "goobye"}: LOGGER.debug("Received goodbye event, closing connection") break def __on_open(self) -> None: """Handle the opening of the connection.""" LOGGER.debug("Connection opened") self.__retry_count = 0 async def subscribe( # noqa: PLR0915 # pylint: disable=too-many-statements self, location_id: str, installed_app_id: str, initial_subscription: Subscription | None = None, ) -> None: """Create a subscription.""" self.__retry_count = 0 using_initial = initial_subscription is not None timeout = ClientTimeout( total=None, connect=None, sock_connect=None, sock_read=120 ) async with ClientSession(timeout=timeout) as session: while True: try: if using_initial: assert initial_subscription is not None # noqa: S101 LOGGER.debug( "Using initial subscription: %s", initial_subscription ) subscription_id = initial_subscription.subscription_id subscription_url = initial_subscription.registration_url else: subscription = await self.create_subscription( location_id, installed_app_id ) subscription_id = subscription.subscription_id subscription_url = subscription.registration_url LOGGER.debug("Subscription created: %s", subscription) if self.new_subscription_id_callback: self.new_subscription_id_callback(subscription_id) await self._internal_subscribe(session, subscription_url) using_initial = False await self.delete_subscription(subscription_id) except SmartThingsSinkError: # noqa: PERF203 # This is only triggered by creating a new one # So we don't have an active one and thus don't have to delete one if self.max_connections_reached_callback: self.max_connections_reached_callback() break except (ClientError, ConnectionError): msg = "Connection error occurred while subscribing to events" LOGGER.exception(msg) await asyncio.sleep(2**self.__retry_count) self.__retry_count += 1 try: await self.delete_subscription(subscription_id) except SmartThingsConnectionError: LOGGER.debug("Connection error while deleting subscription") if self.max_connections_reached_callback: self.max_connections_reached_callback() using_initial = False except Exception: # pylint: disable=broad-except # noqa: BLE001 msg = "Error occurred while subscribing to events" LOGGER.exception(msg) await asyncio.sleep(2**self.__retry_count) self.__retry_count += 1 try: await self.delete_subscription(subscription_id) except SmartThingsConnectionError: LOGGER.debug("Unknown error while deleting subscription") if self.max_connections_reached_callback: self.max_connections_reached_callback() using_initial = False async def delete_subscription(self, subscription_id: str) -> None: """Delete a subscription.""" LOGGER.debug("Deleting subscription: %s", subscription_id) await self._delete(f"subscriptions/{subscription_id}") if self.new_subscription_id_callback: self.new_subscription_id_callback(None) async def close(self) -> None: """Close open client session.""" if self.session and self._close_session: await self.session.close() async def __aenter__(self) -> Self: """Async enter. Returns ------- The SmartThings object. """ return self async def __aexit__(self, *_exc_info: object) -> None: """Async exit. Args: ---- _exc_info: Exec type. """ await self.close() pySmartThings-pysmartthings-71aec67/tests/000077500000000000000000000000001511701743400210245ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/__init__.py000066400000000000000000000007031511701743400231350ustar00rootroot00000000000000"""Asynchronous Python client for SmartThings.""" from pathlib import Path from typing import Any import orjson def load_fixture(filename: str) -> str: """Load a fixture.""" path = Path(__package__) / "fixtures" / filename return path.read_text(encoding="utf-8") def load_json_fixture(filename: str) -> Any: """Load a JSON fixture.""" return orjson.loads(load_fixture(filename)) # pylint: disable=no-member pySmartThings-pysmartthings-71aec67/tests/__snapshots__/000077500000000000000000000000001511701743400236425ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/__snapshots__/test_device.ambr000066400000000000000000061271611511701743400270210ustar00rootroot00000000000000# serializer version: 1 # name: test_fetching_devices[devices_10] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '6a6954ee-5784-4cce-aac6-fbe010adca07', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Network Audio Player', 'hub': None, 'label': 'Samsung Soundbar S801B', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'Samsung Soundbar S801B', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.networkaudio', 'firmware_version': 'HW-S801BWWB-1010.0', 'hardware_version': '', 'last_signup': '2023-06-11T21:54:49.635578Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'HW-S801B', 'name': 'Samsung Soundbar S801B', 'platform_os': 'Tizen', 'platform_version': '6.5', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-NetworkAudio-002S', }), 'parent_device_id': None, 'room_id': 'bce1d0a8-cd33-4896-a5ad-05f50467c8db', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '16d58af1-86a0-46cd-bf14-d3742119e27c', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Main Bedroom Window Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'multi-sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': 'd855b759-f7d5-4369-b5a2-a154de4b1e14', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '59513635-baa2-463f-bb6a-443f662f3f2a', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Garage Motion Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'motion-battery', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': 'cdf080f0-0542-41d7-a606-aff69683e04c', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'ab7557f0-281d-49e9-a0d7-d838229a49d8', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': "Charlie's Bedroom Window Sensor", 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'multi-sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': '7641a6ce-bb42-4d37-8c94-e8a20a1f8d2c', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '000.055.00005', 'hardware_type': 'V3_HUB', 'mac_address': '28:6D:97:AF:94:78', }), 'label': 'SmartThings v3 Hub', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'SmartThings v3 Hub', 'ocf': None, 'parent_device_id': None, 'room_id': '40dca7a1-3ba7-4e31-be11-2c05292d8605', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Kitchen Door Sensor', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '994ad929-3308-45a1-9ed0-e1cc26021131', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Kitchen Door Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': '2464cde2-4420-4f2b-9af8-95d1f08653a5', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Back Door Sensor', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '333b4955-5f0d-4a87-8ad8-9fe32607e1fb', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Back Door Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': 'bce1d0a8-cd33-4896-a5ad-05f50467c8db', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Garage Back Door Sensor', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '7faaac2e-d889-4141-99f5-493c991ec508', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Garage Back Door Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': 'cdf080f0-0542-41d7-a606-aff69683e04c', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Front Door Sensor', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'c93373db-ffec-49ad-80b8-6880ecad5eb8', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Front Door Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': '52bdaef4-ac6b-4ccf-9e59-fe304bcc72fc', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Front Left Window Sensor', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'eeaa8872-18b2-4626-8f45-cbf8396e7a8f', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Front Left Window Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': '0f611f5c-5164-4a56-9cab-433907debeee', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'fec5fefc-187a-4b07-ac8d-244aa8c448df', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Landing Window Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'multi-sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': 'f7667cb2-aeca-414e-8ea6-a7bee7ccdbb6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '3358b4cc-4a35-49ad-8bf9-95803d044408', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Rabbit House Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'motion-temp-battery', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': 'ea75d25c-881b-4e39-967e-c0a3101cfa5e', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '25bd5c0e-23bf-402c-a2f3-a8c34bf656b1', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Kitchen Window Sensor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'multi-sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': '2464cde2-4420-4f2b-9af8-95d1f08653a5', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '493837dc-c9a0-4ab2-9610-1b46e3c668c3', 'device_manufacturer_code': 'Samjin', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': "Girl's Bedroom Window Sensor", 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'multi-sensor', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': 'ebd35c19-c180-4d7d-9bcb-95279f74d7ad', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'b4d20b8f-ae23-8a6d-9db2-4c9d8db2c615', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF TV', 'hub': None, 'label': 'Samsung QN95CA 55', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'Samsung QN95CA 55', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.tv', 'firmware_version': 'T-PTMCDEUC-0080-2013.1|ST_ENERGY', 'hardware_version': '', 'last_signup': '2023-06-16T10:53:52.162548Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'QE55QN95CATXXU', 'name': 'Samsung QN95CA 55', 'platform_os': 'Tizen', 'platform_version': '8.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-STV-2023', }), 'parent_device_id': None, 'room_id': '0f611f5c-5164-4a56-9cab-433907debeee', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '01751e21-3609-ec2f-41af-1c8bc8d96c15', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF TV', 'hub': None, 'label': 'Samsung The Frame 55', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'Samsung The Frame 55', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.tv', 'firmware_version': 'T-PTMDEUC-1651.7|ST_ENERGY', 'hardware_version': '', 'last_signup': '2023-06-10T23:08:07.878281Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'QE55LS03BGUXXU', 'name': 'Samsung The Frame 55', 'platform_os': 'Tizen', 'platform_version': '6.5', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-STV-2022', }), 'parent_device_id': None, 'room_id': 'bce1d0a8-cd33-4896-a5ad-05f50467c8db', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'Meter', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'f0af21a2-d5a1-437c-b10a-b34a87394b71', 'device_manufacturer_code': '0086-0002-005F', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Aeotec Energy Monitor', 'location_id': '6911ddf5-f0cb-4516-a06a-3a2a6ec22bca', 'matter': None, 'name': 'aeotec-home-energy-meter-gen5', 'ocf': None, 'parent_device_id': '6a2d07a4-dd77-48bc-9acf-017029aaf099', 'room_id': 'cdf080f0-0542-41d7-a606-aff69683e04c', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_11] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'bf4b1167-48a3-4af7-9186-0900a678ffa5', 'device_manufacturer_code': 'Sensibo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Office', 'location_id': 'fe14085e-bacb-4997-bc0c-df08204eaea2', 'matter': None, 'name': 'sensibo-airconditioner-1', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'SKY40147', 'manufacturer_name': 'Sensibo', 'model_name': 'skyplus', 'software_version': 'SKY40147', }), }), dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'b905ade6-4f96-b00e-3292-0703f5866809', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Washer', 'hub': None, 'label': 'Washer', 'location_id': 'fe14085e-bacb-4997-bc0c-df08204eaea2', 'matter': None, 'name': '[washer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.washer', 'firmware_version': 'DA_WM_TP1_21_COMMON_30240927', 'hardware_version': 'Realtek', 'last_signup': '2024-03-07T08:19:55.568142Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_TP1_21_COMMON|20334241|20010002001711664AA3025700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WM-01011', }), 'parent_device_id': None, 'room_id': '023deeb7-c4b9-44a2-ad73-01c7c4d4f80c', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '71526aa9-6457-417a-9bae-b83c87761e6a', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '000.055.00005', 'hardware_type': 'V3_HUB', 'mac_address': '28:6D:97:71:F3:61', }), 'label': 'Garage Hub', 'location_id': 'fe14085e-bacb-4997-bc0c-df08204eaea2', 'matter': None, 'name': 'SmartThings v3 Hub', 'ocf': None, 'parent_device_id': None, 'room_id': 'adc5f7f4-55f2-4df5-b91e-119cd82b3c57', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '148606b0-9c62-417c-8c0a-c6e4ef7ce269', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '000.055.00005', 'hardware_type': 'V3_HUB', 'mac_address': '28:6D:97:71:ED:E5', }), 'label': 'Upstairs Hub', 'location_id': 'fe14085e-bacb-4997-bc0c-df08204eaea2', 'matter': None, 'name': 'SmartThings v3 Hub', 'ocf': None, 'parent_device_id': None, 'room_id': 'd2ae804d-e94f-4235-a09f-3d73f06d5ab4', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Geyser', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'dd7ab462-c277-4aed-a9fb-ec66f9c6cc59', 'device_manufacturer_code': '0086-0003-004E', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Geyser', 'location_id': 'fe14085e-bacb-4997-bc0c-df08204eaea2', 'matter': None, 'name': 'Aeotec Switch', 'ocf': None, 'parent_device_id': '148606b0-9c62-417c-8c0a-c6e4ef7ce269', 'room_id': 'd2ae804d-e94f-4235-a09f-3d73f06d5ab4', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '80d3956d-b94d-4a43-9bad-d3cdc8a9cb1d', 'device_manufacturer_code': 'Sensibo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Main Bedroom', 'location_id': 'fe14085e-bacb-4997-bc0c-df08204eaea2', 'matter': None, 'name': 'sensibo-airconditioner-1', 'ocf': None, 'parent_device_id': None, 'room_id': '8909ddf7-afde-4116-b525-f6a355bf3b7f', 'type': , 'viper': dict({ 'hardware_version': 'SKY30046', 'manufacturer_name': 'Sensibo', 'model_name': 'skyv2', 'software_version': 'SKY30046', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Geyser', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '23a4c0a4-2dae-47d0-b987-cba764414672', 'device_manufacturer_code': '0086-0003-004E', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Geyser', 'location_id': 'fe14085e-bacb-4997-bc0c-df08204eaea2', 'matter': None, 'name': 'Aeotec Switch', 'ocf': None, 'parent_device_id': '71526aa9-6457-417a-9bae-b83c87761e6a', 'room_id': 'adc5f7f4-55f2-4df5-b91e-119cd82b3c57', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '4c08fbf8-f77b-4236-a18b-0bbe7da61ea8', 'device_manufacturer_code': 'Sensibo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': "Harry's room", 'location_id': 'fe14085e-bacb-4997-bc0c-df08204eaea2', 'matter': None, 'name': 'sensibo-airconditioner-1', 'ocf': None, 'parent_device_id': None, 'room_id': 'e9a777d8-c350-4ea2-8b11-62576e4ecfba', 'type': , 'viper': dict({ 'hardware_version': 'SKY30046', 'manufacturer_name': 'Sensibo', 'model_name': 'skyv2', 'software_version': 'SKY30046', }), }), ]) # --- # name: test_fetching_devices[devices_12] list([ dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '62ad169f-f270-b219-a521-1608dea8bf76', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Washer', 'hub': None, 'label': 'Washing machine', 'location_id': '6a446433-a83d-4ede-9c47-f22a0f80b574', 'matter': None, 'name': '[washer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.washer', 'firmware_version': 'DA_WM_TP1_21_COMMON_30240927', 'hardware_version': 'Realtek', 'last_signup': '2023-01-30T23:59:32.300072Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_TP1_21_COMMON|20314341|20010002001611664AA3025700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WM-01011', }), 'parent_device_id': None, 'room_id': '24f7842f-5424-4024-95e0-a4409e3f9d95', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '035a8805-e552-ce47-cf04-411e4644eeb8', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'x.com.st.d.monitor', 'hub': None, 'label': '49" Odyssey OLED G9', 'location_id': '6a446433-a83d-4ede-9c47-f22a0f80b574', 'matter': None, 'name': '49" Odyssey OLED G9', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'x.com.st.d.monitor', 'firmware_version': 'T-OSCSCWWC-2000.2', 'hardware_version': '', 'last_signup': '2024-11-27T14:49:37.112881149Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'LS49CG954SUXXU', 'name': '49" Odyssey OLED G9', 'platform_os': 'Tizen', 'platform_version': '7.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-SMONITOR-2023', }), 'parent_device_id': None, 'room_id': '21af8dce-8b94-4ec1-bbbf-7412c31175f7', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_13] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'd7c54320-6d75-4543-ab1f-9bd105336aae', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '000.055.00005', 'hardware_type': 'V2_HUB', 'mac_address': 'D0:52:A8:54:09:EC', }), 'label': 'Home', 'location_id': 'c4904031-30e5-4920-9ea7-0a768e355b2a', 'matter': None, 'name': 'SmartThings v2 Hub', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '42410e99-63cb-49d0-8f2f-d036f1b3ce66', 'device_manufacturer_code': '0129-6600-0002', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Front Door Lock', 'location_id': 'c4904031-30e5-4920-9ea7-0a768e355b2a', 'matter': None, 'name': 'base-lock', 'ocf': None, 'parent_device_id': 'd7c54320-6d75-4543-ab1f-9bd105336aae', 'room_id': '5cfe905f-0afb-4042-9c00-9889ba1d96d5', 'type': , 'viper': None, }), dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '6486e104-e046-f923-9645-5887ed4375dd', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Washer', 'hub': None, 'label': 'Washing machine', 'location_id': 'c4904031-30e5-4920-9ea7-0a768e355b2a', 'matter': None, 'name': '[washer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.washer', 'firmware_version': 'DA_WM_TP1_21_COMMON_30240927', 'hardware_version': 'Realtek', 'last_signup': '2024-07-02T16:00:12.877393Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_TP1_21_COMMON|20348141|20010002001711024ACB020200080000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WM-01011', }), 'parent_device_id': None, 'room_id': '33e79495-441b-456e-baab-f3962f2b786d', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_14] list([ dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'bc5c7ce0-b54d-2797-062b-b0da64c0ead5', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Washer', 'hub': None, 'label': 'Tvรคttmaskin', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': '[washer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.washer', 'firmware_version': 'DA_WM_TP2_20_COMMON_30230804', 'hardware_version': 'MediaTek', 'last_signup': '2021-07-18T15:39:59.543550Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20260041|20010102001411F702A3020700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WM-000001', }), 'parent_device_id': None, 'room_id': 'a0d57919-07c0-4385-abbd-0c61dee01e67', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '70650a5c-3e57-c66b-8c43-d48d06852948', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF TV', 'hub': None, 'label': 'Samsung QN95AA 75 TV', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': 'Samsung QN95AA 75 TV', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.tv', 'firmware_version': 'T-NKM2DEUC-2220.9', 'hardware_version': '', 'last_signup': '2023-11-21T19:38:22.417421Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'QE75QN95AATXXC', 'name': 'Samsung QN95AA 75 TV', 'platform_os': 'Tizen', 'platform_version': '6.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-STV-2021', }), 'parent_device_id': None, 'room_id': '4ee72ee8-5475-4a64-81eb-4225995aa4bc', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'afcecd0b-a633-baf2-c6b7-da74bf675a7d', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Network Audio Player', 'hub': None, 'label': 'Samsung Soundbar Q950T', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': 'Samsung Soundbar Q950T', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.networkaudio', 'firmware_version': 'HW-Q950TWWB-1022.0', 'hardware_version': '', 'last_signup': '2021-03-16T17:03:48.301555Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'HW-Q950T', 'name': 'Samsung Soundbar Q950T', 'platform_os': 'Tizen', 'platform_version': '5.5', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-NetworkAudio-002S', }), 'parent_device_id': None, 'room_id': '4ee72ee8-5475-4a64-81eb-4225995aa4bc', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '5aeee631-b8f1-ba8d-5d11-58177181b32a', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF TV', 'hub': None, 'label': 'Samsung The Frame 55', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': 'Samsung The Frame 55', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.tv', 'firmware_version': 'T-PTMDEUC-1651.7|ST_ENERGY', 'hardware_version': '', 'last_signup': '2024-05-07T20:33:44.141230Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TQ55LS03BGUXXC', 'name': 'Samsung The Frame 55', 'platform_os': 'Tizen', 'platform_version': '6.5', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-STV-2022', }), 'parent_device_id': None, 'room_id': 'bd362890-6541-49a0-a164-455f8883a5f3', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '2f7f7d2b-e683-48ae-86f7-e57df6a0bce2', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '000.055.00005', 'hardware_type': 'V3_HUB', 'mac_address': '28:6D:97:CF:CE:88', }), 'label': 'Hubb', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': 'SmartThings v3 Hub', 'ocf': None, 'parent_device_id': None, 'room_id': '105e6d1a-52a4-4797-a235-5a48d7d433c8', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'a106da6d-2981-4c39-84c4-5d5b75b4784c', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF TV', 'hub': None, 'label': 'Samsung Q70 Series', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': '[TV] Samsung Q70 Series (65)', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.tv', 'firmware_version': 'T-MSMDEUC-1420.0', 'hardware_version': '0-0', 'last_signup': '2020-08-28T18:07:38.502Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'QE65Q70RATXXC', 'name': '[TV] Samsung Q70 Series (65)', 'platform_os': '4.1.10', 'platform_version': 'Tizen 5.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-STV_2018_K', }), 'parent_device_id': None, 'room_id': '24c83614-3f5d-4cb2-a1d5-beaf30144ec5', 'type': , 'viper': None, }), dict({ 'components': dict({ 'cavity-01': dict({ 'capabilities': list([ , , , , , , , , , , ]), 'id': 'cavity-01', 'label': '1', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'Oven', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'e3ffcb5a-294b-c68a-438d-9e27bb7660a0', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Oven', 'hub': None, 'label': 'Ugn', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': '[oven] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.oven', 'firmware_version': 'ARTIK051_GB_WO_003_40200913', 'hardware_version': '1.0', 'last_signup': '2023-05-05T15:28:35.130155Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'ARTIK051_GB_WO_003|40423141|50030018001211510200000000000000', 'name': '[oven] Samsung', 'platform_os': 'TizenRT2.0', 'platform_version': '0.1.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-KS-WALLOVEN-000003', }), 'parent_device_id': None, 'room_id': '38e04dda-c5bb-4471-9357-e003bedc0173', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'c85fced9-c474-4a47-93c2-037cc7829536', 'device_manufacturer_code': 'Sonos', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Elliots Rum', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': 'sonos-player', 'ocf': None, 'parent_device_id': '2f7f7d2b-e683-48ae-86f7-e57df6a0bce2', 'room_id': '105e6d1a-52a4-4797-a235-5a48d7d433c8', 'type': , 'viper': None, }), dict({ 'components': dict({ 'cooler': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'cooler', 'label': 'cooler', 'manufacturer_category': , 'user_category': None, }), 'cvroom': dict({ 'capabilities': list([ , , , , , ]), 'id': 'cvroom', 'label': 'cvroom', 'manufacturer_category': , 'user_category': None, }), 'freezer': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'freezer', 'label': 'freezer', 'manufacturer_category': , 'user_category': None, }), 'icemaker': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker', 'label': 'icemaker', 'manufacturer_category': , 'user_category': None, }), 'icemaker-02': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-02', 'label': 'icemaker-02', 'manufacturer_category': , 'user_category': None, }), 'icemaker-03': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-03', 'label': 'icemaker-03', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), 'onedoor': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'onedoor', 'label': 'onedoor', 'manufacturer_category': , 'user_category': None, }), 'pantry-01': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-01', 'label': 'pantry-01', 'manufacturer_category': , 'user_category': None, }), 'pantry-02': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-02', 'label': 'pantry-02', 'manufacturer_category': , 'user_category': None, }), 'scale-10': dict({ 'capabilities': list([ , , , , ]), 'id': 'scale-10', 'label': 'scale-10', 'manufacturer_category': , 'user_category': None, }), 'scale-11': dict({ 'capabilities': list([ , , ]), 'id': 'scale-11', 'label': 'scale-11', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'aafdee8c-4ede-2ed7-9d29-d596b84d65aa', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Refrigerator', 'hub': None, 'label': 'Kylskรฅp', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.refrigerator', 'firmware_version': 'A-RFWW-TP1-24-T4-COM_20240908', 'hardware_version': 'Realtek', 'last_signup': '2025-02-02T13:55:41.197590135Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP1X_REF_21K|00175041|00040141041811304104000020010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 4.0', 'platform_version': 'SYSTEM 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-REF-NORMAL-01011', }), 'parent_device_id': None, 'room_id': '38e04dda-c5bb-4471-9357-e003bedc0173', 'type': , 'viper': None, }), dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'eb6afef1-f59a-247f-95e2-7387a58632e1', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Dryer', 'hub': None, 'label': 'Torktumlare', 'location_id': 'eed0e167-e793-459b-80cb-a0b02e2b86c2', 'matter': None, 'name': '[dryer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.dryer', 'firmware_version': 'DA_WM_TP2_20_COMMON_30230804', 'hardware_version': 'MediaTek', 'last_signup': '2021-07-18T15:42:54.398759Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20262941|300101020014110002A3030700000000', 'name': '[dryer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WD-000001', }), 'parent_device_id': None, 'room_id': 'a0d57919-07c0-4385-abbd-0c61dee01e67', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_15] list([ dict({ 'components': dict({ 'cooler': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'cooler', 'label': 'cooler', 'manufacturer_category': , 'user_category': None, }), 'cvroom': dict({ 'capabilities': list([ , , , , , ]), 'id': 'cvroom', 'label': 'cvroom', 'manufacturer_category': , 'user_category': None, }), 'freezer': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'freezer', 'label': 'freezer', 'manufacturer_category': , 'user_category': None, }), 'icemaker': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker', 'label': 'icemaker', 'manufacturer_category': , 'user_category': None, }), 'icemaker-02': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-02', 'label': 'icemaker-02', 'manufacturer_category': , 'user_category': None, }), 'icemaker-03': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-03', 'label': 'icemaker-03', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), 'onedoor': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'onedoor', 'label': 'onedoor', 'manufacturer_category': , 'user_category': None, }), 'pantry-01': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-01', 'label': 'pantry-01', 'manufacturer_category': , 'user_category': None, }), 'pantry-02': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-02', 'label': 'pantry-02', 'manufacturer_category': , 'user_category': None, }), 'scale-10': dict({ 'capabilities': list([ , , , , ]), 'id': 'scale-10', 'label': 'scale-10', 'manufacturer_category': , 'user_category': None, }), 'scale-11': dict({ 'capabilities': list([ , , ]), 'id': 'scale-11', 'label': 'scale-11', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '8d2d636b-8e36-e97b-5628-5f2fa27bc344', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Refrigerator', 'hub': None, 'label': 'Refrigerator', 'location_id': 'df59873c-4e2c-43ba-bcd4-ade4efb0504a', 'matter': None, 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.refrigerator', 'firmware_version': 'A-RFWW-TP1-22-REV1_20240912', 'hardware_version': 'Realtek', 'last_signup': '2024-05-26T09:28:58.205485Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP1X_REF_21K|00156941|00050126001611304100000030010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-REF-NORMAL-01011', }), 'parent_device_id': None, 'room_id': 'ca620fa7-b615-4802-92c2-be40a5c9ddf4', 'type': , 'viper': None, }), dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '21718ac8-8a17-e7cf-2f7e-8aa439f203dd', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Washer', 'hub': None, 'label': 'Washer', 'location_id': 'df59873c-4e2c-43ba-bcd4-ade4efb0504a', 'matter': None, 'name': '[washer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.washer', 'firmware_version': 'DA_WM_TP2_20_COMMON_30230804', 'hardware_version': 'MediaTek', 'last_signup': '2023-06-28T11:51:21.719695Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20260041|20010002011411A302A3020700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WM-000001', }), 'parent_device_id': None, 'room_id': '4c9052ba-4430-4cb1-a788-f1e4449c43c9', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '6838e637-4abf-4df2-85ad-67af96e549fb', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Sleeping State', 'location_id': 'df59873c-4e2c-43ba-bcd4-ade4efb0504a', 'matter': None, 'name': 'Sleeping State', 'ocf': None, 'parent_device_id': None, 'room_id': 'e1e0123f-c14b-4427-a9a9-5051f3d281b6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'b93211bf-9d96-bd21-3b2f-964fcc87f5cc', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Steam Closet', 'hub': None, 'label': 'AirDresser', 'location_id': 'df59873c-4e2c-43ba-bcd4-ade4efb0504a', 'matter': None, 'name': '[airdresser] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'x.com.st.d.steamcloset', 'firmware_version': 'DA_DF_TP2_20_COMMON_30230807', 'hardware_version': 'MediaTek', 'last_signup': '2023-06-23T16:00:36.793123Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000', 'name': '[airdresser] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-SC-000001', }), 'parent_device_id': None, 'room_id': '4c9052ba-4430-4cb1-a788-f1e4449c43c9', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '930eced7-366d-4e6d-b2f2-e3a80f3d5a0c', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'x.com.st.d.sensor.sound', 'hub': None, 'label': 'Sound Sensor - 55" The Frame', 'location_id': 'df59873c-4e2c-43ba-bcd4-ade4efb0504a', 'matter': None, 'name': 'VD-Sensor.Sound-2023', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'x.com.st.d.sensor.sound', 'firmware_version': 'latest', 'hardware_version': '', 'last_signup': '2024-11-15T22:21:35.866223906Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'QE55LS03DAUXXN', 'name': 'Sound Sensor - 55 The Frame', 'platform_os': 'Tizen', 'platform_version': '8.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-Sensor.Sound-2023', }), 'parent_device_id': '425ac77a-f7c9-a62d-ff12-cdad144952e3', 'room_id': '8a4fac38-48d1-4a8c-922b-92620442363b', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '425ac77a-f7c9-a62d-ff12-cdad144952e3', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF TV', 'hub': None, 'label': '55 The Frame', 'location_id': 'df59873c-4e2c-43ba-bcd4-ade4efb0504a', 'matter': None, 'name': '55" The Frame', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.tv', 'firmware_version': 'T-PTMDDEUC-1201.8|ST_ENERGY', 'hardware_version': '', 'last_signup': '2024-11-15T21:05:22.877333957Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'QE55LS03DAUXXN', 'name': '55 The Frame', 'platform_os': 'Tizen', 'platform_version': '8.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-FRAME-2024', }), 'parent_device_id': None, 'room_id': '8a4fac38-48d1-4a8c-922b-92620442363b', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '5cc1c096-98b9-460c-8f1c-1045509ec605', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'x.com.st.d.sensor.light', 'hub': None, 'label': 'Light Sensor - 55" The Frame', 'location_id': 'df59873c-4e2c-43ba-bcd4-ade4efb0504a', 'matter': None, 'name': 'VD-Sensor.Light-2023', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'x.com.st.d.sensor.light', 'firmware_version': 'latest', 'hardware_version': '', 'last_signup': '2024-11-15T22:21:27.933740026Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'QE55LS03DAUXXN', 'name': 'Light Sensor - 55 The Frame', 'platform_os': 'Tizen', 'platform_version': '8.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-Sensor.Light-2023', }), 'parent_device_id': '425ac77a-f7c9-a62d-ff12-cdad144952e3', 'room_id': '8a4fac38-48d1-4a8c-922b-92620442363b', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '9985fbfa-777a-4fae-a637-6148f41b3c63', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Network Audio Player', 'hub': None, 'label': 'Ultra Slim Soundbar', 'location_id': 'df59873c-4e2c-43ba-bcd4-ade4efb0504a', 'matter': None, 'name': 'Ultra Slim Soundbar', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.networkaudio', 'firmware_version': 'SAT-MT8532D24WWC-1016.0', 'hardware_version': '', 'last_signup': '2024-11-15T22:59:59.590782562Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'HW-S701D', 'name': 'Ultra Slim Soundbar', 'platform_os': 'Tizen', 'platform_version': '8.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-NetworkAudio-003S', }), 'parent_device_id': None, 'room_id': '8a4fac38-48d1-4a8c-922b-92620442363b', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_16] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'F8042E25-0E53-0000-0000-000000000000', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Corridor A/C', 'location_id': '5df0730b-38ed-43e4-b291-ec14feb3224c', 'matter': None, 'name': 'Room A/C', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'x.com.st.d.sensor.light', 'firmware_version': None, 'hardware_version': None, 'last_signup': '2025-01-08T02:32:04.631093137Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': None, 'name': None, 'platform_os': None, 'platform_version': None, 'spec_version': None, 'spec_version_vertical': None, 'transfer_candidate': False, 'vendor_id': 'VD-Sensor.Light-2023', }), 'parent_device_id': None, 'room_id': '547b08f3-505a-44b9-a893-773dab079f22', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'C0972777-40F4-0000-0000-000000000000', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Washer', 'hub': None, 'label': 'Washer', 'location_id': '5df0730b-38ed-43e4-b291-ec14feb3224c', 'matter': None, 'name': 'Washer', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.washer', 'firmware_version': None, 'hardware_version': None, 'last_signup': '2023-12-03T02:57:50.221205Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP6X_WW6500|FF1BE000|', 'name': 'Washer', 'platform_os': None, 'platform_version': None, 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WM-100001', }), 'parent_device_id': None, 'room_id': '4fa9334c-f0e8-4e97-8c3a-16c2be572486', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_17] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '9d686e56-4907-4359-a131-6a3f3f51e521', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '', 'hardware_type': 'OTHER', 'mac_address': None, }), 'label': 'Hub - 27" Smart Monitor M5', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'SmartThings Hub', 'ocf': None, 'parent_device_id': None, 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_18] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'd424e86b-15cf-79e2-48d5-480a6c0d18f9', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Rumsluftkonditionering', 'location_id': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'matter': None, 'name': '[room a/c] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': 'ARA-WW-TP2-21-OT9700_11210729', 'hardware_version': 'MediaTek', 'last_signup': '2024-10-17T16:31:50.161629012Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000', 'name': '[room a/c] Samsung', 'platform_os': 'TizenRT 1.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-AC-THERAC-01011', }), 'parent_device_id': None, 'room_id': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': , 'viper': None, }), dict({ 'components': dict({ 'cooler': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'cooler', 'label': 'cooler', 'manufacturer_category': , 'user_category': None, }), 'cvroom': dict({ 'capabilities': list([ , , , , , ]), 'id': 'cvroom', 'label': 'cvroom', 'manufacturer_category': , 'user_category': None, }), 'freezer': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'freezer', 'label': 'freezer', 'manufacturer_category': , 'user_category': None, }), 'icemaker': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker', 'label': 'icemaker', 'manufacturer_category': , 'user_category': None, }), 'icemaker-02': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-02', 'label': 'icemaker-02', 'manufacturer_category': , 'user_category': None, }), 'icemaker-03': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-03', 'label': 'icemaker-03', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), 'onedoor': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'onedoor', 'label': 'onedoor', 'manufacturer_category': , 'user_category': None, }), 'pantry-01': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-01', 'label': 'pantry-01', 'manufacturer_category': , 'user_category': None, }), 'pantry-02': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-02', 'label': 'pantry-02', 'manufacturer_category': , 'user_category': None, }), 'scale-10': dict({ 'capabilities': list([ , , , , ]), 'id': 'scale-10', 'label': 'scale-10', 'manufacturer_category': , 'user_category': None, }), 'scale-11': dict({ 'capabilities': list([ , , ]), 'id': 'scale-11', 'label': 'scale-11', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'a4b78a08-11e6-6d41-2abc-dcbfddcfea65', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Refrigerator', 'hub': None, 'label': 'Kylskรฅp', 'location_id': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'matter': None, 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.refrigerator', 'firmware_version': 'A-RFWW-TP1-22-REV1_20241030', 'hardware_version': 'Realtek', 'last_signup': '2024-12-01T06:45:53.249899752Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP1X_REF_21K|00130443|00090026001610304100000021010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-REF-NORMAL-01011', }), 'parent_device_id': None, 'room_id': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': , 'viper': None, }), dict({ 'components': dict({ 'cooler': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'cooler', 'label': 'cooler', 'manufacturer_category': , 'user_category': None, }), 'cvroom': dict({ 'capabilities': list([ , , , , , ]), 'id': 'cvroom', 'label': 'cvroom', 'manufacturer_category': , 'user_category': None, }), 'freezer': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'freezer', 'label': 'freezer', 'manufacturer_category': , 'user_category': None, }), 'icemaker': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker', 'label': 'icemaker', 'manufacturer_category': , 'user_category': None, }), 'icemaker-02': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-02', 'label': 'icemaker-02', 'manufacturer_category': , 'user_category': None, }), 'icemaker-03': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-03', 'label': 'icemaker-03', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), 'onedoor': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'onedoor', 'label': 'onedoor', 'manufacturer_category': , 'user_category': None, }), 'pantry-01': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-01', 'label': 'pantry-01', 'manufacturer_category': , 'user_category': None, }), 'pantry-02': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-02', 'label': 'pantry-02', 'manufacturer_category': , 'user_category': None, }), 'scale-10': dict({ 'capabilities': list([ , , , , ]), 'id': 'scale-10', 'label': 'scale-10', 'manufacturer_category': , 'user_category': None, }), 'scale-11': dict({ 'capabilities': list([ , , ]), 'id': 'scale-11', 'label': 'scale-11', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'b851a083-4b2c-9e68-e344-0312024e9fa0', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Refrigerator', 'hub': None, 'label': 'Freezer', 'location_id': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'matter': None, 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.refrigerator', 'firmware_version': 'A-RFWW-TP1-22-REV1_20241030', 'hardware_version': 'Realtek', 'last_signup': '2024-11-27T07:08:32.745636184Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP1X_REF_21K|00127643|00080020001610304100000020010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-REF-NORMAL-01011', }), 'parent_device_id': None, 'room_id': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': , 'viper': None, }), dict({ 'components': dict({ 'cooler': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'cooler', 'label': 'cooler', 'manufacturer_category': , 'user_category': None, }), 'cvroom': dict({ 'capabilities': list([ , , , , , ]), 'id': 'cvroom', 'label': 'cvroom', 'manufacturer_category': , 'user_category': None, }), 'freezer': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'freezer', 'label': 'freezer', 'manufacturer_category': , 'user_category': None, }), 'icemaker': dict({ 'capabilities': list([ , , , ]), 'id': 'icemaker', 'label': 'icemaker', 'manufacturer_category': , 'user_category': None, }), 'icemaker-02': dict({ 'capabilities': list([ , , , ]), 'id': 'icemaker-02', 'label': 'icemaker-02', 'manufacturer_category': , 'user_category': None, }), 'icemaker-03': dict({ 'capabilities': list([ , , , ]), 'id': 'icemaker-03', 'label': 'icemaker-03', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), 'onedoor': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'onedoor', 'label': 'onedoor', 'manufacturer_category': , 'user_category': None, }), 'pantry-01': dict({ 'capabilities': list([ , , , , , , ]), 'id': 'pantry-01', 'label': 'pantry-01', 'manufacturer_category': , 'user_category': None, }), 'pantry-02': dict({ 'capabilities': list([ , , , , , , ]), 'id': 'pantry-02', 'label': 'pantry-02', 'manufacturer_category': , 'user_category': None, }), 'scale-10': dict({ 'capabilities': list([ , , , , ]), 'id': 'scale-10', 'label': 'scale-10', 'manufacturer_category': , 'user_category': None, }), 'scale-11': dict({ 'capabilities': list([ , , ]), 'id': 'scale-11', 'label': 'scale-11', 'manufacturer_category': , 'user_category': None, }), 'specialzone-01': dict({ 'capabilities': list([ , , ]), 'id': 'specialzone-01', 'label': 'specialzone-01', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '271d82e0-5b0c-e4b8-058e-cdf23a188610', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Refrigerator', 'hub': None, 'label': 'Fridge', 'location_id': '5274d210-9bd8-4a14-ae55-52a9ffeedfb7', 'matter': None, 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.refrigerator', 'firmware_version': 'A-RFWW-TP1-24-T4-COM_20250706', 'hardware_version': 'Realtek', 'last_signup': '2025-08-12T12:35:56.864318132Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': 'RR39C7EC5B1/EF', 'model_number': 'TP1X_REF_21K|00130445|00090026001610304100000021010000', 'name': 'Samsung-Refrigerator', 'platform_os': 'TizenRT 4.0', 'platform_version': 'SYSTEM 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': True, 'vendor_id': 'DA-REF-NORMAL-01011', }), 'parent_device_id': None, 'room_id': 'b19fa610-62f8-4109-b9cc-47f85fcefd29', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '286ba274-4093-4bcb-849c-a1a3efe7b1e5', 'device_manufacturer_code': 'BOSCH', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Radiator Thermostat II [+M] Wohnzimmer', 'location_id': '0b6618a6-c3ab-4b6e-968d-59cc8c2761bc', 'matter': dict({ 'driver_id': '5f3c42eb-5704-4c95-9705-c51c1a6764bf', 'executing_locally': True, 'hardware_version': '1.2.0', 'hub_id': '61bd280e-71c4-44fb-9b6e-53fdf14718a2', 'listening_type': , 'network_id': '8EF2CF7A212285B2-46C6B9F266A4521A', 'product_id': 12306, 'provisioning_state': , 'serial_number': 'D44867FFFEB37584', 'software_version': '2.00.09', 'supported_network_interfaces': list([ , ]), 'unique_id': '8475B3FEFF6748D4', 'vendor_id': 4617, }), 'name': 'thermostat', 'ocf': None, 'parent_device_id': '61bd280e-71c4-44fb-9b6e-53fdf14718a2', 'room_id': '11374ab5-9b4e-416b-91d1-745bbf9b6db4', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_2] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '440063de-a200-40b5-8a6b-f3399eaa0370', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Bathroom spot', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-color-temperature-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LTG002', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue ambiance spot', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'cb958955-b015-498c-9e62-fc0c51abd054', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Standing light', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-rgbw-color-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LCA001', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue color lamp', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '0b2ed6c7-dc39-42fd-ab64-8f1c75c1fad0', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Hue ambiance spot 3', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-color-temperature-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LTG002', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue ambiance spot', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '571af102-15db-4030-b76b-245a691f74a5', 'device_manufacturer_code': 'WonderLabs Company', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Curtain 1A', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'c2c-shade', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'WoCurtain3-WoCurtain3', 'manufacturer_name': 'WonderLabs Company', 'model_name': 'WoCurtain3', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '42efbc29-b283-4d01-a343-f0963ae7dba4', 'device_manufacturer_code': 'WonderLabs Company', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Curtain 1E', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'c2c-shade', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'WoCurtain3-WoCurtain3', 'manufacturer_name': 'WonderLabs Company', 'model_name': 'WoCurtain3', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'a456cbd5-0503-46be-acc4-54e189dc6ff4', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Sink', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-color-temperature-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LTG002', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue ambiance spot', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '08da6244-b3ad-4c45-b005-d8572bd9138f', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Hue motion sensor 1', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'c2c-motion-2', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'SML001', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue motion sensor', 'software_version': '67.115.5', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '297b909c-ca9a-4517-ba42-7412269cd00e', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Hue ambiance spot 2', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-color-temperature-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LTG002', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue ambiance spot', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '4d4f5261-dc3a-4e31-b8f4-15699c934f62', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Hue ambiance spot 4', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-color-temperature-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LTG002', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue ambiance spot', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '9eaad965-638d-48c2-8aab-e97aa031226e', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Night light', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-rgbw-color-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LCT012', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue color candle', 'software_version': '1.116.3', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'f1e182eb-1e21-43ed-a32d-f3c2796b9865', 'device_manufacturer_code': 'Netatmo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Netatmo NAPlug', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'c2c-thermostat-bridge-1', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Netatmo', 'model_name': 'NAPlug', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '4f43eaf7-b3d1-4d26-be8e-807b37dfe8e0', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Kitchen', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-rgbw-color-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': '440400982842', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue Play', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '5ca2281d-fb11-4835-8990-0ea287556fe5', 'device_manufacturer_code': 'WonderLabs Company', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Hub 2 08', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'c2c-humidity', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'WoHub2-WoHub2', 'manufacturer_name': 'WonderLabs Company', 'model_name': 'WoHub2', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '3cd2ce09-6e19-48a9-b296-558d8cc55726', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Tv', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-rgbw-color-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': '440400982842', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue Play', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'e25e6818-efab-4f45-97f8-867ab2c1c33d', 'device_manufacturer_code': 'WonderLabs Company', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'TV', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'c2c-switch', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'remote-16', 'manufacturer_name': 'WonderLabs Company', 'model_name': 'remote', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '5ed8ef33-96dc-4d53-8ad1-4a15e6361c1e', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Bureau', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-rgbw-color-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LCL001', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue lightstrip plus', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'f15b3d69-7452-4b21-a27c-d3db3c84e2d4', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Hue ambiance spot 5', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-color-temperature-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LTG002', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue ambiance spot', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'be1152d6-cad0-4859-b4a6-5770e63dd0b5', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Bed', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-rgbw-color-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': '440400982842', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue Play', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '53fa938e-7586-41ca-84e7-ccc6bcba94df', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Hue ambiance spot 1', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-color-temperature-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LTG002', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue ambiance spot', 'software_version': '1.122.2', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'd472222b-0e19-4d33-8375-b2abf6c9df08', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Bed', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-rgbw-color-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': '440400982842', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue Play', 'software_version': '1.122.2', }), }), ]) # --- # name: test_fetching_devices[devices_3] list([ dict({ 'components': dict({ 'cavity-01': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'cavity-01', 'label': 'cavity-01', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '2c3cbaa0-1899-5ddc-7b58-9d657bd53d18', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Range', 'hub': None, 'label': 'Vulcan', 'location_id': '597a4912-13c9-47ab-5916-3cbe28b61abd', 'matter': None, 'name': 'Samsung Range', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.range', 'firmware_version': 'AKS-WW-TP1-20-OVEN-3-CR_40240205', 'hardware_version': 'Realtek', 'last_signup': '2023-11-28T22:49:01.876575Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP1X_DA-KS-RANGE-0101X|40445041|5001011E031511010200000000000000', 'name': 'Samsung Range', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 3.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-KS-RANGE-0101X', }), 'parent_device_id': None, 'room_id': 'fc307cd9-3b32-4fc0-bf23-e0d3985101b9', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_4] list([ dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '02f7256e-8353-5bdd-547f-bd5b1647e01b', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Dryer', 'hub': None, 'label': 'Dryer', 'location_id': '781d5f1e-c87e-455e-87f7-8e954879e91d', 'matter': None, 'name': '[dryer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.dryer', 'firmware_version': 'DA_WM_A51_20_COMMON_30230708', 'hardware_version': 'ARTIK051', 'last_signup': '2021-06-01T22:54:22.826697Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000', 'name': '[dryer] Samsung', 'platform_os': 'TizenRT 1.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WD-000001', }), 'parent_device_id': None, 'room_id': '2a8637b2-77ad-475e-b537-7b6f7f97fff6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'f36dc7ce-cac0-0667-dc14-a3704eb5e676', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Dishwasher', 'hub': None, 'label': 'Dishwasher', 'location_id': '586e4602-34ab-4a22-993e-5f616b04604f', 'matter': None, 'name': '[dishwasher] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.dishwasher', 'firmware_version': 'DA_DW_A51_20_COMMON_30230714', 'hardware_version': 'ARTIK051', 'last_signup': '2021-10-16T17:28:59.984202Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_DW_A51_20_COMMON|30007242|40010201001311000101000000000000', 'name': '[dishwasher] Samsung', 'platform_os': 'TizenRT 1.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-DW-000001', }), 'parent_device_id': None, 'room_id': 'f4d03391-ab13-4c1d-b4dc-d6ddf86014a2', 'type': , 'viper': None, }), dict({ 'components': dict({ 'hood': dict({ 'capabilities': list([ , , ]), 'id': 'hood', 'label': 'hood', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '2bad3237-4886-e699-1b90-4a51a3d55c8a', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'oic.d.microwave', 'hub': None, 'label': 'Microwave', 'location_id': '586e4602-34ab-4a22-993e-5f616b04604f', 'matter': None, 'name': 'Samsung Microwave', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.microwave', 'firmware_version': 'AKS-WW-TP2-20-MICROWAVE-OTR_40230125', 'hardware_version': 'MediaTek', 'last_signup': '2022-04-17T15:33:11.063457Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP2X_DA-KS-MICROWAVE-0101X|40436241|50040100011411000200000000000000', 'name': 'Samsung Microwave', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 3.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-KS-MICROWAVE-0101X', }), 'parent_device_id': None, 'room_id': 'f4d03391-ab13-4c1d-b4dc-d6ddf86014a2', 'type': , 'viper': None, }), dict({ 'components': dict({ 'camera-01': dict({ 'capabilities': list([ , , ]), 'id': 'camera-01', 'label': 'camera-01', 'manufacturer_category': , 'user_category': None, }), 'cooler': dict({ 'capabilities': list([ , , , , , , ]), 'id': 'cooler', 'label': 'cooler', 'manufacturer_category': , 'user_category': None, }), 'cvroom': dict({ 'capabilities': list([ , , , ]), 'id': 'cvroom', 'label': 'cvroom', 'manufacturer_category': , 'user_category': None, }), 'freezer': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'freezer', 'label': 'freezer', 'manufacturer_category': , 'user_category': None, }), 'icemaker': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker', 'label': 'icemaker', 'manufacturer_category': , 'user_category': None, }), 'icemaker-02': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-02', 'label': 'icemaker-02', 'manufacturer_category': , 'user_category': None, }), 'icemaker-03': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-03', 'label': 'icemaker-03', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), 'pantry-01': dict({ 'capabilities': list([ , , , , , ]), 'id': 'pantry-01', 'label': 'pantry-01', 'manufacturer_category': , 'user_category': None, }), 'scale-10': dict({ 'capabilities': list([ , , , , , ]), 'id': 'scale-10', 'label': 'scale-10', 'manufacturer_category': , 'user_category': None, }), 'scale-11': dict({ 'capabilities': list([ , , ]), 'id': 'scale-11', 'label': 'scale-11', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '7d3feb98-8a36-4351-c362-5e21ad3a78dd', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Refrigerator', 'hub': None, 'label': 'Refrigerator', 'location_id': '2487472a-06c4-4bce-8f4c-700c5f8644f8', 'matter': None, 'name': 'Family Hub', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.refrigerator', 'firmware_version': '20240616.213423', 'hardware_version': '', 'last_signup': '2021-07-27T01:19:40.244392Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': '24K_REF_LCD_FHUB9.0|00113141|0002034e051324200103000000000000', 'name': 'Family Hub', 'platform_os': 'Tizen', 'platform_version': '7.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-REF-NORMAL-01001', }), 'parent_device_id': None, 'room_id': 'acaa060a-7c19-4579-8a4a-5ad891a2f0c1', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'd1bd03c4-61ea-4e3d-9c7e-c2126c9579a2', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '000.054.00013', 'hardware_type': 'SAMSUNG_DA_REFRIGERATOR_HUB', 'mac_address': '70:2C:1F:8D:D9:64', }), 'label': 'SmartThings Hub - FamilyHub', 'location_id': '2487472a-06c4-4bce-8f4c-700c5f8644f8', 'matter': None, 'name': 'SmartThings Hub', 'ocf': None, 'parent_device_id': None, 'room_id': 'acaa060a-7c19-4579-8a4a-5ad891a2f0c1', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'Robot vacuum', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '3442dfc6-17c0-a65f-dae0-4c6e01786f44', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Robot Vacuum', 'hub': None, 'label': 'Robot vacuum', 'location_id': '586e4602-34ab-4a22-993e-5f616b04604f', 'matter': None, 'name': '[robot vacuum] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.robotcleaner', 'firmware_version': '1.0', 'hardware_version': '1.0', 'last_signup': '2020-11-03T04:43:02.729Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'powerbot_7000_17M|50016055|80010404011141000100000000000000', 'name': '[robot vacuum] Samsung', 'platform_os': 'Tizen(3/0)', 'platform_version': '00', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-RVC-NORMAL-000001', }), 'parent_device_id': None, 'room_id': '5d425f41-042a-4d9a-92c4-e43150a61bae', 'type': , 'viper': None, }), dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'f984b91d-f250-9d42-3436-33f09a422a47', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Washer', 'hub': None, 'label': 'Washer', 'location_id': '781d5f1e-c87e-455e-87f7-8e954879e91d', 'matter': None, 'name': '[washer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.washer', 'firmware_version': 'DA_WM_TP2_20_COMMON_30230804', 'hardware_version': 'MediaTek', 'last_signup': '2021-06-01T22:52:13.923649Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WM-000001', }), 'parent_device_id': None, 'room_id': '2a8637b2-77ad-475e-b537-7b6f7f97fff6', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_5] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '83d660e4-b0c8-4881-a674-d9f1730366c1', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'SmartTag+ black', 'location_id': 'redacted_locid', 'matter': None, 'name': 'Tag(UWB)', 'ocf': None, 'parent_device_id': None, 'room_id': 'redacted_roomid', 'type': , 'viper': None, }), dict({ 'components': dict({ 'hca.main': dict({ 'capabilities': list([ , ]), 'id': 'hca.main', 'label': 'hca.main', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'c34897ca-c077-e3b9-adba-d52a96e47343', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Washer', 'hub': None, 'label': 'Wasmachine', 'location_id': 'redacted_locid', 'matter': None, 'name': '[washer] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.washer', 'firmware_version': 'DA_WM_TP2_20_COMMON_30230804', 'hardware_version': 'MediaTek', 'last_signup': '2021-11-22T16:51:01.344572Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'DA_WM_TP2_20_COMMON|20260041|200100020014112302A3020700000000', 'name': '[washer] Samsung', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-WM-WM-000001', }), 'parent_device_id': None, 'room_id': '1b0c6ae7-e93d-4e3b-b31c-d22f2f420baa', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '709343ae-2262-45bf-8852-5263e34fd1f2', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'tas', 'location_id': 'redacted_locid', 'matter': None, 'name': 'Tag2(UWB)', 'ocf': None, 'parent_device_id': None, 'room_id': 'redacted_roomid', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '0d3a49e8-6d4b-4870-b1ec-538d1c36f047', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'koffer', 'location_id': 'redacted_locid', 'matter': None, 'name': 'Tag2(UWB)', 'ocf': None, 'parent_device_id': None, 'room_id': 'redacted_roomid', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '9d5086e5-d74c-402c-8336-06c79966ab5f', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'SmartTag+ black 2', 'location_id': 'redacted_locid', 'matter': None, 'name': 'Tag(UWB)', 'ocf': None, 'parent_device_id': None, 'room_id': 'redacted_roomid', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'bb6db6ba-a4e6-436c-ae04-c559b87b2976', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'SmartTag+ blue 2', 'location_id': 'redacted_locid', 'matter': None, 'name': 'Tag(UWB)', 'ocf': None, 'parent_device_id': None, 'room_id': 'redacted_roomid', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'cee35ca2-8d55-458c-baae-d8d01255cd51', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'SmartTag+ blue', 'location_id': 'redacted_locid', 'matter': None, 'name': 'Tag(UWB)', 'ocf': None, 'parent_device_id': None, 'room_id': 'redacted_roomid', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_6] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '4ece486b-89db-f06a-d54d-748b676b4d8e', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Aire Dormitorio Principal', 'location_id': 'c4189ac1-208f-461a-8ab6-ea67937b3743', 'matter': None, 'name': 'Samsung-Room-Air-Conditioner', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': 'ARA-WW-TP1-22-COMMON_11240702', 'hardware_version': 'Realtek', 'last_signup': '2025-01-28T21:31:30.090416369Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'ARA-WW-TP1-22-COMMON|10229641|60010523001511014600083200800000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-AC-RAC-01001', }), 'parent_device_id': None, 'room_id': '1f66199a-1773-4d8f-97b7-44c312a62cf7', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '0d94e5db-8501-2355-eb4f-214163702cac', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Network Audio Player', 'hub': None, 'label': 'Soundbar Living', 'location_id': 'c4189ac1-208f-461a-8ab6-ea67937b3743', 'matter': None, 'name': 'Soundbar', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.networkaudio', 'firmware_version': 'SAT-iMX8M23WWC-1010.5', 'hardware_version': '', 'last_signup': '2024-10-26T02:58:36.491256384Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'HW-Q990C', 'name': 'Soundbar Living', 'platform_os': 'Tizen', 'platform_version': '7.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-NetworkAudio-002S', }), 'parent_device_id': None, 'room_id': 'db506ec3-83b1-4125-9c4c-eb597da5db6a', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '0e168539-061a-5f02-2beb-cc5cb6bb3b7b', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Kit AC Wifi', 'location_id': 'c4189ac1-208f-461a-8ab6-ea67937b3743', 'matter': None, 'name': '[system a/c] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': '20240611.1', 'hardware_version': '', 'last_signup': '2025-01-29T22:00:53.860224354Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'MIM-H04N|240611|61FFFF00001411000000000000000000', 'name': '[system a/c] Samsung', 'platform_os': 'Tizen', 'platform_version': '4.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-SAC-WIFIKIT-000001', }), 'parent_device_id': None, 'room_id': '072d28ca-996a-420f-95e6-0bedf5df4718', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '0e168539-061a-5f02-2beb-000001200000', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Aire Oficina', 'location_id': 'c4189ac1-208f-461a-8ab6-ea67937b3743', 'matter': None, 'name': 'Air Conditioner', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': '20240611.1', 'hardware_version': '', 'last_signup': '2025-01-29T22:00:56.103552240Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'SAC_RAC|230127|610C0A00001700890400010000000000', 'name': 'Air Conditioner', 'platform_os': 'Tizen', 'platform_version': '4.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-SAC-INDOOR-000001-SUB', }), 'parent_device_id': '0e168539-061a-5f02-2beb-cc5cb6bb3b7b', 'room_id': '072d28ca-996a-420f-95e6-0bedf5df4718', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'bcedebe0-b3e9-4536-2b7c-dbc74dc29fce', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Aire Estar Segundo Piso', 'location_id': 'c4189ac1-208f-461a-8ab6-ea67937b3743', 'matter': None, 'name': 'Samsung-Room-Air-Conditioner', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': 'ARA-WW-TP1-23-GLOBAL_11240702', 'hardware_version': 'Realtek', 'last_signup': '2025-01-28T21:37:25.560252649Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'ARA-WW-TP1-23-GLOBAL|10247441|60010535001711F54E00082200910000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 3.1', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-AC-RAC-01001', }), 'parent_device_id': None, 'room_id': 'f1dabf87-1533-44ee-940c-d350ce0d7283', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_7] list([ dict({ 'components': dict({ '1': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': '1', 'label': '1', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '96a5ef74-5832-a84b-f1f7-ca799957065d', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'AC Office Granit', 'location_id': '58d3fd7c-c512-4da3-b500-ef269382756c', 'matter': None, 'name': '[room a/c] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': '0.1.0', 'hardware_version': '1.0', 'last_signup': '2021-04-06T16:43:27.889445Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'ARTIK051_KRAC_18K|10193441|60010132001111110200000000000000', 'name': '[room a/c] Samsung', 'platform_os': 'TizenRT2.0', 'platform_version': '0G3MPDCKA00010E', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-AC-RAC-000001', }), 'parent_device_id': None, 'room_id': '85a79db4-9cf2-4f09-a5b2-cd70a5c0cef0', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_8] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'e5bba37c-fc5d-4c1c-9644-750e80d94841', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Basement Door', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-pro-3-switch', 'ocf': None, 'parent_device_id': None, 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'VMC4060B', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '0b5577db-5074-4b70-a2c5-efec286d264d', 'device_manufacturer_code': 'TCPi', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Den Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'switch-level', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '19cec9f9-9947-4568-a98e-ab09a44d2b56', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Entryway Lamp', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '4a59f635-9f0a-4a6c-a2f0-ffb7ef182a7c', 'device_manufacturer_code': 'CentraLite', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Entryway Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Outlet', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '68b45114-9af8-4906-8636-b973a6faa271', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'Table Den Lamp', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '6ca56087-481f-4e93-9727-fb91049fe396', 'device_manufacturer_code': 'sengled', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Table Den Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Sengled Light', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '19cec9f9-9947-4568-a98e-ab09a44d2b56', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Floor Lamp', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '265e653b-3c0b-4fa6-8e2a-f6a69c7040f0', 'device_manufacturer_code': 'IKEA of Sweden', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Floor Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'ZigBee White Color Temperature Bulb', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '0d2e9b09-6f13-452b-8482-932d53eb6f79', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Masterbed room lights', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '8f873071-a9aa-4580-a736-8f5f696e044a', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Masterbed room lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE In-Wall Smart Dimmer', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '19cec9f9-9947-4568-a98e-ab09a44d2b56', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Main', 'manufacturer_category': , 'user_category': , }), 'relay1': dict({ 'capabilities': list([ , ]), 'id': 'relay1', 'label': 'Relay 1', 'manufacturer_category': , 'user_category': None, }), 'relay2': dict({ 'capabilities': list([ , ]), 'id': 'relay2', 'label': 'Relay 2', 'manufacturer_category': , 'user_category': None, }), 'relay3': dict({ 'capabilities': list([ , ]), 'id': 'relay3', 'label': 'Relay 3', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '803cb0d9-addd-4c2d-aaef-d4e20bf88228', 'device_manufacturer_code': '027A-A000-A00A', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Fireplace', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'zooz-zen16-multirelay', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '0d2e9b09-6f13-452b-8482-932d53eb6f79', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Basement Hall', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '09076422-62cc-4b2d-8beb-b53bc451c704', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Basement Hall', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE In-Wall Smart Dimmer', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '6c582006-aae9-47d0-a9ff-6573fed3b809', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Garage Cam', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-go-switch', 'ocf': None, 'parent_device_id': None, 'room_id': '3a1f7e7c-4e59-4c29-adb0-0813be691efd', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'VMC4030P', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Deck Door', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '7d246592-93db-4d72-a10d-5a51793ece8c', 'device_manufacturer_code': 'SmartThings', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Deck Door', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'b277a3c0-b8fe-44de-9133-c1108747810c', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'Basement Door Lock', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'a9f587c5-5d8b-4273-8907-e7f609af5158', 'device_manufacturer_code': 'Yale', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Basement Door Lock', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Yale Push Button Deadbolt Lock', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '3f01bf2b-e9a3-3543-1047-42320283a5c1', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'x.com.st.d.monitor', 'hub': None, 'label': '27" Smart Monitor M5', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': '27" Smart Monitor M5', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'x.com.st.d.monitor', 'firmware_version': 'T-NKLBWWC-1651.10', 'hardware_version': '', 'last_signup': '2024-12-04T00:04:45.014259608Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'LS27BM501ENXZA', 'name': '27" Smart Monitor M5', 'platform_os': 'Tizen', 'platform_version': '6.5', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-SMONITOR-2022', }), 'parent_device_id': None, 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Basement Lights', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '9b479ba0-81e1-4877-87c5-c301a87cbdab', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Basement Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Virtual Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'c1107a0c-fa71-43c5-8ff9-a128ea6c4f20', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Kitchen Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'ge-dimmer-assoc', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'b277a3c0-b8fe-44de-9133-c1108747810c', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Entryway Tree', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '8eacf25f-aa33-4d9e-ba90-0e4ac3ceb8e0', 'device_manufacturer_code': 'CentraLite', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Entryway Tree', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Outlet', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '68b45114-9af8-4906-8636-b973a6faa271', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '2d9a892b-1c93-45a5-84cb-0e81889498c6', 'device_manufacturer_code': 'Visonic', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': '.Front Door Open/Closed Sensor', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'contact-profile', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '68b45114-9af8-4906-8636-b973a6faa271', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '9d686e56-4907-4359-a131-6a3f3f51e521', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '000.054.00013', 'hardware_type': 'SAMSUNG_VD_TV_HUB', 'mac_address': '70:09:71:C5:65:A2', }), 'label': 'Hub - 27" Smart Monitor M5', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'SmartThings Hub', 'ocf': None, 'parent_device_id': None, 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'cooler': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'cooler', 'label': 'cooler', 'manufacturer_category': , 'user_category': None, }), 'cvroom': dict({ 'capabilities': list([ , , , , , ]), 'id': 'cvroom', 'label': 'cvroom', 'manufacturer_category': , 'user_category': None, }), 'freezer': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'freezer', 'label': 'freezer', 'manufacturer_category': , 'user_category': None, }), 'icemaker': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker', 'label': 'icemaker', 'manufacturer_category': , 'user_category': None, }), 'icemaker-02': dict({ 'capabilities': list([ , , ]), 'id': 'icemaker-02', 'label': 'icemaker-02', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), 'onedoor': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'onedoor', 'label': 'onedoor', 'manufacturer_category': , 'user_category': None, }), 'pantry-01': dict({ 'capabilities': list([ , , , ]), 'id': 'pantry-01', 'label': 'pantry-01', 'manufacturer_category': , 'user_category': None, }), 'pantry-02': dict({ 'capabilities': list([ , , , ]), 'id': 'pantry-02', 'label': 'pantry-02', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '7db87911-7dce-1cf2-7119-b953432a2f09', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Refrigerator', 'hub': None, 'label': 'Refrigerator', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': '[refrigerator] Samsung', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.refrigerator', 'firmware_version': 'A-RFWW-TP2-21-COMMON_20220110', 'hardware_version': 'MediaTek', 'last_signup': '2024-08-06T15:24:29.362093Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP2X_REF_20K|00115641|0004014D011411200103000020000000', 'name': '[refrigerator] Samsung', 'platform_os': 'TizenRT 1.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-REF-NORMAL-000001', }), 'parent_device_id': None, 'room_id': '3a1f7e7c-4e59-4c29-adb0-0813be691efd', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'Car Garage Door', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'f4e0517a-d94f-4bd6-a464-222c8c413a66', 'device_manufacturer_code': 'Visonic', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Car Garage Door', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Visonic Door/Window Sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '3a1f7e7c-4e59-4c29-adb0-0813be691efd', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , ]), 'id': 'main', 'label': 'Mail Announce', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '37c0cdda-9158-41ad-9635-4ca32df9fe5b', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Mail Announce', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Virtual Contact1', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Radon Fan', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'cfcd9a21-a943-4519-9972-3c7890cd25b1', 'device_manufacturer_code': 'CentraLite', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Radon Fan', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Outlet', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '972f7f0e-9bd2-4387-8df1-06fddc80269d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Humidifier Outlet', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '1a987293-0962-4447-99d4-aa82655ffb55', 'device_manufacturer_code': 'CentraLite', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Heater Outlet', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Outlet', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '19cec9f9-9947-4568-a98e-ab09a44d2b56', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Saima Lamp', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '6b5535c7-c039-42ee-9970-8af86c6b0775', 'device_manufacturer_code': 'IKEA of Sweden', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Saimas Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'TRร…DFRI bulb E26 WS opal 980lm', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '19cec9f9-9947-4568-a98e-ab09a44d2b56', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Fireplace Lights', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '6a2e5058-36f3-4668-aa43-49a66f8df93d', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Fireplace Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Virtual Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '0d2e9b09-6f13-452b-8482-932d53eb6f79', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '4339f999-1ad2-46fb-9103-cb628b30a022', 'device_manufacturer_code': '0063-4952-3137', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Garage Tubelight', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'switch-binary-indicator', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '3a1f7e7c-4e59-4c29-adb0-0813be691efd', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '277e0a96-c8ec-41aa-b4cf-0bac57dc1cee', 'device_manufacturer_code': 'LEDVANCE', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Fireplace Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'basic-switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '0d2e9b09-6f13-452b-8482-932d53eb6f79', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '68e786a6-7f61-4c3a-9e13-70b803cf782b', 'device_manufacturer_code': '0086-0002-0009', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Aeon Energy Monitor', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'base-electric-meter', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'e879673b-892c-4a0d-8c54-2dcc38d96ca0', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Freezer Room', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-pro-3-switch', 'ocf': None, 'parent_device_id': None, 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'VMC2030B', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '1691801c-ae59-438b-89dc-f2c761fe937d', 'device_manufacturer_code': '0063-4952-3038', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Masterbed Room Fan', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'ge-switch-assoc', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '19cec9f9-9947-4568-a98e-ab09a44d2b56', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '3c8d8a9d-649d-4edc-9a0b-4e45d0b491d1', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Backyard Floodlight', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-pro-3-switch', 'ocf': None, 'parent_device_id': None, 'room_id': 'e73dcd00-6953-431d-ae79-73fd2f2c528e', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'FB1001A', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'c5209cd2-fcb5-46be-b685-5b05f22dcb2c', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Guest Fan', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'switch-level-indicator', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'fabca29a-3fea-4c02-848d-b5382ec44797', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'Garage Door - Side', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'bafc5147-2e48-498b-97ff-34c93fae7814', 'device_manufacturer_code': 'Visonic', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Garage Door - Side', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Visonic Door/Window Sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '3a1f7e7c-4e59-4c29-adb0-0813be691efd', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '4be24db2-3125-4112-a8dc-3eb1926c220a', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Sump Pump Room', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-pro-3-switch', 'ocf': None, 'parent_device_id': None, 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'VMC2030B', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '184c67cc-69e2-44b6-8f73-55c963068ad9', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'iPhone', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'iPhone', 'ocf': None, 'parent_device_id': 'b8e11599-5297-4574-8e62-885995fcaa20', 'room_id': None, 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '4588d2d9-a8cf-40f4-9a0b-ed5dfbaccda1', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF TV', 'hub': None, 'label': '[TV] Samsung 8 Series (49)', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': '[TV] Samsung 8 Series (49)', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.tv', 'firmware_version': 'T-KTMAKUC-1290.3', 'hardware_version': '0-0', 'last_signup': '2021-08-21T18:52:56.748359Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'UN49MU8000', 'name': '[TV] Samsung 8 Series (49)', 'platform_os': '4.1.10', 'platform_version': 'Tizen 3.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-STV_2017_K', }), 'parent_device_id': None, 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '9a9cb299-5279-4dea-9249-b5c153d22ba1', 'device_manufacturer_code': 'MColmenarejo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Virtual Calendar Device (1685810860)', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'virtual-calendar', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '972f7f0e-9bd2-4387-8df1-06fddc80269d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Breakfast Table Lamps', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '4fddedf0-2662-476e-b1fd-aceaec17ad3a', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Breakfast Table Lamps', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'b277a3c0-b8fe-44de-9133-c1108747810c', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'd0268a69-abfb-4c92-a646-61cec2e510ad', 'device_manufacturer_code': 'CentraLite', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Dimmer Debian', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'plug-level-power', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'Van Garage Door', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '7111243f-39d6-4ed0-a277-f040e40a806d', 'device_manufacturer_code': 'Visonic', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Van Garage Door', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Visonic Door/Window Sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '3a1f7e7c-4e59-4c29-adb0-0813be691efd', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , ]), 'id': 'main', 'label': 'Water is heating', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'ea2aa187-40fd-4140-9742-453e691c4469', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Water is heating', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Water Heater Announce', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'aae6a270-7545-470d-940f-568f955129a7', 'device_manufacturer_code': 'TP-LINK', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Arlo Production', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-switch', 'ocf': None, 'parent_device_id': None, 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': dict({ 'hardware_version': '1.0', 'manufacturer_name': 'TP-LINK', 'model_name': 'KP115(US)', 'software_version': '1.0.21 Build 231129 Rel.171238', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Dining Table Lamp', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '2533fdd0-e064-4fa2-b77b-1e17260b58d7', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Formal Dining Table Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '5cbd562e-44e4-4fb4-8639-5ad986ee92ee', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Pi Hole', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '550a1c72-65a0-4d55-b97b-75168e055398', 'device_manufacturer_code': 'LEDVANCE', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Arlo Beta Basestation', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'SYLVANIA SMART+ Smart Plug', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'dba5a745-b23d-4bc2-a77d-22d65a5df704', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Base Station', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-siren', 'ocf': None, 'parent_device_id': None, 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'VMB4000', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Driveway Light', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '3f82e13c-bd39-4043-bb54-7432a4e47113', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Driveway Light', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'e73dcd00-6953-431d-ae79-73fd2f2c528e', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Girls Lights', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '08ee0358-9f40-4afa-b5a0-3a6aba18c267', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Girls Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'fabca29a-3fea-4c02-848d-b5382ec44797', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '9dd17f8f-cf5e-4647-a11c-d8f24cdf9b2a', 'device_manufacturer_code': 'SmartThings', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Temp Sensor', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'st-multipurpose', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'b3a84295-ac3c-4fb1-95e4-4a4bbb1b0bce', 'device_manufacturer_code': '0129-8107-09D5', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Door Lock', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'base-lock', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '68b45114-9af8-4906-8636-b973a6faa271', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Sump Pump Room', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '92138ee5-d3bf-4348-98e8-445dedc319cb', 'device_manufacturer_code': 'SmartThings', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Sump Pump Room', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'a664fe3f-cd7b-4794-bcdd-1310ecab5483', 'device_manufacturer_code': 'TP-LINK', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Study Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-dimmer', 'ocf': None, 'parent_device_id': None, 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': dict({ 'hardware_version': '1.0', 'manufacturer_name': 'TP-LINK', 'model_name': 'ES20M(US)', 'software_version': '1.0.11 Build 240514 Rel.110351', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '7b9d924a-de0c-44f9-ac5c-f15869c59411', 'device_manufacturer_code': 'sengled', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Study Room Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'switch-level', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Living Room Fan', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '6f4d2e72-7af4-4c96-97ab-d6b6a0d6bc4b', 'device_manufacturer_code': 'CentraLite', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Floor Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Outlet', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '0d2e9b09-6f13-452b-8482-932d53eb6f79', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '6c1b7cfa-7429-4f35-9d02-ab1dfd2f1297', 'device_manufacturer_code': 'TCPi', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Dresser Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'switch-level', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '19cec9f9-9947-4568-a98e-ab09a44d2b56', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'String Lights', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'c5699ff6-af09-4922-901d-bb81b8345bc3', 'device_manufacturer_code': 'CentraLite', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'String Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Outlet', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'Door Lamp', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'd48848b9-25b0-4423-8fcf-96a022ac571e', 'device_manufacturer_code': 'TCPi', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Door Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Light', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '68b45114-9af8-4906-8636-b973a6faa271', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '7bedac4c-5681-4897-a2ef-e9153cb19ba0', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Guest Light', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'ge-dimmer-assoc', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'fabca29a-3fea-4c02-848d-b5382ec44797', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'Kitchen Basin Light', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '91172212-e9ff-4ca6-9626-e7af0361c9ad', 'device_manufacturer_code': 'TCPi', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Kitchen Basin Light', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Light', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'b277a3c0-b8fe-44de-9133-c1108747810c', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '18c47ea4-f08a-4a70-9e95-23fd23182cc2', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Front Doorbell', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-wired-video-doorbell-battery-no-switch', 'ocf': None, 'parent_device_id': None, 'room_id': 'e73dcd00-6953-431d-ae79-73fd2f2c528e', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'AVD1001A', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Formal Living Room', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'a9d42ef0-f972-44b0-86bc-efd6569a1aef', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Formal Living Room', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '5cbd562e-44e4-4fb4-8639-5ad986ee92ee', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Water Boiler', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '829da938-6e92-4a93-8923-7c67f9663c03', 'device_manufacturer_code': 'CentraLite', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Water Boiler', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Outlet', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'TV Room', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'f3c18803-cbec-48e3-8f15-3c31f302d68b', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'TV Room', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE In-Wall Smart Dimmer', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Guest Lamp', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '0781c9d0-92cb-4c7b-bb5b-2f2dbe0c41f3', 'device_manufacturer_code': 'IKEA of Sweden', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Guest Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'TRร…DFRI bulb E26 WS opal 980lm', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'fabca29a-3fea-4c02-848d-b5382ec44797', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '16fc526e-dd7d-49a1-bac6-220f664f92ca', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'iPhone', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'iPhone', 'ocf': None, 'parent_device_id': '6b61e197-d25a-49e5-b812-4b2501f031d9', 'room_id': None, 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'device_manufacturer_code': None, 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': dict({ 'firmware_version': '000.055.00005', 'hardware_type': 'V2_HUB', 'mac_address': 'D0:52:A8:72:91:02', }), 'label': 'Home Hub', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'SmartThings v2 Hub', 'ocf': None, 'parent_device_id': None, 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Mail Box', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '374ba6fa-5a08-4ea2-969c-1fa43d86e21f', 'device_manufacturer_code': 'SmartThings', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Mail Box', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '165c0b42-64b9-4679-9dfb-0c5eff729fb2', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Driveway Floodlight', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-pro-3-switch', 'ocf': None, 'parent_device_id': None, 'room_id': 'e73dcd00-6953-431d-ae79-73fd2f2c528e', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'FB1001B', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'f45bd97b-6edd-41e5-b65d-9dea2eeaff0b', 'device_manufacturer_code': 'TP-LINK', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Sump Pump', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-switch', 'ocf': None, 'parent_device_id': None, 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': dict({ 'hardware_version': '1.0', 'manufacturer_name': 'TP-LINK', 'model_name': 'KP115(US)', 'software_version': '1.0.21 Build 231129 Rel.171238', }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'Basement Exit Door', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'a1e6525c-1e24-403c-b18c-eecb65e22ccf', 'device_manufacturer_code': 'SmartThings', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Basement Exit Door', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Multipurpose Sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'button1': dict({ 'capabilities': list([ , ]), 'id': 'button1', 'label': 'button1', 'manufacturer_category': , 'user_category': None, }), 'button2': dict({ 'capabilities': list([ , ]), 'id': 'button2', 'label': 'button2', 'manufacturer_category': , 'user_category': None, }), 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '115236ea-59e5-4cd4-bade-d67c409967bc', 'device_manufacturer_code': 'IKEA of Sweden', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'IKEA Remote Control', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'two-buttons-battery', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'd20891e5-59b4-46ce-9184-b7fdf0c7ae4c', 'device_manufacturer_code': 'MColmenarejo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'MAIN Virtual Devices', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'main-virtual-device', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '972f7f0e-9bd2-4387-8df1-06fddc80269d', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'f3e184b2-631a-47b2-b583-32ac2fec9e3c', 'device_manufacturer_code': 'sengled', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Sump Pump Room Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'on-off-level', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Boys Lights', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'f27d0b27-24fd-4d8c-b003-d3d7aaba1e70', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Boys Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'fabca29a-3fea-4c02-848d-b5382ec44797', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'Basement Exit Light', 'manufacturer_category': , 'user_category': , }), }), 'device_id': 'aaedaf28-2ae0-4c1d-b57e-87f6a420c298', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Basement Exit Light', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'e73dcd00-6953-431d-ae79-73fd2f2c528e', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '976fc7c3-1f59-444d-bf4b-c215cafc09c2', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Basement Exit Cam', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-go-switch', 'ocf': None, 'parent_device_id': None, 'room_id': 'e73dcd00-6953-431d-ae79-73fd2f2c528e', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'VMC4030P', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '6743dbb9-3825-48d8-8db7-db4602db7dba', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Driveway Cam', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-go-switch', 'ocf': None, 'parent_device_id': None, 'room_id': '3a1f7e7c-4e59-4c29-adb0-0813be691efd', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'VMC4030P', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '6e3e44b3-d84a-4efc-a97b-b5e0dae28ddc', 'device_manufacturer_code': 'TCPi', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Salimโ€™s Lamp', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'switch-level', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '19cec9f9-9947-4568-a98e-ab09a44d2b56', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '6356b240-c7d8-403c-883e-ae438d432abe', 'device_manufacturer_code': 'SmartThings', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Basement Door', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'multi-sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '10e06a70-ee7d-4832-85e9-a0a06a7a05bd', 'device_manufacturer_code': 'Arlo', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': '2nd Floor Hallway', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'c2c-arlo-pro-3-switch', 'ocf': None, 'parent_device_id': None, 'room_id': '68b45114-9af8-4906-8636-b973a6faa271', 'type': , 'viper': dict({ 'hardware_version': None, 'manufacturer_name': 'Arlo', 'model_name': 'VMC4041PB', 'software_version': None, }), }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Front Door Lights', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '84f1eaf0-592e-459a-a2b3-4fc43e004dae', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Front Door Lights', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE Dimmer Switch', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'e73dcd00-6953-431d-ae79-73fd2f2c528e', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , ]), 'id': 'main', 'label': 'Toy Room', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '971b05df-6ed3-446e-b54f-5092eac01921', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Toy Room', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'GE In-Wall Smart Dimmer', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , ]), 'id': 'main', 'label': 'Motion Sensor', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '630cf009-eb3b-409e-a77a-9b298540532f', 'device_manufacturer_code': 'Bosch', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Motion Sensor', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'Motion Sensor', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': '68b45114-9af8-4906-8636-b973a6faa271', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': , }), }), 'device_id': '4c3469c9-3556-4f19-a2e1-1c0a598341dc', 'device_manufacturer_code': '0063-4944-3130', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Girls Fan', 'location_id': 'c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ', 'matter': None, 'name': 'switch-level-indicator', 'ocf': None, 'parent_device_id': '074fa784-8be8-4c70-8e22-6f5ed6f81b7e', 'room_id': 'fabca29a-3fea-4c02-848d-b5382ec44797', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_9] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '29014d68-d9a8-20da-0b6f-053112978980', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Climatiseur Quentin', 'location_id': 'd507e237-896e-4352-8f0f-0664c91234bd', 'matter': None, 'name': 'Samsung-Room-Air-Conditioner', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': 'TP2X_RAC_20K_11240702', 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T17:54:58.789830031Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP2X_RAC_20K|10256941|60010519001411014600003200800000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-AC-RAC-000003', }), 'parent_device_id': None, 'room_id': '94f950fc-6d38-4092-808f-5c4cb69cfc3a', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '1dca2ebe-b3d8-a476-77b9-bb60612c5d26', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Climatiseur Parents', 'location_id': 'd507e237-896e-4352-8f0f-0664c91234bd', 'matter': None, 'name': 'Samsung-Room-Air-Conditioner', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': 'TP2X_RAC_20K_11240702', 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T17:58:57.743228490Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP2X_RAC_20K|10256941|60010519001411014600003200800000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-AC-RAC-000003', }), 'parent_device_id': None, 'room_id': '278e20e9-7dc1-4a2b-8d07-a89d899c29a3', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '8c1b8eff-e8c7-dcf8-58f8-da81669b92eb', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF TV', 'hub': None, 'label': 'TV', 'location_id': 'd507e237-896e-4352-8f0f-0664c91234bd', 'matter': None, 'name': 'TV', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.tv', 'firmware_version': 'T-PTMCDEUC-0080-2020.2|ST_ENERGY', 'hardware_version': '', 'last_signup': '2024-09-10T10:22:36.130198Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TQ65S90CATXXC', 'name': 'TV', 'platform_os': 'Tizen', 'platform_version': '8.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'VD-STV-2023', }), 'parent_device_id': None, 'room_id': '9438790a-b4be-47dd-91ed-aef6dffc9f85', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '79542474-e6dd-597d-f09a-8dd0ad380f89', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Climatiseur Salon', 'location_id': 'd507e237-896e-4352-8f0f-0664c91234bd', 'matter': None, 'name': 'Samsung-Room-Air-Conditioner', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': 'TP2X_RAC_20K_11240702', 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T17:41:25.828330803Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP2X_RAC_20K|10217841|60010523001411014200003000000000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-AC-RAC-000003', }), 'parent_device_id': None, 'room_id': '9438790a-b4be-47dd-91ed-aef6dffc9f85', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '9b2d0391-ffd6-1ad6-b9e1-247414819dc8', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Climatiseur Lisa', 'location_id': 'd507e237-896e-4352-8f0f-0664c91234bd', 'matter': None, 'name': 'Samsung-Room-Air-Conditioner', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': 'TP2X_RAC_20K_11240702', 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T18:05:33.189051506Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP2X_RAC_20K|10256941|60010519001411014600003200800000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-AC-RAC-000003', }), 'parent_device_id': None, 'room_id': 'bf637e8b-0744-4144-8061-fa7a0e17b0f7', 'type': , 'viper': None, }), dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': 'bcfb285e-5a5e-f5c6-bfe2-e6af42227df9', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Air Conditioner', 'hub': None, 'label': 'Climatiseur Bureau', 'location_id': 'd507e237-896e-4352-8f0f-0664c91234bd', 'matter': None, 'name': 'Samsung-Room-Air-Conditioner', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.airconditioner', 'firmware_version': 'TP2X_RAC_20K_11240702', 'hardware_version': 'MediaTek', 'last_signup': '2025-01-10T17:50:04.649099407Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': 'TP2X_RAC_20K|10217841|60010519001411014200003000000000', 'name': 'Samsung-Room-Air-Conditioner', 'platform_os': 'TizenRT 2.0 + IPv6', 'platform_version': 'DAWIT 2.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': '1.2.1', 'transfer_candidate': False, 'vendor_id': 'DA-AC-RAC-000003', }), 'parent_device_id': None, 'room_id': '7f402cb7-cc5f-4ea6-90be-427e9c2a8dd4', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_devices[devices_fake] list([ dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ 'fakeCapability', ]), 'id': 'main', 'label': 'main', 'manufacturer_category': 'fakeCategory', 'user_category': None, }), }), 'device_id': '7d3feb98-8a36-4351-c362-5e21ad3a78dd', 'device_manufacturer_code': 'Samsung Electronics', 'device_network_type': None, 'device_type_id': None, 'device_type_name': 'Samsung OCF Refrigerator', 'hub': None, 'label': 'Refrigerator', 'location_id': '2487472a-06c4-4bce-8f4c-700c5f8644f8', 'matter': None, 'name': 'Family Hub', 'ocf': dict({ 'additional_auth_code_required': False, 'device_type': 'oic.d.refrigerator', 'firmware_version': '20240616.213423', 'hardware_version': '', 'last_signup': '2021-07-27T01:19:40.244392Z', 'manufacturer_name': 'Samsung Electronics', 'model_code': None, 'model_number': '24K_REF_LCD_FHUB9.0|00113141|0002034e051324200103000000000000', 'name': 'Family Hub', 'platform_os': 'Tizen', 'platform_version': '7.0', 'spec_version': 'core.1.1.0', 'spec_version_vertical': 'res.1.1.0,sh.1.1.0', 'transfer_candidate': False, 'vendor_id': 'DA-REF-NORMAL-01001', }), 'parent_device_id': None, 'room_id': 'acaa060a-7c19-4579-8a4a-5ad891a2f0c1', 'type': , 'viper': None, }), ]) # --- # name: test_fetching_health dict({ 'device_id': '612ab3c2-3bb0-48f7-b2c0-15b169cb2fc3', 'last_updated_date': datetime.datetime(2025, 4, 28, 11, 43, 31, 600000, tzinfo=datetime.timezone.utc), 'state': , }) # --- # name: test_fetching_multiple_pages_raw list([ dict({ '_links': dict({ 'next': dict({ 'href': 'https://api.smartthings.com/devices?max=200&page=1', }), }), 'items': list([ dict({ 'allowed': list([ ]), 'components': list([ dict({ 'capabilities': list([ dict({ 'id': 'ocf', 'version': 1, }), dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'refresh', 'version': 1, }), dict({ 'id': 'execute', 'version': 1, }), dict({ 'id': 'airConditionerMode', 'version': 1, }), dict({ 'id': 'airConditionerFanMode', 'version': 1, }), dict({ 'id': 'fanOscillationMode', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.airConditionerOptionalMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'samsungce.alwaysOnSensing', 'version': 1, }), dict({ 'id': 'samsungce.deviceIdentification', 'version': 1, }), dict({ 'id': 'samsungce.softwareUpdate', 'version': 1, }), dict({ 'id': 'samsungce.driverVersion', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), dict({ 'id': 'samsungce.welcomeCooling', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'AirConditioner', }), ]), 'id': 'main', 'label': 'main', }), ]), 'createTime': '2024-10-17T16:31:53.794Z', 'deviceId': 'd424e86b-15cf-79e2-48d5-480a6c0d18f9', 'deviceManufacturerCode': 'Samsung Electronics', 'deviceTypeName': 'Samsung OCF Air Conditioner', 'executionContext': 'CLOUD', 'label': 'Rumsluftkonditionering', 'locationId': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'manufacturerName': 'Samsung Electronics', 'name': '[room a/c] Samsung', 'ocf': dict({ 'additionalAuthCodeRequired': False, 'firmwareVersion': 'ARA-WW-TP2-21-OT9700_11210729', 'hwVersion': 'MediaTek', 'lastSignupTime': '2024-10-17T16:31:50.161629012Z', 'manufacturerName': 'Samsung Electronics', 'modelNumber': 'ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000', 'name': '[room a/c] Samsung', 'ocfDeviceType': 'oic.d.airconditioner', 'platformOS': 'TizenRT 1.0 + IPv6', 'platformVersion': 'DAWIT 2.0', 'specVersion': 'core.1.1.0', 'transferCandidate': False, 'vendorId': 'DA-AC-THERAC-01011', 'vendorResourceClientServerVersion': 'MediaTek Release 2.210630.1', 'verticalDomainSpecVersion': 'res.1.1.0,sh.1.1.0', }), 'ownerId': '83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a', 'presentationId': 'DA-AC-THERAC-01011', 'profile': dict({ 'id': '81d37656-87e9-3f45-b649-5cfd382830b7', }), 'relationships': list([ ]), 'restrictionTier': 0, 'roomId': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': 'OCF', }), dict({ 'allowed': list([ ]), 'components': list([ dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'execute', 'version': 1, }), dict({ 'id': 'ocf', 'version': 1, }), dict({ 'id': 'powerConsumptionReport', 'version': 1, }), dict({ 'id': 'demandResponseLoadControl', 'version': 1, }), dict({ 'id': 'refresh', 'version': 1, }), dict({ 'id': 'refrigeration', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.deodorFilter', 'version': 1, }), dict({ 'id': 'custom.dustFilter', 'version': 1, }), dict({ 'id': 'custom.deviceReportStateConfiguration', 'version': 1, }), dict({ 'id': 'custom.energyType', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.disabledComponents', 'version': 1, }), dict({ 'id': 'custom.waterFilter', 'version': 1, }), dict({ 'id': 'samsungce.softwareUpdate', 'version': 1, }), dict({ 'id': 'samsungce.deviceIdentification', 'version': 1, }), dict({ 'id': 'samsungce.driverVersion', 'version': 1, }), dict({ 'id': 'samsungce.fridgeVacationMode', 'version': 1, }), dict({ 'id': 'samsungce.powerCool', 'version': 1, }), dict({ 'id': 'samsungce.powerFreeze', 'version': 1, }), dict({ 'id': 'samsungce.sabbathMode', 'version': 1, }), dict({ 'id': 'samsungce.selfCheck', 'version': 1, }), dict({ 'id': 'samsungce.viewInside', 'version': 1, }), dict({ 'id': 'samsungce.fridgeWelcomeLighting', 'version': 1, }), dict({ 'id': 'samsungce.quickControl', 'version': 1, }), dict({ 'id': 'sec.diagnosticsInformation', 'version': 1, }), dict({ 'id': 'sec.wifiConfiguration', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Refrigerator', }), ]), 'id': 'main', 'label': 'main', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'freezer', 'label': 'freezer', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cooler', 'label': 'cooler', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cvroom', 'label': 'cvroom', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'onedoor', 'label': 'onedoor', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker', 'label': 'icemaker', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-02', 'label': 'icemaker-02', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-03', 'label': 'icemaker-03', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'samsungce.weightMeasurementCalibration', 'version': 1, }), dict({ 'id': 'samsungce.connectionState', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-10', 'label': 'scale-10', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-11', 'label': 'scale-11', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-01', 'label': 'pantry-01', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-02', 'label': 'pantry-02', }), ]), 'createTime': '2024-12-01T06:45:53.319Z', 'deviceId': 'a4b78a08-11e6-6d41-2abc-dcbfddcfea65', 'deviceManufacturerCode': 'Samsung Electronics', 'deviceTypeName': 'Samsung OCF Refrigerator', 'executionContext': 'CLOUD', 'label': 'Kylskรฅp', 'locationId': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'manufacturerName': 'Samsung Electronics', 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additionalAuthCodeRequired': False, 'firmwareVersion': 'A-RFWW-TP1-22-REV1_20241030', 'hwVersion': 'Realtek', 'lastSignupTime': '2024-12-01T06:45:53.249899752Z', 'manufacturerName': 'Samsung Electronics', 'modelNumber': 'TP1X_REF_21K|00130443|00090026001610304100000021010000', 'name': 'Samsung-Refrigerator', 'ocfDeviceType': 'oic.d.refrigerator', 'platformOS': 'TizenRT 3.1', 'platformVersion': 'DAWIT 2.0', 'specVersion': 'core.1.1.0', 'transferCandidate': False, 'vendorId': 'DA-REF-NORMAL-01011', 'vendorResourceClientServerVersion': 'Realtek Release 3.1.240221', 'verticalDomainSpecVersion': '1.2.1', }), 'ownerId': '83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a', 'presentationId': 'DA-REF-NORMAL-01011', 'profile': dict({ 'id': '37c7b355-bdaa-371b-b246-dbdf2a7f9c84', }), 'relationships': list([ ]), 'restrictionTier': 0, 'roomId': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': 'OCF', }), dict({ 'allowed': list([ ]), 'components': list([ dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'execute', 'version': 1, }), dict({ 'id': 'ocf', 'version': 1, }), dict({ 'id': 'powerConsumptionReport', 'version': 1, }), dict({ 'id': 'demandResponseLoadControl', 'version': 1, }), dict({ 'id': 'refresh', 'version': 1, }), dict({ 'id': 'refrigeration', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.deodorFilter', 'version': 1, }), dict({ 'id': 'custom.dustFilter', 'version': 1, }), dict({ 'id': 'custom.deviceReportStateConfiguration', 'version': 1, }), dict({ 'id': 'custom.energyType', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.disabledComponents', 'version': 1, }), dict({ 'id': 'custom.waterFilter', 'version': 1, }), dict({ 'id': 'samsungce.softwareUpdate', 'version': 1, }), dict({ 'id': 'samsungce.deviceIdentification', 'version': 1, }), dict({ 'id': 'samsungce.driverVersion', 'version': 1, }), dict({ 'id': 'samsungce.fridgeVacationMode', 'version': 1, }), dict({ 'id': 'samsungce.powerCool', 'version': 1, }), dict({ 'id': 'samsungce.powerFreeze', 'version': 1, }), dict({ 'id': 'samsungce.sabbathMode', 'version': 1, }), dict({ 'id': 'samsungce.selfCheck', 'version': 1, }), dict({ 'id': 'samsungce.viewInside', 'version': 1, }), dict({ 'id': 'samsungce.fridgeWelcomeLighting', 'version': 1, }), dict({ 'id': 'samsungce.quickControl', 'version': 1, }), dict({ 'id': 'sec.diagnosticsInformation', 'version': 1, }), dict({ 'id': 'sec.wifiConfiguration', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Refrigerator', }), ]), 'id': 'main', 'label': 'main', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'freezer', 'label': 'freezer', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cooler', 'label': 'cooler', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cvroom', 'label': 'cvroom', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'onedoor', 'label': 'onedoor', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker', 'label': 'icemaker', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-02', 'label': 'icemaker-02', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-03', 'label': 'icemaker-03', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'samsungce.weightMeasurementCalibration', 'version': 1, }), dict({ 'id': 'samsungce.connectionState', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-10', 'label': 'scale-10', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-11', 'label': 'scale-11', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-01', 'label': 'pantry-01', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-02', 'label': 'pantry-02', }), ]), 'createTime': '2024-06-18T15:47:42.985Z', 'deviceId': 'b851a083-4b2c-9e68-e344-0312024e9fa0', 'deviceManufacturerCode': 'Samsung Electronics', 'deviceTypeName': 'Samsung OCF Refrigerator', 'executionContext': 'CLOUD', 'label': 'Freezer', 'locationId': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'manufacturerName': 'Samsung Electronics', 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additionalAuthCodeRequired': False, 'firmwareVersion': 'A-RFWW-TP1-22-REV1_20241030', 'hwVersion': 'Realtek', 'lastSignupTime': '2024-11-27T07:08:32.745636184Z', 'manufacturerName': 'Samsung Electronics', 'modelNumber': 'TP1X_REF_21K|00127643|00080020001610304100000020010000', 'name': 'Samsung-Refrigerator', 'ocfDeviceType': 'oic.d.refrigerator', 'platformOS': 'TizenRT 3.1', 'platformVersion': 'DAWIT 2.0', 'specVersion': 'core.1.1.0', 'transferCandidate': False, 'vendorId': 'DA-REF-NORMAL-01011', 'vendorResourceClientServerVersion': 'Realtek Release 3.1.240221', 'verticalDomainSpecVersion': '1.2.1', }), 'ownerId': '83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a', 'presentationId': 'DA-REF-NORMAL-01011', 'profile': dict({ 'id': '37c7b355-bdaa-371b-b246-dbdf2a7f9c84', }), 'relationships': list([ ]), 'restrictionTier': 0, 'roomId': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': 'OCF', }), ]), }), dict({ '_links': dict({ }), 'items': list([ dict({ 'allowed': list([ ]), 'components': list([ dict({ 'capabilities': list([ dict({ 'id': 'ocf', 'version': 1, }), dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'refresh', 'version': 1, }), dict({ 'id': 'execute', 'version': 1, }), dict({ 'id': 'airConditionerMode', 'version': 1, }), dict({ 'id': 'airConditionerFanMode', 'version': 1, }), dict({ 'id': 'fanOscillationMode', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.airConditionerOptionalMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'samsungce.alwaysOnSensing', 'version': 1, }), dict({ 'id': 'samsungce.deviceIdentification', 'version': 1, }), dict({ 'id': 'samsungce.softwareUpdate', 'version': 1, }), dict({ 'id': 'samsungce.driverVersion', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), dict({ 'id': 'samsungce.welcomeCooling', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'AirConditioner', }), ]), 'id': 'main', 'label': 'main', }), ]), 'createTime': '2024-10-17T16:31:53.794Z', 'deviceId': 'd424e86b-15cf-79e2-48d5-480a6c0d18f9', 'deviceManufacturerCode': 'Samsung Electronics', 'deviceTypeName': 'Samsung OCF Air Conditioner', 'executionContext': 'CLOUD', 'label': 'Rumsluftkonditionering', 'locationId': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'manufacturerName': 'Samsung Electronics', 'name': '[room a/c] Samsung', 'ocf': dict({ 'additionalAuthCodeRequired': False, 'firmwareVersion': 'ARA-WW-TP2-21-OT9700_11210729', 'hwVersion': 'MediaTek', 'lastSignupTime': '2024-10-17T16:31:50.161629012Z', 'manufacturerName': 'Samsung Electronics', 'modelNumber': 'ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000', 'name': '[room a/c] Samsung', 'ocfDeviceType': 'oic.d.airconditioner', 'platformOS': 'TizenRT 1.0 + IPv6', 'platformVersion': 'DAWIT 2.0', 'specVersion': 'core.1.1.0', 'transferCandidate': False, 'vendorId': 'DA-AC-THERAC-01011', 'vendorResourceClientServerVersion': 'MediaTek Release 2.210630.1', 'verticalDomainSpecVersion': 'res.1.1.0,sh.1.1.0', }), 'ownerId': '83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a', 'presentationId': 'DA-AC-THERAC-01011', 'profile': dict({ 'id': '81d37656-87e9-3f45-b649-5cfd382830b7', }), 'relationships': list([ ]), 'restrictionTier': 0, 'roomId': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': 'OCF', }), dict({ 'allowed': list([ ]), 'components': list([ dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'execute', 'version': 1, }), dict({ 'id': 'ocf', 'version': 1, }), dict({ 'id': 'powerConsumptionReport', 'version': 1, }), dict({ 'id': 'demandResponseLoadControl', 'version': 1, }), dict({ 'id': 'refresh', 'version': 1, }), dict({ 'id': 'refrigeration', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.deodorFilter', 'version': 1, }), dict({ 'id': 'custom.dustFilter', 'version': 1, }), dict({ 'id': 'custom.deviceReportStateConfiguration', 'version': 1, }), dict({ 'id': 'custom.energyType', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.disabledComponents', 'version': 1, }), dict({ 'id': 'custom.waterFilter', 'version': 1, }), dict({ 'id': 'samsungce.softwareUpdate', 'version': 1, }), dict({ 'id': 'samsungce.deviceIdentification', 'version': 1, }), dict({ 'id': 'samsungce.driverVersion', 'version': 1, }), dict({ 'id': 'samsungce.fridgeVacationMode', 'version': 1, }), dict({ 'id': 'samsungce.powerCool', 'version': 1, }), dict({ 'id': 'samsungce.powerFreeze', 'version': 1, }), dict({ 'id': 'samsungce.sabbathMode', 'version': 1, }), dict({ 'id': 'samsungce.selfCheck', 'version': 1, }), dict({ 'id': 'samsungce.viewInside', 'version': 1, }), dict({ 'id': 'samsungce.fridgeWelcomeLighting', 'version': 1, }), dict({ 'id': 'samsungce.quickControl', 'version': 1, }), dict({ 'id': 'sec.diagnosticsInformation', 'version': 1, }), dict({ 'id': 'sec.wifiConfiguration', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Refrigerator', }), ]), 'id': 'main', 'label': 'main', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'freezer', 'label': 'freezer', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cooler', 'label': 'cooler', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cvroom', 'label': 'cvroom', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'onedoor', 'label': 'onedoor', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker', 'label': 'icemaker', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-02', 'label': 'icemaker-02', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-03', 'label': 'icemaker-03', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'samsungce.weightMeasurementCalibration', 'version': 1, }), dict({ 'id': 'samsungce.connectionState', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-10', 'label': 'scale-10', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-11', 'label': 'scale-11', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-01', 'label': 'pantry-01', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-02', 'label': 'pantry-02', }), ]), 'createTime': '2024-12-01T06:45:53.319Z', 'deviceId': 'a4b78a08-11e6-6d41-2abc-dcbfddcfea65', 'deviceManufacturerCode': 'Samsung Electronics', 'deviceTypeName': 'Samsung OCF Refrigerator', 'executionContext': 'CLOUD', 'label': 'Kylskรฅp', 'locationId': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'manufacturerName': 'Samsung Electronics', 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additionalAuthCodeRequired': False, 'firmwareVersion': 'A-RFWW-TP1-22-REV1_20241030', 'hwVersion': 'Realtek', 'lastSignupTime': '2024-12-01T06:45:53.249899752Z', 'manufacturerName': 'Samsung Electronics', 'modelCode': 'NONE', 'modelNumber': 'TP1X_REF_21K|00130443|00090026001610304100000021010000', 'name': 'Samsung-Refrigerator', 'ocfDeviceType': 'oic.d.refrigerator', 'platformOS': 'TizenRT 3.1', 'platformVersion': 'DAWIT 2.0', 'specVersion': 'core.1.1.0', 'transferCandidate': False, 'vendorId': 'DA-REF-NORMAL-01011', 'vendorResourceClientServerVersion': 'Realtek Release 3.1.240221', 'verticalDomainSpecVersion': '1.2.1', }), 'ownerId': '83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a', 'presentationId': 'DA-REF-NORMAL-01011', 'profile': dict({ 'id': '37c7b355-bdaa-371b-b246-dbdf2a7f9c84', }), 'relationships': list([ ]), 'restrictionTier': 0, 'roomId': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': 'OCF', }), dict({ 'allowed': list([ ]), 'components': list([ dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'execute', 'version': 1, }), dict({ 'id': 'ocf', 'version': 1, }), dict({ 'id': 'powerConsumptionReport', 'version': 1, }), dict({ 'id': 'demandResponseLoadControl', 'version': 1, }), dict({ 'id': 'refresh', 'version': 1, }), dict({ 'id': 'refrigeration', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.deodorFilter', 'version': 1, }), dict({ 'id': 'custom.dustFilter', 'version': 1, }), dict({ 'id': 'custom.deviceReportStateConfiguration', 'version': 1, }), dict({ 'id': 'custom.energyType', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.disabledComponents', 'version': 1, }), dict({ 'id': 'custom.waterFilter', 'version': 1, }), dict({ 'id': 'samsungce.softwareUpdate', 'version': 1, }), dict({ 'id': 'samsungce.deviceIdentification', 'version': 1, }), dict({ 'id': 'samsungce.driverVersion', 'version': 1, }), dict({ 'id': 'samsungce.fridgeVacationMode', 'version': 1, }), dict({ 'id': 'samsungce.powerCool', 'version': 1, }), dict({ 'id': 'samsungce.powerFreeze', 'version': 1, }), dict({ 'id': 'samsungce.sabbathMode', 'version': 1, }), dict({ 'id': 'samsungce.selfCheck', 'version': 1, }), dict({ 'id': 'samsungce.viewInside', 'version': 1, }), dict({ 'id': 'samsungce.fridgeWelcomeLighting', 'version': 1, }), dict({ 'id': 'samsungce.quickControl', 'version': 1, }), dict({ 'id': 'sec.diagnosticsInformation', 'version': 1, }), dict({ 'id': 'sec.wifiConfiguration', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Refrigerator', }), ]), 'id': 'main', 'label': 'main', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'freezer', 'label': 'freezer', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cooler', 'label': 'cooler', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cvroom', 'label': 'cvroom', }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'onedoor', 'label': 'onedoor', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker', 'label': 'icemaker', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-02', 'label': 'icemaker-02', }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-03', 'label': 'icemaker-03', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'samsungce.weightMeasurementCalibration', 'version': 1, }), dict({ 'id': 'samsungce.connectionState', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-10', 'label': 'scale-10', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-11', 'label': 'scale-11', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-01', 'label': 'pantry-01', }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-02', 'label': 'pantry-02', }), ]), 'createTime': '2024-06-18T15:47:42.985Z', 'deviceId': 'b851a083-4b2c-9e68-e344-0312024e9fa0', 'deviceManufacturerCode': 'Samsung Electronics', 'deviceTypeName': 'Samsung OCF Refrigerator', 'executionContext': 'CLOUD', 'label': 'Freezer', 'locationId': 'f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19', 'manufacturerName': 'Samsung Electronics', 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additionalAuthCodeRequired': False, 'firmwareVersion': 'A-RFWW-TP1-22-REV1_20241030', 'hwVersion': 'Realtek', 'lastSignupTime': '2024-11-27T07:08:32.745636184Z', 'manufacturerName': 'Samsung Electronics', 'modelCode': '', 'modelNumber': 'TP1X_REF_21K|00127643|00080020001610304100000020010000', 'name': 'Samsung-Refrigerator', 'ocfDeviceType': 'oic.d.refrigerator', 'platformOS': 'TizenRT 3.1', 'platformVersion': 'DAWIT 2.0', 'specVersion': 'core.1.1.0', 'transferCandidate': False, 'vendorId': 'DA-REF-NORMAL-01011', 'vendorResourceClientServerVersion': 'Realtek Release 3.1.240221', 'verticalDomainSpecVersion': '1.2.1', }), 'ownerId': '83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a', 'presentationId': 'DA-REF-NORMAL-01011', 'profile': dict({ 'id': '37c7b355-bdaa-371b-b246-dbdf2a7f9c84', }), 'relationships': list([ ]), 'restrictionTier': 0, 'roomId': '14591410-f1b4-4e5a-af3f-2dd0424c580a', 'type': 'OCF', }), dict({ 'allowed': None, 'components': list([ dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'execute', 'version': 1, }), dict({ 'id': 'ocf', 'version': 1, }), dict({ 'id': 'powerConsumptionReport', 'version': 1, }), dict({ 'id': 'demandResponseLoadControl', 'version': 1, }), dict({ 'id': 'refresh', 'version': 1, }), dict({ 'id': 'refrigeration', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.deodorFilter', 'version': 1, }), dict({ 'id': 'custom.dustFilter', 'version': 1, }), dict({ 'id': 'custom.deviceReportStateConfiguration', 'version': 1, }), dict({ 'id': 'custom.energyType', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.disabledComponents', 'version': 1, }), dict({ 'id': 'custom.waterFilter', 'version': 1, }), dict({ 'id': 'samsungce.softwareUpdate', 'version': 1, }), dict({ 'id': 'samsungce.deviceIdentification', 'version': 1, }), dict({ 'id': 'samsungce.driverVersion', 'version': 1, }), dict({ 'id': 'samsungce.driverState', 'version': 1, }), dict({ 'id': 'samsungce.fridgeVacationMode', 'version': 1, }), dict({ 'id': 'samsungce.powerCool', 'version': 1, }), dict({ 'id': 'samsungce.powerFreeze', 'version': 1, }), dict({ 'id': 'samsungce.sabbathMode', 'version': 1, }), dict({ 'id': 'samsungce.selfCheck', 'version': 1, }), dict({ 'id': 'samsungce.viewInside', 'version': 1, }), dict({ 'id': 'samsungce.fridgeWelcomeLighting', 'version': 1, }), dict({ 'id': 'samsungce.quickControl', 'version': 1, }), dict({ 'id': 'samsungce.softwareVersion', 'version': 1, }), dict({ 'id': 'sec.diagnosticsInformation', 'version': 1, }), dict({ 'id': 'sec.wifiConfiguration', 'version': 1, }), dict({ 'ephemeral': True, 'id': 'sec.smartthingsHub', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Refrigerator', }), ]), 'id': 'main', 'label': 'main', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'freezer', 'label': 'freezer', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cooler', 'label': 'cooler', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'cvroom', 'label': 'cvroom', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'contactSensor', 'version': 1, }), dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatCoolingSetpoint', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.thermostatSetpointControl', 'version': 1, }), dict({ 'id': 'samsungce.temperatureSetting', 'version': 1, }), dict({ 'id': 'samsungce.freezerConvertMode', 'version': 1, }), dict({ 'id': 'samsungce.unavailableCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'onedoor', 'label': 'onedoor', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'samsungce.fridgeIcemakerInfo', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker', 'label': 'icemaker', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'samsungce.fridgeIcemakerInfo', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-02', 'label': 'icemaker-02', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'switch', 'version': 1, }), dict({ 'id': 'samsungce.fridgeIcemakerInfo', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'icemaker-03', 'label': 'icemaker-03', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'samsungce.weightMeasurementCalibration', 'version': 1, }), dict({ 'id': 'samsungce.connectionState', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-10', 'label': 'scale-10', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'samsungce.weightMeasurement', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'scale-11', 'label': 'scale-11', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-01', 'label': 'pantry-01', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryInfo', 'version': 1, }), dict({ 'id': 'samsungce.fridgePantryMode', 'version': 1, }), dict({ 'id': 'samsungce.meatAging', 'version': 1, }), dict({ 'id': 'samsungce.foodDefrost', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'pantry-02', 'label': 'pantry-02', 'optional': False, }), dict({ 'capabilities': list([ dict({ 'id': 'custom.fridgeMode', 'version': 1, }), dict({ 'id': 'custom.disabledCapabilities', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Other', }), ]), 'id': 'specialzone-01', 'label': 'specialzone-01', 'optional': False, }), ]), 'createTime': '2025-08-12T12:35:56.924Z', 'deviceId': '271d82e0-5b0c-e4b8-058e-cdf23a188610', 'deviceManufacturerCode': 'Samsung Electronics', 'deviceTypeName': 'Samsung OCF Refrigerator', 'executionContext': 'CLOUD', 'label': 'Fridge', 'locationId': '5274d210-9bd8-4a14-ae55-52a9ffeedfb7', 'manufacturerName': 'Samsung Electronics', 'name': 'Samsung-Refrigerator', 'ocf': dict({ 'additionalAuthCodeRequired': False, 'firmwareVersion': 'A-RFWW-TP1-24-T4-COM_20250706', 'hwVersion': 'Realtek', 'lastSignupTime': '2025-08-12T12:35:56.864318132Z', 'manufacturerName': 'Samsung Electronics', 'modelCode': 'RR39C7EC5B1/EF', 'modelNumber': 'TP1X_REF_21K|00130445|00090026001610304100000021010000', 'name': 'Samsung-Refrigerator', 'ocfDeviceType': 'oic.d.refrigerator', 'platformOS': 'TizenRT 4.0', 'platformVersion': 'SYSTEM 2.0', 'specVersion': 'core.1.1.0', 'transferCandidate': True, 'vendorId': 'DA-REF-NORMAL-01011', 'vendorResourceClientServerVersion': 'MediaTek Release 250706', 'verticalDomainSpecVersion': '1.2.1', }), 'ownerId': 'd40034d0-c87b-3fa6-da98-108c42c36a6b', 'presentationId': 'DA-REF-NORMAL-01011', 'profile': dict({ 'id': '840ff773-857b-324b-a54e-ba31a8155c4d', }), 'relationships': list([ ]), 'restrictionTier': 0, 'roomId': 'b19fa610-62f8-4109-b9cc-47f85fcefd29', 'type': 'OCF', }), dict({ 'allowed': None, 'components': list([ dict({ 'capabilities': list([ dict({ 'id': 'temperatureMeasurement', 'version': 1, }), dict({ 'id': 'thermostatMode', 'version': 1, }), dict({ 'id': 'thermostatHeatingSetpoint', 'version': 1, }), dict({ 'id': 'battery', 'version': 1, }), dict({ 'id': 'firmwareUpdate', 'version': 1, }), dict({ 'id': 'refresh', 'version': 1, }), ]), 'categories': list([ dict({ 'categoryType': 'manufacturer', 'name': 'Thermostat', }), ]), 'id': 'main', 'label': 'main', }), ]), 'createTime': '2024-11-29T19:55:00.910Z', 'deviceId': '286ba274-4093-4bcb-849c-a1a3efe7b1e5', 'deviceManufacturerCode': 'BOSCH', 'executionContext': 'LOCAL', 'label': 'Radiator Thermostat II [+M] Wohnzimmer', 'locationId': '0b6618a6-c3ab-4b6e-968d-59cc8c2761bc', 'manufacturerName': 'SmartThingsCommunity', 'matter': dict({ 'driverId': '5f3c42eb-5704-4c95-9705-c51c1a6764bf', 'endpoints': list([ dict({ 'deviceTypes': list([ dict({ 'deviceTypeId': 22, }), ]), 'endpointId': 0, }), dict({ 'deviceTypes': list([ dict({ 'deviceTypeId': 769, }), ]), 'endpointId': 1, }), ]), 'executingLocally': True, 'hubId': '61bd280e-71c4-44fb-9b6e-53fdf14718a2', 'listeningType': 'SLEEPY', 'networkId': '8EF2CF7A212285B2-46C6B9F266A4521A', 'productId': 12306, 'provisioningState': 'PROVISIONED', 'serialNumber': 'D44867FFFEB37584', 'supportedNetworkInterfaces': list([ 'THREAD', ]), 'syncDrivers': True, 'uniqueId': '8475B3FEFF6748D4', 'vendorId': 4617, 'version': dict({ 'hardware': 18, 'hardwareLabel': '1.2.0', 'software': 20009, 'softwareLabel': '2.00.09', }), }), 'name': 'thermostat', 'ownerId': '8a20b799-9d87-ecdc-39de-c93c6e4d3ea1', 'parentDeviceId': '61bd280e-71c4-44fb-9b6e-53fdf14718a2', 'presentationId': '2a1c9915-f61b-3f3a-a02b-703b8cccf3d6', 'profile': dict({ 'id': '4da5d086-111e-3084-a039-616974326833', }), 'relationships': list([ ]), 'restrictionTier': 0, 'roomId': '11374ab5-9b4e-416b-91d1-745bbf9b6db4', 'type': 'MATTER', }), ]), }), ]) # --- # name: test_fetching_single_device dict({ 'components': dict({ 'main': dict({ 'capabilities': list([ , , , , , , , ]), 'id': 'main', 'label': 'main', 'manufacturer_category': , 'user_category': None, }), }), 'device_id': '440063de-a200-40b5-8a6b-f3399eaa0370', 'device_manufacturer_code': 'Signify Netherlands B.V.', 'device_network_type': None, 'device_type_id': None, 'device_type_name': None, 'hub': None, 'label': 'Bathroom spot', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'matter': None, 'name': 'hue-color-temperature-bulb', 'ocf': None, 'parent_device_id': None, 'room_id': None, 'type': , 'viper': dict({ 'hardware_version': 'LTG002', 'manufacturer_name': 'Signify Netherlands B.V.', 'model_name': 'Hue ambiance spot', 'software_version': '1.122.2', }), }) # --- # name: test_fetching_status_of_single_device[27_smart_monitor_m5] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 0, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'muted', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 0, 858000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 15, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 15, 42, 44, 749000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungvd.ambient', 'samsungvd.ambientContent', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 1, 293000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Eye Saver Low', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 1, 293000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Eye Saver Low', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 1, 293000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeGen_327699', 'name': 'Eye Saver Low', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 0, 792000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Adaptive Sound', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 0, 792000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Adaptive Sound', 'Amplify', 'Standard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 0, 792000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeAdaptive', 'name': 'Adaptive Sound', }), dict({ 'id': 'modeAmplify', 'name': 'Amplify', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 4, 29, 15, 33, 43, 606000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 21, 859000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 21, 859000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', 'fastForward', 'rewind', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3f01bf2b-e9a3-3543-1047-42320283a5c1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2022-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'T-NKLBWWC-1651.10', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'LS27BM501ENXZA', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '6.5', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '27" Smart Monitor M5', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3f01bf2b-e9a3-3543-1047-42320283a5c1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-12-21T16:13:44Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 22, 478000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-SMONITOR-2022', }), }), : dict({ }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 21, 859000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 1, 350000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'monitor', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 13, 55, 1, 350000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3.5.1', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 23, 46, 45, 670000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI2', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 23, 46, 45, 670000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'HDMI2', 'name': 'PC', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 23, 100000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 23, 100000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 23, 100000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 23, 46, 45, 548000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'true', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 23, 46, 45, 445000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 23, 46, 45, 445000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1735688805, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 1, 1, 29, 26, 300000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 20, 25, 47, 18000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 20, 25, 47, 18000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), }), }), }) # --- # name: test_fetching_status_of_single_device[aeotec_home_energy_meter_gen5] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 21, 9, 8, 357000, tzinfo=datetime.timezone.utc), 'unit': 'kWh', 'value': 19978.536, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 21, 9, 8, 228000, tzinfo=datetime.timezone.utc), 'unit': 'W', 'value': 2859.743, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[base_lock] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 38, 27, 262000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 68, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 9, 17, 38, 32, 2000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'locked', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ 'codeName': 'Salim', }), 'timestamp': datetime.datetime(2024, 8, 8, 18, 20, 27, 537000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2 set', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 8, 18, 20, 27, 532000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '{"1":"Saima","2":"Salim"}', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 7, 23, 16, 15, 9, 860000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 244, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 7, 23, 16, 15, 15, 274000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Complete', }), }), : dict({ }), }), }) # --- # name: test_fetching_status_of_single_device[basic_electric_meter] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 56, 21, 918000, tzinfo=datetime.timezone.utc), 'unit': 'kWh', 'value': 1930.362, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 56, 21, 748000, tzinfo=datetime.timezone.utc), 'unit': 'W', 'value': 938.3, }), }), : dict({ }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_arlo_doorbell_battery] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 703000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 4, 891000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 50, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 703000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'up', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 703000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 703000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'pushed', ]), }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 9, 17, 18, 32, 636000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2024, 8, 29, 17, 58, 33, 680000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 35, 53, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'inactive', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 703000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'not detected', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 8, 0, 13, 57, 963000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'InHomeURL': '', 'OutHomeURL': '', }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_arlo_go_switch] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 1, 357000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 1, 357000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2024, 8, 29, 17, 58, 33, 700000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 26, 36, 366000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'inactive', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 726000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'not detected', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 1, 357000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 13, 3, 27, 30, 261000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'InHomeURL': '', 'OutHomeURL': '', }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_arlo_pro_3_switch] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 761000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 10, 41000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 761000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2025, 2, 3, 21, 55, 57, 991000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 761000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'inactive', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 761000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'not detected', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 10, 41000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_arlo_siren] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 8, 21, 56, 9, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2024, 8, 29, 17, 58, 33, 901000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_humidity] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 696000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ 'reason': 'DEVICE-OFFLINE', }), 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 696000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'offline', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2025, 2, 7, 23, 1, 15, 973000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 696000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 26, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 696000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 26, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_motion_2] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 3, 31, 3, 47000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 64, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 765000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2023, 12, 17, 18, 11, 41, 578000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 7, 46, 49, 463000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'inactive', }), }), : dict({ }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_shade] dict({ 'main': dict({ : dict({ : dict({ 'data': dict({ 'reason': 'DEVICE-OFFLINE', }), 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 694000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'offline', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2025, 2, 7, 23, 1, 15, 966000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 694000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 694000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'open', }), }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_switch] dict({ 'main': dict({ : dict({ : dict({ 'data': dict({ 'reason': 'DEVICE-OFFLINE', }), 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 691000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'offline', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2025, 2, 7, 23, 1, 15, 962000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 9, 4, 47, 691000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[c2c_thermostat_bridge_1] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2025, 2, 7, 23, 3, 33, 797000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[car_garage_door] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 55, 2, 124000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 4, 3, 280000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 6, 1, 2, 15, 881000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00000103', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 6, 1, 2, 15, 882000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00000103', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 6, 1, 2, 15, 882000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 17, 26, 766000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 46.4, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[centralite] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 31, 19, 45, 30, 464000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '16015010', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 31, 19, 45, 30, 461000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '16015010', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 31, 19, 45, 30, 464000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 31, 19, 45, 30, 462000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 49, 44, 159000, tzinfo=datetime.timezone.utc), 'unit': 'W', 'value': 0.0, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 14, 44, 853000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[contact_sensor] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 23, 50, 726000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 16, 42, 674000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 59, 19, 101000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00000103', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 59, 19, 102000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00000103', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 59, 19, 101000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 59, 19, 102000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 11, 44, 249000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 59.0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ac_rac_000001] dict({ '1': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 381000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 605000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'low', 'medium', 'high', 'turbo', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 8, 3, 50, 50, 930000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 8, 3, 50, 50, 930000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 57, 57, 602000, tzinfo=datetime.timezone.utc), 'unit': 'CAQI', 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 53, 541000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 8, 4, 11, 38, 269000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 8, 4, 11, 38, 269000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 57, 57, 659000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 57, 57, 659000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 498000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 53, 344000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 118000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 118000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 118000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 118000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 118000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 118000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 9, 800000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 9, 800000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 9, 800000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 605000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'remoteControlStatus', 'airQualitySensor', 'dustSensor', 'odorSensor', 'veryFineDustSensor', 'custom.dustFilter', 'custom.deodorFilter', 'custom.deviceReportStateConfiguration', 'audioVolume', 'custom.autoCleaningMode', 'custom.airConditionerTropicalNightMode', 'custom.airConditionerOdorController', 'demandResponseLoadControl', 'relativeHumidityMeasurement', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 145000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 145000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 145000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 145000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 145000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 145000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 38, 843000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 57, 57, 686000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 8, 4, 4, 19, 901000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 8, 4, 4, 19, 901000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 54, 748000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 122000, tzinfo=datetime.timezone.utc), 'unit': 'ฮผg/m^3', 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 122000, tzinfo=datetime.timezone.utc), 'unit': 'ฮผg/m^3', 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 0, 44, 53, 247000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'fixed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 325000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 38, 992000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 53, 364000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 291000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 39, 97000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 518000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 44, 10, 373000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 59, 136000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 38, 529000, tzinfo=datetime.timezone.utc), 'unit': 'ฮผg/m^3', 'value': None, }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 249000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'low', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 249000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'low', 'medium', 'high', 'turbo', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 642000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'heat', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 781000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'cool', 'dry', 'wind', 'auto', 'heat', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 37, 208000, tzinfo=datetime.timezone.utc), 'unit': 'CAQI', 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 642000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 37, 555000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 37, 555000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 642000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 781000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'off', 'windFree', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 642000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 642000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 643000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 643000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 643000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 642000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'remoteControlStatus', 'airQualitySensor', 'dustSensor', 'veryFineDustSensor', 'custom.dustFilter', 'custom.deodorFilter', 'custom.deviceReportStateConfiguration', 'samsungce.dongleSoftwareInstallation', 'demandResponseLoadControl', 'custom.airConditionerOdorController', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 642000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '1', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 527000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 527000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 527000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 527000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 527000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 527000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 12, 29, 7, 29, 17, 526000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 781000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 642000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 781000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 30, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 6, 30, 58, 307000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 16, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 781000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': -1, 'drlcType': 1, 'duration': 0, 'override': False, 'start': '1970-01-01T00:00:00Z', }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 665000, tzinfo=datetime.timezone.utc), 'unit': 'ฮผg/m^3', 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 665000, tzinfo=datetime.timezone.utc), 'unit': 'ฮผg/m^3', 'value': None, }), }), : dict({ : dict({ 'data': dict({ 'href': '/temperature/desired/0', }), 'timestamp': datetime.datetime(2023, 7, 19, 3, 7, 43, 270000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'range': list([ 16.0, 30.0, ]), 'rt': list([ 'oic.r.temperature', ]), 'temperature': 22.0, 'units': 'C', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 14, 39, 249000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'fixed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 782000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '96a5ef74-5832-a84b-f1f7-ca799957065d', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 912000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 781000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARTIK051_KRAC_18K|10193441|60010132001111110200000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0G3MPDCKA00010E', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 803000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[room a/c] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '96a5ef74-5832-a84b-f1f7-ca799957065d', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 933000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 26, 28, 552000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-AC-RAC-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 15, 33, 639000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 400, 'end': '2025-02-09T16:15:33Z', 'energy': 2247300, 'energySaved': 0, 'persistedEnergy': 2247300, 'power': 0, 'powerEnergy': 0.0, 'start': '2025-02-09T15:45:29Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 30, 13, 10, 23, 759000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 60, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 379000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 0, 44, 53, 855000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARTIK051_KRAC_18K', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 12, 29, 1, 36, 51, 289000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'completed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 6, 35, 9, 557000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24070101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 0, 44, 53, 349000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 0, 44, 53, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 6, 35, 9, 557000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'start', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 0, 44, 53, 855000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 0, 44, 53, 855000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 0, 44, 53, 855000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '43CEZFTFFL7Z2', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 37, 54, 72000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 33, 29, 164000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 25, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 15, 11, 608000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 25, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 4, 6, 16, 43, 35, 363000, tzinfo=datetime.timezone.utc), 'unit': 'ฮผg/m^3', 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ac_rac_000003] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 259000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'low', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 9, 749000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'low', 'medium', 'high', 'turbo', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 19, 44, 50, 32000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'heat', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 9, 348000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'cool', 'dry', 'wind', 'heat', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 19, 44, 50, 32000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 316000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 9, 303000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'off', 'sleep', 'quiet', 'speed', 'windFree', 'windFreeSleep', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 19, 44, 50, 32000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 192000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 371000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'enabled', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 371000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'state': 'disabled', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 371000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'disabled', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 19, 44, 50, 32000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'remoteControlStatus', 'airQualitySensor', 'dustSensor', 'odorSensor', 'veryFineDustSensor', 'custom.spiMode', 'custom.deodorFilter', 'custom.electricHepaFilter', 'custom.periodicSensing', 'custom.doNotDisturbMode', 'demandResponseLoadControl', 'powerConsumptionReport', 'custom.airConditionerOdorController', 'samsungce.individualControlLock', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 250000, tzinfo=datetime.timezone.utc), 'unit': 'Hour', 'value': 500, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 250000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'replaceable', 'washable', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 250000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 250000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 250000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 7, 775000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 7, 775000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 7, 944000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 9, 749000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 7, 240000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 30, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 20, 56, 26, 603000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 16, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 9, 749000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': -1, 'drlcType': 1, 'duration': 0, 'override': False, 'start': '1970-01-01T00:00:00Z', }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 360000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'fixed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 360000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'fixed', 'all', 'vertical', 'horizontal', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 142000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '29014d68-d9a8-20da-0b6f-053112978980', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 142000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 142000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP2X_RAC_20K_11240702', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MediaTek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 212000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP2X_RAC_20K|10256941|60010519001411014600003200800000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 2.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 142000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung-Room-Air-Conditioner', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '29014d68-d9a8-20da-0b6f-053112978980', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 18, 1, 5, 166000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-AC-RAC-000003', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 20, 46, 13, 242000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 36, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 321000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP2X_RAC_20K', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 7, 240000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24040101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 250000, tzinfo=datetime.timezone.utc), 'unit': 'Hour', 'value': 500, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 250000, tzinfo=datetime.timezone.utc), 'unit': 'Hour', 'value': list([ 180, 300, 500, 700, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 9, 655000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 10, 17, 55, 7, 240000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'start', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 321000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 321000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 321000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'P7CFUCFWR7IQS', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 374000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 252000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 393000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 17, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 38, 10, 393000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 22, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ac_rac_01001] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 5, 44, 1, 769000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'low', 'medium', 'high', 'turbo', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 7, 45, 816000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'high', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'low', 'medium', 'high', 'turbo', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'cool', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 35, 56, 800000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'cool', 'dry', 'wind', 'heat', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 21, 31, 35, 935000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'bypassed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 5, 44, 1, 853000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'off', 'sleep', 'quiet', 'smart', 'speed', 'windFree', 'windFreeSleep', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 6, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 5, 44, 2, 14000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 5, 17, 39, 792000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'enabled', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'state': 'disabled', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 5, 17, 39, 792000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'disabled', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.deodorFilter', 'custom.electricHepaFilter', 'custom.periodicSensing', 'custom.doNotDisturbMode', 'samsungce.deviceInfoPrivate', 'samsungce.quickControl', 'samsungce.welcomeCooling', 'samsungce.airConditionerBeep', 'samsungce.airConditionerLighting', 'samsungce.individualControlLock', 'samsungce.alwaysOnSensing', 'samsungce.buttonDisplayCondition', 'airQualitySensor', 'dustSensor', 'odorSensor', 'veryFineDustSensor', 'custom.spiMode', 'audioNotification', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 0, 10, 310000, tzinfo=datetime.timezone.utc), 'unit': 'Hour', 'value': 500, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 0, 10, 310000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'replaceable', 'washable', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 0, 10, 310000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 0, 10, 310000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 12, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 0, 10, 310000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 21, 31, 37, 357000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 21, 38, 35, 731000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 21, 38, 35, 560000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 21, 31, 39, 517000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 30, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 16, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': 0, 'drlcType': 1, 'duration': 0, 'override': False, 'start': '1970-01-01T00:00:00Z', }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'fixed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'fixed', 'vertical', 'horizontal', 'all', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 714000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '4ece486b-89db-f06a-d54d-748b676b4d8e', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 714000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 714000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARA-WW-TP1-22-COMMON_11240702', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Realtek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARA-WW-TP1-22-COMMON|10229641|60010523001511014600083200800000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 3.1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 714000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung-Room-Air-Conditioner', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '4ece486b-89db-f06a-d54d-748b676b4d8e', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-AC-RAC-01001', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 2, 44, 883000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 0, 'end': '2025-02-09T17:02:44Z', 'energy': 13836, 'energySaved': 0, 'persistedEnergy': 13836, 'persistedSavedEnergy': 0, 'power': 0, 'powerEnergy': 0.0, 'start': '2025-02-09T16:08:15Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 2, 45, 42000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 42, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 9, 30, 3, 213000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'on', 'off', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 5, 17, 41, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'enabled', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARA-WW-TP1-22-COMMON', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 21, 31, 35, 935000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 21, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 21, 31, 35, 935000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24100102, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 0, 10, 310000, tzinfo=datetime.timezone.utc), 'unit': 'Hour', 'value': 500, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': 'Hour', 'value': list([ 180, 300, 500, 700, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 1, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 52, 0, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'start', 'cancel', ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 21, 31, 38, 89000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 5, 20, 7, 11, 459000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'U7CB2ZD4QPDUC', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 5, 20, 7, 11, 459000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 5, 44, 1, 769000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.spiMode.setSpiMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'things', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wifi_https', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '010', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA01', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'helper_hotspot', 'ble_ocf', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'OPEN', 'WEP', 'WPA-PSK', 'WPA2-PSK', 'SAE', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '2.4G', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 444000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 38, 17, 28000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 27, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 7, 45, 643000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 23, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 5, 17, 41, 533000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': dict({ 'maximum': 30, 'minimum': 16, 'step': 1, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ac_therac_01011] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'auto', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'low', 'medium', 'high', 'turbo', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 7, 7, 40, 57, 236000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'heat', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 7, 7, 40, 57, 236000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'cool', 'dry', 'wind', 'heat', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'off', 'sleep', 'quiet', 'smart', 'speed', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 24, 23, 31, 3, 376000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.welcomeCooling', 'samsungce.alwaysOnSensing', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 7, 5, 6, 27, 498000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 30, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 7, 5, 6, 27, 498000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 8, }), }), : dict({ : dict({ 'data': dict({ 'href': '/temperature/current/0', }), 'timestamp': datetime.datetime(2025, 2, 3, 6, 5, 54, 925000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.s', ]), 'range': list([ 8, 30, ]), 'rt': list([ 'oic.r.temperature', ]), 'temperature': 20.0, 'units': 'C', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'vertical', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'fixed', 'all', 'vertical', 'horizontal', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'd424e86b-15cf-79e2-48d5-480a6c0d18f9', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARA-WW-TP2-21-OT9700_11210729', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MediaTek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 1.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[room a/c] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'd424e86b-15cf-79e2-48d5-480a6c0d18f9', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 7, 23, 6, 27, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-AC-THERAC-01011', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARA-WW-TP2-21-OT9700', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 24, 7, 46, 24, 38000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 21, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 24, 7, 46, 24, 38000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24090101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 23, 23, 31, 4, 385000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'BDCPH4AIXBPHY', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 6, 23, 31, 5, 535000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 7, 8, 1, 4, 926000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 23, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 3, 7, 5, 6, 27, 498000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 22, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ks_microwave_0101x] dict({ 'hood': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 1, 7, 813000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 1, 6, 959000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 3, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 1, 6, 959000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 796000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 0, 1, 2, 3, 4, 5, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 289000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 289000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'off', 'low', 'high', ]), }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 152000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'doorControl', 'samsungce.hoodFanSpeed', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ 'href': '/temperatures/vs/0', }), 'timestamp': datetime.datetime(2023, 7, 19, 5, 50, 12, 609000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.temperatures', ]), 'x.com.samsung.da.items': list([ dict({ 'x.com.samsung.da.current': '1', 'x.com.samsung.da.description': 'Temperature', 'x.com.samsung.da.desired': '0', 'x.com.samsung.da.id': '0', 'x.com.samsung.da.increment': '5', 'x.com.samsung.da.unit': 'Fahrenheit', }), ]), }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2bad3237-4886-e699-1b90-4a51a3d55c8a', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 3, 22, 0, 58, 832000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 3, 6, 44, 54, 757000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'AKS-WW-TP2-20-MICROWAVE-OTR_40230125', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MediaTek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 3, 6, 44, 54, 757000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP2X_DA-KS-MICROWAVE-0101X|40436241|50040100011411000200000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 3, 6, 44, 54, 757000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 2.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 3, 6, 44, 54, 757000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 3.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 3, 6, 44, 54, 757000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Microwave', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2bad3237-4886-e699-1b90-4a51a3d55c8a', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-KS-MICROWAVE-0101X', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 289000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Others', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 21, 3, 790000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Microwave', 'ConvectionBake', 'ConvectionRoast', 'grill', 'Others', 'warming', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 188000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-08T21:13:36.184Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 188000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 188000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 160000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 188000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 1, 9, 108000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 357000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'false', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 160000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'browingLevel': 0, 'categoryId': 0, 'cavityId': '0', 'itemId': 0, 'option': 0, 'recipeType': '0', 'servingSize': 0, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP2X_DA-KS-MICROWAVE-0101X', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 227000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 7, 3, 9, 36, 13, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 22120101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 1, 7, 813000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 1, 6, 959000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 3, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 1, 6, 959000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 796000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 0, 1, 2, 3, 4, 5, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 152000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 12, 609000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 30, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 289000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MicroWave', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 289000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ME8000T-/AA0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 289000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'US', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 3, 23, 15, 59, 10, 971000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'microwave', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 21, 3, 790000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'single': list([ dict({ 'mode': 'MicroWave', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '01:40:00', }), 'powerLevel': dict({ 'default': '100%', 'supportedValues': list([ '0%', '10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%', ]), }), }), }), dict({ 'mode': 'ConvectionBake', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '01:40:00', }), 'temperature': dict({ 'F': dict({ 'default': 350, 'max': 425, 'min': 100, 'supportedValues': list([ 100, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, ]), }), }), }), }), dict({ 'mode': 'ConvectionRoast', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '01:40:00', }), 'temperature': dict({ 'F': dict({ 'default': 325, 'max': 425, 'min': 200, 'supportedValues': list([ 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, ]), }), }), }), }), dict({ 'mode': 'Grill', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '01:40:00', }), 'temperature': dict({ 'F': dict({ 'default': 425, 'max': 425, 'min': 425, 'resolution': 5, }), }), }), }), dict({ 'mode': 'SpeedBake', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '01:40:00', }), 'powerLevel': dict({ 'default': '30%', 'supportedValues': list([ '10%', '30%', '50%', '70%', ]), }), }), }), dict({ 'mode': 'SpeedRoast', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '01:40:00', }), 'powerLevel': dict({ 'default': '30%', 'supportedValues': list([ '10%', '30%', '50%', '70%', ]), }), }), }), dict({ 'mode': 'KeepWarm', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '01:40:00', }), 'temperature': dict({ 'F': dict({ 'default': 175, 'max': 175, 'min': 175, 'resolution': 5, }), }), }), }), dict({ 'mode': 'Autocook', 'supportedOptions': dict({ }), }), dict({ 'mode': 'Cookie', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '01:40:00', }), 'temperature': dict({ 'F': dict({ 'default': 325, 'max': 325, 'min': 325, 'resolution': 5, }), }), }), }), dict({ 'mode': 'SteamClean', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '00:06:30', }), }), }), ]), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 160000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0%', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 160000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '0%', '10%', '20%', '30%', '40%', '50%', '60%', '70%', '80%', '90%', '100%', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 289000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'NoOperation', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 21, 3, 790000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'MicroWave', 'ConvectionBake', 'ConvectionRoast', 'Grill', 'SpeedBake', 'SpeedRoast', 'KeepWarm', 'Autocook', 'Cookie', 'SteamClean', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 188000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-08T21:13:36.184Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 188000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 188000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00:00:00', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 160000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 188000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 213000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 213000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'U7CNQWBWSCD7C', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wifi_https', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 21, 13, 36, 256000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '621', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 11, 12, 10000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 11, 15, 291000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 1, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ks_range_0101x] dict({ 'cavity-01': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 9, 7, 22, 35, 34, 197000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 3, 7, 46, 10, 165000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 6, 983000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Others', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 8, 409000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Others', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 4, 584000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-05-14T19:00:04.579Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 415000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 415000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 415000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 415000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 1, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 6, 976000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 6, 983000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ConvectionBake', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 6, 976000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 350, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 6, 983000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'NoOperation', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 8, 409000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'SelfClean', 'SteamClean', 'NoOperation', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 4, 584000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-05-14T19:00:04.579Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 415000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 415000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00:00:00', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 415000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 415000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 6, 976000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 175, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 49, 976000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 5, 293000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'run', 'ready', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 7, 52, 875000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': dict({ 'href': '/information/vs/0', }), 'timestamp': datetime.datetime(2023, 11, 28, 22, 49, 9, 333000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.information', ]), 'x.com.samsung.da.description': 'TP1X_DA-KS-OVEN-01011', 'x.com.samsung.da.items': list([ dict({ 'x.com.samsung.da.description': 'Version', 'x.com.samsung.da.id': '0', 'x.com.samsung.da.newVersionAvailable': '0', 'x.com.samsung.da.number': '02144A221005', 'x.com.samsung.da.type': 'Software', }), dict({ 'x.com.samsung.da.description': 'Version', 'x.com.samsung.da.id': '1', 'x.com.samsung.da.newVersionAvailable': '0', 'x.com.samsung.da.number': '20121600,FFFFFFFF', 'x.com.samsung.da.type': 'Firmware', }), ]), 'x.com.samsung.da.modelNum': 'TP1X_DA-KS-RANGE-0101X|40445041|5001011E03151101020000000000000', 'x.com.samsung.da.otnDUID': 'ZPCNQWBWXI53Q', 'x.com.samsung.da.serialNum': '0J4D7DARB00000K', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2c3cbaa0-1899-5ddc-7b58-9d657bd48f18', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 12, 19, 22, 33, 9, 710000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.2.1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 26, 132000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'AKS-WW-TP1-20-OVEN-3-CR_40240205', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 26, 132000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Realtek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 26, 132000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP1X_DA-KS-RANGE-0101X|40445041|5001011E031511010200000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 26, 132000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 3.1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 26, 132000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 3.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 26, 132000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Range', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2c3cbaa0-1899-5ddc-7b58-9d657bd48f18', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 282000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-KS-RANGE-0101X', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 7, 52, 875000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Others', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 3, 7, 46, 10, 165000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Bake', 'Broil', 'ConvectionBake', 'ConvectionRoast', 'warming', 'Others', 'Dehydrate', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T00:50:48.803Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 49, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 1, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 980000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 50, 886000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'true', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 3, 7, 46, 10, 124000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP1X_DA-KS-RANGE-0101X', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 5, 24, 873000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 11, 1, 21, 37, 51, 304000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 22100101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 3, 7, 46, 10, 275000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 3600, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 7, 52, 875000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ConvectionBake', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 980000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 350, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 7, 52, 875000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'NE6516A-/AA0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 7, 52, 875000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'US', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 487000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'range', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 14, 19, 0, 30, 62000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'single': list([ dict({ 'mode': 'Bake', 'supportedOperations': list([ 'start', 'set', ]), 'supportedOptions': dict({ 'operationTime': dict({ 'default': '01:00:00', 'max': '09:59:00', 'min': '00:01:00', 'resolution': '00:01:00', }), 'temperature': dict({ 'C': dict({ 'default': 175, 'max': 285, 'min': 80, 'resolution': 0, }), 'F': dict({ 'default': 350, 'max': 550, 'min': 175, 'resolution': 0, }), }), }), }), dict({ 'mode': 'Broil', 'supportedOperations': list([ 'set', ]), 'supportedOptions': dict({ 'temperature': dict({ 'C': dict({ 'default': 61441, 'max': 61442, 'min': 61441, 'supportedValues': list([ 61441, 61442, ]), }), 'F': dict({ 'default': 61441, 'max': 61442, 'min': 61441, 'supportedValues': list([ 61441, 61442, ]), }), }), }), }), dict({ 'mode': 'ConvectionBake', 'supportedOperations': list([ 'start', 'set', ]), 'supportedOptions': dict({ 'operationTime': dict({ 'default': '01:00:00', 'max': '09:59:00', 'min': '00:01:00', 'resolution': '00:01:00', }), 'temperature': dict({ 'C': dict({ 'default': 160, 'max': 285, 'min': 80, 'resolution': 0, }), 'F': dict({ 'default': 325, 'max': 550, 'min': 175, 'resolution': 0, }), }), }), }), dict({ 'mode': 'ConvectionRoast', 'supportedOperations': list([ 'start', 'set', ]), 'supportedOptions': dict({ 'operationTime': dict({ 'default': '01:00:00', 'max': '09:59:00', 'min': '00:01:00', 'resolution': '00:01:00', }), 'temperature': dict({ 'C': dict({ 'default': 160, 'max': 285, 'min': 80, 'resolution': 0, }), 'F': dict({ 'default': 325, 'max': 550, 'min': 175, 'resolution': 0, }), }), }), }), dict({ 'mode': 'KeepWarm', 'supportedOperations': list([ 'set', ]), 'supportedOptions': dict({ 'temperature': dict({ 'C': dict({ 'default': 80, 'max': 80, 'min': 80, 'supportedValues': list([ 80, ]), }), 'F': dict({ 'default': 175, 'max': 175, 'min': 175, 'supportedValues': list([ 175, ]), }), }), }), }), dict({ 'mode': 'BreadProof', 'supportedOperations': list([ 'set', ]), 'supportedOptions': dict({ 'temperature': dict({ 'C': dict({ 'default': 35, 'max': 35, 'min': 35, 'supportedValues': list([ 35, ]), }), 'F': dict({ 'default': 95, 'max': 95, 'min': 95, 'supportedValues': list([ 95, ]), }), }), }), }), dict({ 'mode': 'AirFryer', 'supportedOperations': list([ 'start', 'set', ]), 'supportedOptions': dict({ 'operationTime': dict({ 'default': '01:00:00', 'max': '09:59:00', 'min': '00:01:00', 'resolution': '00:01:00', }), 'temperature': dict({ 'C': dict({ 'default': 220, 'max': 260, 'min': 175, 'resolution': 0, }), 'F': dict({ 'default': 425, 'max': 500, 'min': 350, 'resolution': 0, }), }), }), }), dict({ 'mode': 'Dehydrate', 'supportedOperations': list([ 'start', 'set', ]), 'supportedOptions': dict({ 'operationTime': dict({ 'default': '01:00:00', 'max': '09:59:00', 'min': '00:01:00', 'resolution': '00:01:00', }), 'temperature': dict({ 'C': dict({ 'default': 65, 'max': 105, 'min': 40, 'resolution': 0, }), 'F': dict({ 'default': 150, 'max': 225, 'min': 100, 'resolution': 0, }), }), }), }), dict({ 'mode': 'SelfClean', 'supportedOperations': list([ ]), 'supportedOptions': dict({ }), }), dict({ 'mode': 'SteamClean', 'supportedOperations': list([ ]), 'supportedOptions': dict({ }), }), ]), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 7, 52, 875000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 7, 52, 875000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'off', 'high', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 679000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'disconnected', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 619000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 21, 22, 37, 2, 619000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 7, 52, 875000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'NoOperation', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 3, 7, 46, 10, 165000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Bake', 'Broil', 'ConvectionBake', 'ConvectionRoast', 'KeepWarm', 'BreadProof', 'AirFryer', 'Dehydrate', 'SelfClean', 'SteamClean', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T00:50:48.803Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00:00:00', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 49, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 830000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 3, 7, 46, 10, 124000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 3, 7, 46, 10, 124000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 3, 7, 46, 10, 124000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ZPCNQWBWXI47Q', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 0, 50, 48, 980000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 175, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ks_walloven_000003] dict({ 'cavity-01': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 9, 8, 5, 3, 53, 786000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 821000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Others', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 28, 2, 59, 42, 83000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Bake', 'Others', 'BottomHeat', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 903000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T19:04:44.900Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 903000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 903000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 928000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 903000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 3, 2, 13, 12, 59, 472000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 46, 87000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 928000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'browingLevel': 0, 'categoryId': 0, 'cavityId': '0', 'itemId': 0, 'option': 0, 'recipeType': '0', 'servingSize': 0, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 821000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Convection', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 821000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'NoOperation', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 28, 2, 59, 42, 83000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Convection', 'BottomConvection', 'Bottom', 'EcoConvection', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 903000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T19:04:44.900Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 903000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 903000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00:00:00', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 928000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 903000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 46, 87000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 634000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': dict({ 'href': '/rm/wifi/vs/0', }), 'timestamp': datetime.datetime(2023, 7, 19, 0, 4, 40, 229000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.s', ]), 'rt': list([ 'x.com.samsung.da.rm.wifi', ]), 'x.com.samsung.rm.rssi': list([ -67, ]), }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 800000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'e3ffcb5a-294b-c68a-438d-9e27bb7660a0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 5, 5, 15, 28, 37, 385000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.2.1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 4, 9, 51, 31, 711000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 5, 5, 15, 28, 37, 385000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARTIK051_GB_WO_003_40200913', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 731000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 762000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 770000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 755000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARTIK051_GB_WO_003|40423141|50030018001211510200000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 740000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 748000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 4, 7, 51, 23, 672000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 823000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[oven] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 778000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'e3ffcb5a-294b-c68a-438d-9e27bb7660a0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 4, 4, 51, 10, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 9, 13, 5, 37, 11, 785000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-KS-WALLOVEN-000003', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 835000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Others', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Bake', 'Broil', 'Others', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T19:04:44.802Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 910000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 4, 3, 51, 1, 343000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 954000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 46, 51000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'false', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 910000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'browingLevel': 0, 'categoryId': 0, 'cavityId': '0', 'itemId': 0, 'option': 0, 'recipeType': '0', 'servingSize': 0, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 634000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARTIK051_GB_WO_003', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 445000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 11, 1, 14, 15, 2, 215000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 22100101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 734000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 3600, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 835000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Convection', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 835000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'NE7000NP/EU0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 835000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'EU', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 7, 14, 7, 25, 2, 969000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'oven', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 28, 2, 59, 42, 83000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'lower': list([ dict({ 'mode': 'Convection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 160, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), dict({ 'mode': 'BottomConvection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 200, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), dict({ 'mode': 'Bottom', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 150, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), dict({ 'mode': 'EcoConvection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 160, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), ]), 'single': list([ dict({ 'mode': 'Convection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 160, 'max': 250, 'min': 30, 'resolution': 5, }), }), }), }), dict({ 'mode': 'Conventional', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 180, 'max': 250, 'min': 30, 'resolution': 5, }), }), }), }), dict({ 'mode': 'LargeGrill', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 220, 'max': 270, 'min': 100, 'resolution': 5, }), }), }), }), dict({ 'mode': 'SmallGrill', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 220, 'max': 270, 'min': 100, 'resolution': 5, }), }), }), }), dict({ 'mode': 'TopHeatPluseConvection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 180, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), dict({ 'mode': 'BottomHeatPluseConvection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 200, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), dict({ 'mode': 'Bottom', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 150, 'max': 230, 'min': 100, 'resolution': 5, }), }), }), }), dict({ 'mode': 'ProRoasting', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 160, 'max': 200, 'min': 80, 'resolution': 5, }), }), }), }), dict({ 'mode': 'EcoConvection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 160, 'max': 250, 'min': 30, 'resolution': 5, }), }), }), }), dict({ 'mode': 'KeepWarm', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 60, 'max': 100, 'min': 40, 'resolution': 5, }), }), }), }), dict({ 'mode': 'PlateWarm', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 50, 'max': 80, 'min': 30, 'resolution': 5, }), }), }), }), ]), 'upper': list([ dict({ 'mode': 'Convection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 160, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), dict({ 'mode': 'LargeGrill', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 220, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), dict({ 'mode': 'TopConvection', 'supportedOptions': dict({ 'operationTime': dict({ 'max': '09:59:59', }), 'temperature': dict({ 'C': dict({ 'default': 180, 'max': 250, 'min': 40, 'resolution': 5, }), }), }), }), ]), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 835000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'disconnected', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 954000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 954000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 835000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'NoOperation', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Convection', 'LargeGrill', 'TopConvection', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T19:04:44.802Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00:00:00', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 910000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 44, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 634000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 634000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 19, 4, 45, 954000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ref_normal_000001] dict({ 'cooler': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 26, 21, 425000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 12, 13, 55, 4, 8000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.fridgeMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 44, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 34, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 4, 14, 59, 899000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 37, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 37, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': dict({ 'maximum': 44, 'minimum': 34, 'step': 1, }), }), }), }), 'cvroom': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 11, 39, 42, 105000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'temperatureMeasurement', 'thermostatCoolingSetpoint', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'freezer': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 48, 16, 247000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 1, 9, 17, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.fridgeMode', 'samsungce.freezerConvertMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 5, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': -8, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 4, 14, 59, 899000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 23, 4, 42, 18, 178000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 764000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': dict({ 'maximum': 5, 'minimum': -8, 'step': 1, }), }), }), }), 'icemaker': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 12, 13, 55, 4, 8000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 55, 1, 720000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), 'icemaker-02': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 11, 39, 42, 105000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 26, 21, 425000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 703000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'enabled', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 703000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'state': 'disabled', }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 55, 1, 720000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'temperatureMeasurement', 'thermostatCoolingSetpoint', 'custom.fridgeMode', 'custom.deodorFilter', 'samsungce.dongleSoftwareInstallation', 'samsungce.quickControl', 'samsungce.deviceInfoPrivate', 'demandResponseLoadControl', 'samsungce.fridgeVacationMode', 'sec.diagnosticsInformation', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 1, 9, 17, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'icemaker-02', 'pantry-01', 'pantry-02', 'cvroom', 'onedoor', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 11, 39, 47, 504000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 1440, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 11, 39, 47, 504000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 47, 54, 524000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 47, 54, 524000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 758000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'replaceable', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 2, 12, 910000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'replace', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 2, 12, 910000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 100, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 758000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 691000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': 0, 'drlcType': 1, 'duration': 0, 'override': False, }), }), }), : dict({ : dict({ 'data': dict({ 'href': '/rm/micomdata/vs/0', }), 'timestamp': datetime.datetime(2023, 7, 19, 5, 25, 39, 852000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.rm.micomdata', ]), 'x.com.samsung.rm.micomdata': 'D0C0022B00000000000DFE15051F5AA54400000000000000000000000000000000000000000000000001F04A00C5E0', 'x.com.samsung.rm.micomdataLength': 94, }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '7db87911-7dce-1cf2-7119-b953432a2f09', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'A-RFWW-TP2-21-COMMON_20220110', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MediaTek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP2X_REF_20K|00115641|0004014D011411200103000020000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 1.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[refrigerator] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '7db87911-7dce-1cf2-7119-b953432a2f09', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 21, 22, 4, 22, 37000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-REF-NORMAL-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 49, 0, 507000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 7, 'end': '2025-02-09T17:49:00Z', 'energy': 1568087, 'energySaved': 0, 'persistedEnergy': 0, 'power': 6, 'powerEnergy': 13.555977778169844, 'start': '2025-02-09T17:38:01Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 772000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 725000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 725000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 55, 1, 720000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP2X_REF_20K', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 1, 9, 17, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 20, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 47, 54, 524000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'completed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 4, 14, 59, 25000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24100101, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 725000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 725000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 799000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 799000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'on', 'off', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 744000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 725000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 744000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'P7CNQWBWM3XBW', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 7, 55, 725000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'onedoor': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 12, 8, 23, 59, 944000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.freezerConvertMode', 'custom.fridgeMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 4, 14, 59, 899000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'pantry-01': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 47, 54, 524000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'pantry-02': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 47, 54, 524000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ref_normal_01001] dict({ 'camera-01': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 12, 17, 11, 19, 18, 845000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'switch', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'cooler': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 23, 41, 655000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 6, 17, 6, 16, 33, 918000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 44, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 34, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 12, 35, 50, 411000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 37, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 37, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': dict({ 'maximum': 44, 'minimum': 34, 'step': 1, }), }), }), }), 'cvroom': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 23, 22, 4, 631000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 7, 27, 1, 19, 43, 145000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 448000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'CV_FDR_DELI', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 448000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'CV_FDR_WINE', 'CV_FDR_DELI', 'CV_FDR_BEVERAGE', 'CV_FDR_MEAT', ]), }), }), }), 'freezer': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 0, 44, 267000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 9, 0, 29, 743000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.freezerConvertMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 5, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': -8, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 448000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 12, 35, 50, 411000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 493000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': dict({ 'maximum': 5, 'minimum': -8, 'step': 1, }), }), }), }), 'icemaker': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 54, 5, 580000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 12, 1, 52, 528000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), 'icemaker-02': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 7, 28, 18, 47, 7, 39000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'icemaker-03': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 12, 15, 1, 5, 9, 803000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 23, 41, 655000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 345000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'enabled', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 345000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'state': 'disabled', }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 23, 57, 45, 739000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'thermostatCoolingSetpoint', 'temperatureMeasurement', 'custom.fridgeMode', 'custom.deviceReportStateConfiguration', 'samsungce.fridgeFoodList', 'samsungce.runestoneHomeContext', 'demandResponseLoadControl', 'samsungce.fridgeVacationMode', 'samsungce.sabbathMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 12, 1, 52, 638000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'icemaker-02', 'icemaker-03', 'pantry-01', 'camera-01', 'scale-10', 'scale-11', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 11, 50, 40, 228000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 1440, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 11, 50, 40, 228000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 57, 35, 490000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 54, 5, 580000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 38, 59, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'replaceable', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 38, 59, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 5, 6, 45, 769000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 52, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 38, 59, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 38, 59, 899000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': 0, 'drlcType': 1, 'duration': 0, 'override': False, }), }), }), : dict({ : dict({ 'data': dict({ 'href': '/refrigeration/vs/0', }), 'timestamp': datetime.datetime(2024, 3, 26, 9, 6, 17, 169000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.fridge', ]), 'x.com.samsung.da.rapidFreezing': 'Off', 'x.com.samsung.da.rapidFridge': 'Off', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '7d3feb98-8a36-4351-c362-5e21ad3a78dd', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '20240616.213423', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '24K_REF_LCD_FHUB9.0|00113141|0002034e051324200103000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '7.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Family Hub', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '7d3feb98-8a36-4351-c362-5e21ad3a78dd', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-11-08T11:56:59Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 2, 12, 37, 43, 756000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-REF-NORMAL-01001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 25, 23, 843000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 27, 'end': '2025-02-09T00:25:23Z', 'energy': 4381422, 'energySaved': 0, 'persistedEnergy': 0, 'power': 144, 'powerEnergy': 27.01890500307083, 'start': '2025-02-09T00:13:39Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 38, 59, 276000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 12, 1, 53, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '24K_REF_LCD_FHUB9.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 9, 0, 29, 743000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 19, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 9, 0, 29, 743000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24090102, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 1, 848000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 2, 150000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'context': 'HOME_IN', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'ASLEEP', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'AWAKE', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'COOKING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_COOKING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'EATING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_EATING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'DOING_LAUNDRY', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_DOING_LAUNDRY', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'CLEANING_HOUSE', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_CLEANING_HOUSE', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'MUSIC_LISTENING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_MUSIC_LISTENING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'AIR_CONDITIONING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_AIR_CONDITIONING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'WASHING_DISHES', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_WASHING_DISHES', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'CARING_CLOTHING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_CARING_CLOTHING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'WATCHING_TV', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_WATCHING_TV', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'BEFORE_BEDTIME', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'BEFORE_COOKING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'BEFORE_HOME_OUT', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'ORDERING_DELIVERY_FOOD', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_ORDERING_DELIVERY_FOOD', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'ONLINE_GROCERY_SHOPPING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), dict({ 'context': 'FINISH_ONLINE_GROCERY_SHOPPING', 'endTime': '99:99', 'place': 'HOME', 'startTime': '99:99', }), ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 200000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2DCEZFTFQZPMO', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 200000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 20, 16, 7, 5, 423000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'expiredTime': '2025-01-20T16:17:04Z', 'fileId': 'd3e1f875-f8b3-a031-737b-366eaa227773', 'focusArea': 'mainShelves', 'mimeType': 'image/jpeg', }), dict({ 'expiredTime': '2025-01-20T16:17:04Z', 'fileId': '9fccb6b4-e71f-6c7f-9935-f6082bb6ccfe', 'focusArea': 'mainShelves', 'mimeType': 'image/jpeg', }), dict({ 'expiredTime': '2025-01-20T16:17:05Z', 'fileId': '20b57a4d-b7fc-17fc-3a03-0fb84fb4efab', 'focusArea': 'mainShelves', 'mimeType': 'image/jpeg', }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 12, 1, 52, 585000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T12:01:52Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 946000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'mainShelves', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wifi_https', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 0, 523000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '500', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 1, 951000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 1, 951000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 1, 951000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'helper_hotspot', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 1, 951000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'OPEN', 'WEP', 'WPA-PSK', 'WPA2-PSK', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 19, 39, 1, 951000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '2.4G', '5G', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'pantry-01': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 54, 5, 580000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.meatAging', 'samsungce.foodDefrost', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'scale-10': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 54, 5, 580000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), }), 'scale-11': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 2, 7, 10, 54, 5, 580000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ref_normal_01011] dict({ 'cooler': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 9, 18, 48, 798000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 51, 343000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.fridgeMode', 'samsungce.temperatureSetting', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 7, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 4, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 4, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': dict({ 'maximum': 7, 'minimum': 1, 'step': 1, }), }), }), }), 'cvroom': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'freezer': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 8, 45, 49, 322000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 51, 343000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.fridgeMode', 'samsungce.temperatureSetting', 'samsungce.freezerConvertMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': -15, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': -23, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': -18, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': -18, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': dict({ 'maximum': -15, 'minimum': -23, 'step': 1, }), }), }), }), 'icemaker': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 7, 25, 45, 714000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), 'icemaker-02': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'icemaker-03': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 9, 18, 48, 798000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'enabled', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'state': 'disabled', }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 51, 343000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'temperatureMeasurement', 'thermostatCoolingSetpoint', 'custom.fridgeMode', 'custom.deodorFilter', 'custom.dustFilter', 'samsungce.viewInside', 'samsungce.fridgeWelcomeLighting', 'samsungce.sabbathMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'icemaker-02', 'icemaker-03', 'pantry-01', 'pantry-02', 'scale-10', 'scale-11', 'cvroom', 'onedoor', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 49, 679000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 1, 2, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'replaceable', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 14, 16, 505000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 5, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': 0, 'drlcType': 1, 'duration': 0, 'override': False, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'aafdee8c-4ede-2ed7-9d29-d596b84d65aa', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'A-RFWW-TP1-24-T4-COM_20240908', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Realtek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP1X_REF_21K|00175041|00040141041811304104000020010000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 4.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SYSTEM 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung-Refrigerator', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'aafdee8c-4ede-2ed7-9d29-d596b84d65aa', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 920000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-REF-NORMAL-01011', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 11, 32, 26, 61000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 7, 'end': '2025-02-10T11:32:26Z', 'energy': 12123, 'energySaved': 0, 'persistedEnergy': 0, 'persistedSavedEnergy': 0, 'power': 3, 'powerEnergy': 7.828951666355133, 'start': '2025-02-10T11:21:15Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 19, 35, 11, 422000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP1X_REF_21K', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24090102, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'passed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'start', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 49, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'RLCFUCFW3Q724', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 49, 502000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 49, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ble_ocf', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'RA2', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA01', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'helper_hotspot', 'ble_ocf', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'OPEN', 'WEP', 'WPA-PSK', 'WPA2-PSK', 'SAE', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 62000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '2.4G', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'onedoor': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 49, 569000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.freezerConvertMode', 'custom.fridgeMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 13, 55, 47, 67000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'pantry-01': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'pantry-02': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'scale-10': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), }), 'scale-11': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_ref_normal_01011_1] dict({ 'cooler': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 15, 11, 911000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 26, 9, 29, 5, 144000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.fridgeMode', 'samsungce.temperatureSetting', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 7, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 3, 20, 51, 831000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 4, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 4, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': dict({ 'maximum': 7, 'minimum': 1, 'step': 1, }), }), }), }), 'cvroom': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'freezer': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 26, 9, 29, 2, 882000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 3, 20, 51, 831000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.fridgeMode', 'samsungce.temperatureSetting', 'samsungce.freezerConvertMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': -15, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': -23, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 3, 20, 51, 831000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': -19, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': -19, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 80000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': dict({ 'maximum': -15, 'minimum': -23, 'step': 1, }), }), }), }), 'icemaker': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'icemaker-02': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'icemaker-03': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 15, 11, 911000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 961000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'enabled', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 961000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'state': 'disabled', }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 22, 20, 12, 270000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'temperatureMeasurement', 'thermostatCoolingSetpoint', 'custom.fridgeMode', 'custom.deodorFilter', 'custom.waterFilter', 'custom.dustFilter', 'samsungce.viewInside', 'samsungce.fridgeWelcomeLighting', 'samsungce.quickControl', 'samsungce.deviceInfoPrivate', 'samsungce.sabbathMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 3, 20, 51, 831000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'icemaker', 'icemaker-02', 'icemaker-03', 'pantry-01', 'pantry-02', 'scale-10', 'scale-11', 'cvroom', 'onedoor', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 26, 9, 29, 3, 768000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 26, 9, 29, 2, 882000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 812000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 26, 9, 29, 2, 882000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 31, 11, 55, 32, 553000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 26, 9, 29, 2, 882000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 5, 26, 9, 29, 2, 882000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 1, 2, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 812000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': 0, 'drlcType': 1, 'duration': 0, 'override': False, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8d2d636b-8e36-e97b-5628-5f2fa27bc344', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'A-RFWW-TP1-22-REV1_20240912', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Realtek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP1X_REF_21K|00156941|00050126001611304100000030010000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 3.1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung-Refrigerator', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8d2d636b-8e36-e97b-5628-5f2fa27bc344', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 29, 566000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-REF-NORMAL-01011', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 4, 49, 761000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 1, 'end': '2025-02-11T19:04:49Z', 'energy': 165156, 'energySaved': 0, 'persistedEnergy': 0, 'persistedSavedEnergy': 0, 'power': 1, 'powerEnergy': 10.563493334319856, 'start': '2025-02-11T18:48:09Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 861000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 861000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 617000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TP1X_REF_21K', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 3, 20, 51, 831000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 22, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 3, 20, 51, 831000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24090102, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 861000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 861000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 995000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 995000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'passed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 995000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 995000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'start', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'U7CPH4AITNP5W', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 6, 3, 9, 57, 26, 337000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wifi_https', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 40, 904000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'RB0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 979000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 979000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 979000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'helper_hotspot', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 979000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'OPEN', 'WEP', 'WPA-PSK', 'WPA2-PSK', 'SAE', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 7, 30, 41, 979000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '2.4G', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'onedoor': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 3, 4, 30, 800000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.freezerConvertMode', 'custom.fridgeMode', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 3, 20, 51, 831000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'pantry-01': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'pantry-02': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), 'scale-10': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), }), 'scale-11': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_rvc_normal_000001] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 9, 9, 22, 55, 13, 962000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 9, 8, 1, 3, 48, 820000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.robotCleanerMapAreaInfo', 'samsungce.robotCleanerMapCleaningInfo', 'samsungce.robotCleanerPatrol', 'samsungce.robotCleanerPetMonitoring', 'samsungce.robotCleanerPetMonitoringReport', 'samsungce.robotCleanerPetCleaningSchedule', 'soundDetection', 'samsungce.soundDetectionSensitivity', 'samsungce.musicPlaylist', 'mediaPlayback', 'mediaTrackControl', 'imageCapture', 'videoCapture', 'audioVolume', 'audioMute', 'audioNotification', 'powerConsumptionReport', 'custom.hepaFilter', 'samsungce.robotCleanerMotorFilter', 'samsungce.robotCleanerRelayCleaning', 'audioTrackAddressing', 'samsungce.robotCleanerWelcome', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 3, 4, 43, 7, 114000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'station', ]), }), }), : dict({ : dict({ 'data': dict({ 'href': '/alarms/vs/0', }), 'timestamp': datetime.datetime(2023, 6, 18, 15, 59, 28, 267000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.alarms', ]), 'x.com.samsung.da.items': list([ dict({ 'x.com.samsung.da.alarmType': 'Device', 'x.com.samsung.da.code': '4', 'x.com.samsung.da.state': 'deleted', 'x.com.samsung.da.triggeredTime': '2023-06-18T15:59:30', }), ]), }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3442dfc6-17c0-a65f-dae0-4c6e01786f44', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 12, 23, 7, 9, 40, 610000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 6, 3, 13, 34, 18, 508000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 9, 7, 6, 42, 36, 551000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'powerbot_7000_17M|50016055|80010404011141000100000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen(3/0)', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 6, 3, 0, 49, 53, 813000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[robot vacuum] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3442dfc6-17c0-a65f-dae0-4c6e01786f44', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 6, 2, 23, 30, 52, 793000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2019, 7, 7, 19, 45, 19, 771000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-RVC-NORMAL-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 3, 4, 43, 7, 92000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 9, 9, 21, 25, 20, 601000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stop', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 6, 18, 15, 59, 24, 580000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'idle', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 9, 8, 2, 53, 49, 826000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 11, 1, 9, 26, 7, 107000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 22100101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 9, 9, 21, 25, 20, 601000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stop', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 12, 21, 1, 32, 56, 245000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 3, 4, 43, 6, 547000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 3, 4, 43, 6, 547000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'spot', 'manual', 'stop', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 3, 4, 43, 22, 926000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 6, 18, 15, 59, 24, 580000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 11, 3, 4, 43, 6, 547000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'homing', 'error', 'idle', 'charging', 'chargingForRemainingJob', 'paused', 'cleaning', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 6, 18, 15, 59, 27, 658000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_sac_wifikit_000001] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 955000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0e168539-061a-5f02-2beb-cc5cb6bb3b7b', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '20240611.1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MIM-H04N|240611|61FFFF00001411000000000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '4.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[system a/c] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0e168539-061a-5f02-2beb-cc5cb6bb3b7b', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2021-01-01T00:01:01Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 209000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-SAC-WIFIKIT-000001', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 955000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MIM-H04N', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 29, 22, 0, 56, 311000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 22100101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 955000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 955000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 955000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 955000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'connected': True, 'description': 'RAC', 'deviceId': '0e168539-061a-5f02-2beb-000001200000', 'name': 'Air Conditioner', }), ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 955000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_wm_dw_00001] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 19, 29, 32, 447000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.waterConsumptionReport', 'sec.wifiConfiguration', 'samsungce.quickControl', 'samsungce.deviceInfoPrivate', 'demandResponseLoadControl', 'sec.diagnosticsInformation', 'custom.waterFilter', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00:00:00', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 1, 0, 8, 9, 813000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 8, 25, 3, 23, 6, 667000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 194000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '82', '83', '84', '85', '86', '87', '88', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-08T22:49:26Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unknown', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stop', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 21, 2, 853000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'stop', 'run', 'pause', ]), }), }), : dict({ : dict({ 'data': dict({ 'href': '/operational/state/0', }), 'timestamp': datetime.datetime(2023, 7, 19, 4, 23, 15, 606000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'currentJobState': 'None', 'currentMachineState': 'idle', 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'jobStates': list([ 'None', 'Predrain', 'Prewash', 'Wash', 'Rinse', 'Drying', 'Finish', ]), 'machineStates': list([ 'pause', 'active', 'idle', ]), 'progressPercentage': '1', 'remainingTime': '02:16:00', 'rt': list([ 'oic.r.operational.state', ]), }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'f36dc7ce-cac0-0667-dc14-a3704eb5e676', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 7, 4, 13, 53, 32, 32000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 11, 2, 15, 58, 55, 699000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_DW_A51_20_COMMON_30230714', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARTIK051', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_DW_A51_20_COMMON|30007242|40010201001311000101000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 1.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[dishwasher] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'f36dc7ce-cac0-0667-dc14-a3704eb5e676', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 37, 615000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-WM-DW-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 596000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 0, 'end': '2025-02-08T20:21:26Z', 'energy': 101600, 'energySaved': 0, 'persistedEnergy': 0, 'persistedSavedEnergy': 0, 'power': 0, 'powerEnergy': 0.0, 'start': '2025-02-08T20:21:21Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 555000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'false', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 19, 29, 30, 987000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_DW_A51_20_COMMON', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 928000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'jobName': 'washing', 'timeInSec': 3600, }), dict({ 'jobName': 'rinsing', 'timeInSec': 1020, }), dict({ 'jobName': 'drying', 'timeInSec': 1200, }), ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 148.0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '02:28', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 194000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 10, 10, 21, 2, 853000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'ready', 'running', 'paused', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 482000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 0.0, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 194000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'auto', 'normal', 'heavy', 'delicate', 'express', 'rinseOnly', 'selfClean', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 194000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 5, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 194000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'courseName': 'auto', 'energyUsage': 3, 'expectedTime': dict({ 'time': 136, 'unit': 'min', }), 'options': dict({ 'highTempWash': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'sanitize': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'selectedZone': dict({ 'default': 'all', 'settable': list([ 'none', 'lower', 'all', ]), }), 'speedBooster': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'zoneBooster': dict({ 'default': 'none', 'settable': list([ 'none', 'left', ]), }), }), 'temperature': dict({ 'max': 60, 'min': 50, 'unit': 'C', }), 'waterUsage': 3, }), dict({ 'courseName': 'normal', 'energyUsage': 3, 'expectedTime': dict({ 'time': 148, 'unit': 'min', }), 'options': dict({ 'highTempWash': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'sanitize': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'selectedZone': dict({ 'default': 'all', 'settable': list([ 'none', 'lower', 'all', ]), }), 'speedBooster': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'zoneBooster': dict({ 'default': 'none', 'settable': list([ 'none', 'left', ]), }), }), 'temperature': dict({ 'max': 62, 'min': 45, 'unit': 'C', }), 'waterUsage': 4, }), dict({ 'courseName': 'heavy', 'energyUsage': 4, 'expectedTime': dict({ 'time': 155, 'unit': 'min', }), 'options': dict({ 'highTempWash': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'sanitize': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'selectedZone': dict({ 'default': 'all', 'settable': list([ 'none', 'lower', 'all', ]), }), 'speedBooster': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'zoneBooster': dict({ 'default': 'none', 'settable': list([ 'none', 'left', ]), }), }), 'temperature': dict({ 'max': 65, 'min': 65, 'unit': 'C', }), 'waterUsage': 5, }), dict({ 'courseName': 'delicate', 'energyUsage': 2, 'expectedTime': dict({ 'time': 112, 'unit': 'min', }), 'options': dict({ 'highTempWash': dict({ 'default': False, 'settable': list([ ]), }), 'sanitize': dict({ 'default': False, 'settable': list([ ]), }), 'selectedZone': dict({ 'default': 'all', 'settable': list([ 'none', 'lower', 'all', ]), }), 'speedBooster': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'zoneBooster': dict({ 'default': 'none', 'settable': list([ ]), }), }), 'temperature': dict({ 'max': 50, 'min': 50, 'unit': 'C', }), 'waterUsage': 3, }), dict({ 'courseName': 'express', 'energyUsage': 2, 'expectedTime': dict({ 'time': 60, 'unit': 'min', }), 'options': dict({ 'highTempWash': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'sanitize': dict({ 'default': False, 'settable': list([ False, True, ]), }), 'selectedZone': dict({ 'default': 'all', 'settable': list([ 'none', 'lower', 'all', ]), }), 'speedBooster': dict({ 'default': False, 'settable': list([ ]), }), 'zoneBooster': dict({ 'default': 'none', 'settable': list([ 'none', 'left', ]), }), }), 'temperature': dict({ 'max': 52, 'min': 52, 'unit': 'C', }), 'waterUsage': 2, }), dict({ 'courseName': 'rinseOnly', 'energyUsage': 1, 'expectedTime': dict({ 'time': 14, 'unit': 'min', }), 'options': dict({ 'highTempWash': dict({ 'default': False, 'settable': list([ ]), }), 'sanitize': dict({ 'default': False, 'settable': list([ ]), }), 'selectedZone': dict({ 'default': 'all', 'settable': list([ 'none', 'lower', 'all', ]), }), 'speedBooster': dict({ 'default': False, 'settable': list([ ]), }), 'zoneBooster': dict({ 'default': 'none', 'settable': list([ ]), }), }), 'temperature': dict({ 'max': 40, 'min': 40, 'unit': 'C', }), 'waterUsage': 1, }), dict({ 'courseName': 'selfClean', 'energyUsage': 5, 'expectedTime': dict({ 'time': 139, 'unit': 'min', }), 'options': dict({ 'highTempWash': dict({ 'default': False, 'settable': list([ ]), }), 'sanitize': dict({ 'default': False, 'settable': list([ ]), }), 'selectedZone': dict({ 'default': 'all', 'settable': list([ 'none', 'all', ]), }), 'speedBooster': dict({ 'default': False, 'settable': list([ ]), }), 'zoneBooster': dict({ 'default': 'none', 'settable': list([ ]), }), }), 'temperature': dict({ 'max': 70, 'min': 70, 'unit': 'C', }), 'waterUsage': 4, }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 194000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 5, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 7, 39, 54, 739000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'settable': list([ False, True, ]), 'value': False, }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 18, 23, 49, 9, 964000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'settable': list([ False, True, ]), 'value': False, }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 11, 9, 0, 20, 42, 461000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'settable': list([ 'none', 'upper', 'lower', 'all', ]), 'value': 'all', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 11, 24, 14, 46, 55, 375000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'settable': list([ False, True, ]), 'value': False, }), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 27, 1, 19, 38, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'selectedZone', 'zoneBooster', 'speedBooster', 'sanitize', 'highTempWash', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 11, 20, 7, 10, 27, 445000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'settable': list([ 'none', 'left', 'right', 'all', ]), 'value': 'none', }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 7, 2, 2, 56, 22, 508000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24040105, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 450000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 7, 20, 3, 37, 30, 706000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 0, 37, 538000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MTCNQWBWIV6TS', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 20, 21, 26, 386000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_wm_sc_000001] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'custom.steamClosetWrinklePrevent', 'custom.veryFineDustFilter', 'demandResponseLoadControl', 'sec.wifiConfiguration', 'samsungce.quickControl', 'samsungce.deviceInfoPrivate', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 3, 6, 11, 24, 6, 106000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 3, 6, 11, 24, 6, 106000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-11T09:00:17Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 53, 25, 928000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 53, 25, 928000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 39, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 53, 25, 928000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00:39', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stop', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 22, 16, 19, 221000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'steaming', 'airwashing', 'drying', 'finish', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 6, 23, 16, 0, 41, 238000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'stop', 'run', 'pause', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_00', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '22', '23', '32', '09', '12', '0C', '31', '0B', '10', '0A', '14', '13', '16', '24', '25', '2F', '20', '0F', '27', '30', '15', '1A', '1B', '1C', '2D', '07', '08', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-11T09:00:17Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stop', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'stop', 'run', 'pause', ]), }), }), : dict({ : dict({ 'data': dict({ 'href': '/information/vs/0', }), 'timestamp': datetime.datetime(2024, 3, 6, 11, 24, 5, 312000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.information', ]), 'x.com.samsung.da.description': 'DA_DF_TP2_20_COMMON_DF8500A/DC92-02995A_0010', 'x.com.samsung.da.diagDumpType': 'file', 'x.com.samsung.da.diagEndPoint': 'SSM', 'x.com.samsung.da.diagLogType': list([ 'errCode', 'dump', ]), 'x.com.samsung.da.diagMinVersion': '1.0', 'x.com.samsung.da.diagMnid': '0AJT', 'x.com.samsung.da.diagProtocolType': 'WIFI_HTTPS', 'x.com.samsung.da.diagSetupid': 'A00', 'x.com.samsung.da.items': list([ dict({ 'x.com.samsung.da.description': 'DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000', 'x.com.samsung.da.id': '0', 'x.com.samsung.da.newVersionAvailable': '0', 'x.com.samsung.da.number': '02673A230807(F821)', 'x.com.samsung.da.type': 'Software', }), dict({ 'x.com.samsung.da.description': 'Firmware_1_DB_20299141210618090FFFFF202995412203111604FFFF(015E2029914120299541_30000000)(FileDown:0)(Type:0)', 'x.com.samsung.da.id': '1', 'x.com.samsung.da.newVersionAvailable': '0', 'x.com.samsung.da.number': '21061809,22031116', 'x.com.samsung.da.type': 'Firmware', }), dict({ 'x.com.samsung.da.description': 'Firmware_2_DB_2023564319111852041FFFFFFFFFFFFFFFFFFFFFFFFE(015E20235643FFFFFFFF_30000000)(FileDown:0)(Type:0)', 'x.com.samsung.da.id': '2', 'x.com.samsung.da.number': '19111852,FFFFFFFF', 'x.com.samsung.da.type': 'Firmware', }), ]), 'x.com.samsung.da.modelNum': 'DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000', 'x.com.samsung.da.otnDUID': 'MTCHUODP5V4FA', 'x.com.samsung.da.serialNum': '1EG158TW400002M', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'b93211bf-9d96-bd21-3b2f-964fcc87f5cc', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_DF_TP2_20_COMMON_30230807', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MediaTek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 2.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[airdresser] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'b93211bf-9d96-bd21-3b2f-964fcc87f5cc', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 1, 42, 53, 834000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-WM-SC-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 0, 'end': '2025-02-11T08:21:17Z', 'energy': 207500, 'energySaved': 0, 'persistedEnergy': 0, 'power': 0, 'powerEnergy': 0.0, 'start': '2025-02-10T22:51:59Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'false', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_DF_TP2_20_COMMON', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_DF_TP2_20_COMMON_DF8500A/DC92-02995A_0010', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '20299141', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3801010200151107020100FF00000000', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 2, 7, 55, 47, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24110101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 6, 23, 16, 0, 41, 636000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 33, 28, 19000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MTCHUODP5V4FA', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 33, 28, 19000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_00', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Table_00_Course_22', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'cycle': '22', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', 'on', ]), 'raw': '6106', }), }), }), dict({ 'cycle': '23', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '32', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '09', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '12', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '0C', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '31', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '0B', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '10', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '0A', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', 'on', ]), 'raw': '6106', }), }), }), dict({ 'cycle': '14', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '13', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', 'on', ]), 'raw': '6106', }), }), }), dict({ 'cycle': '16', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '24', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'on', 'options': list([ 'off', 'on', ]), 'raw': '6206', }), }), }), dict({ 'cycle': '25', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'on', 'options': list([ 'off', 'on', ]), 'raw': '6206', }), }), }), dict({ 'cycle': '2F', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'on', 'options': list([ 'off', 'on', ]), 'raw': '6206', }), }), }), dict({ 'cycle': '20', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'on', 'options': list([ 'on', ]), 'raw': '6204', }), }), }), dict({ 'cycle': '0F', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '66F0', }), 'sanitize': dict({ 'default': 'on', 'options': list([ 'on', ]), 'raw': '6204', }), }), }), dict({ 'cycle': '27', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '30', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '15', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '1A', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '1B', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '1C', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '2D', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'on', 'options': list([ 'on', 'off', ]), 'raw': '660F', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '07', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '66F0', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), dict({ 'cycle': '08', 'supportedOptions': dict({ 'keepFresh': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '66F0', }), 'sanitize': dict({ 'default': 'off', 'options': list([ 'off', ]), 'raw': '6102', }), }), }), ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 10, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'F1': dict({ }), 'F2': dict({ }), 'F3': dict({ }), 'F4': dict({ }), 'F5': dict({ }), 'F6': dict({ }), 'F7': dict({ }), 'F8': dict({ }), 'F9': dict({ }), 'FA': dict({ }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wifi_https', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'A00', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_wm_wd_00001] dict({ 'hca.main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 23000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'normal', 'timeDry', 'quickDry', ]), }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 7, 5, 16, 4, 6, 674000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.dryerCyclePreset', 'samsungce.welcomeMessage', 'samsungce.dongleSoftwareInstallation', 'sec.wifiConfiguration', 'samsungce.quickControl', 'samsungce.deviceInfoPrivate', 'demandResponseLoadControl', 'samsungce.dryerFreezePrevent', 'sec.diagnosticsInformation', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 840000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 1, 22, 54, 28, 224000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'damp', 'less', 'normal', 'more', 'very', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 840000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 14, 6, 49, 2, 721000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 14, 6, 49, 2, 183000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 23000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_00', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '01', '9C', 'A5', '9E', '9B', '27', 'E5', 'A0', 'A4', 'A6', 'A3', 'A2', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 962000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-08T19:25:10Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 962000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 962000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stop', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 962000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'stop', 'run', 'pause', ]), }), }), : dict({ : dict({ 'data': dict({ 'href': '/information/vs/0', }), 'timestamp': datetime.datetime(2023, 8, 6, 22, 48, 43, 192000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.information', ]), 'x.com.samsung.da.description': 'DA_WM_A51_20_COMMON_DV6300R/DC92-02385A_0090', 'x.com.samsung.da.items': list([ dict({ 'x.com.samsung.da.description': 'DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000', 'x.com.samsung.da.id': '0', 'x.com.samsung.da.newVersionAvailable': '0', 'x.com.samsung.da.number': '02198A220728(E256)', 'x.com.samsung.da.type': 'Software', }), dict({ 'x.com.samsung.da.description': 'DA_WM_A51_20_COMMON', 'x.com.samsung.da.id': '1', 'x.com.samsung.da.newVersionAvailable': '0', 'x.com.samsung.da.number': '18112816,20112625', 'x.com.samsung.da.type': 'Firmware', }), ]), 'x.com.samsung.da.modelNum': 'DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000', 'x.com.samsung.da.otnDUID': '7XCDM6YAIRCGM', 'x.com.samsung.da.serialNum': 'FFFFFFFFFFFFFFF', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '02f7256e-8353-5bdd-547f-bd5b1647e01b', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_A51_20_COMMON_30230708', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ARTIK051', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 1.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[dryer] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '02f7256e-8353-5bdd-547f-bd5b1647e01b', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 222000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-WM-WD-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 53000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 0, 'end': '2025-02-08T18:10:11Z', 'energy': 4495500, 'energySaved': 0, 'persistedEnergy': 0, 'power': 0, 'powerEnergy': 0.0, 'start': '2025-02-07T04:00:19Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 970000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'false', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 1, 22, 54, 28, 372000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 113000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_A51_20_COMMON', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 113000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_A51_20_COMMON_DV6300R/DC92-02385A_0090', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 113000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '20233741', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 113000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3000000100111100020B000000000000', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 14, 6, 49, 2, 183000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'completed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 2, 59, 11, 115000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24110101, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 986000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 23000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Table_00_Course_01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 23000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_00', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 4, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 884000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'cycle': '01', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'normal', 'options': list([ 'damp', 'less', 'normal', 'more', 'very', ]), 'raw': 'D33E', }), 'dryingTemperature': dict({ 'default': 'medium', 'options': list([ 'medium', ]), 'raw': '8410', }), }), }), dict({ 'cycle': '9C', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'normal', 'options': list([ 'damp', 'less', 'normal', 'more', 'very', ]), 'raw': 'D33E', }), 'dryingTemperature': dict({ 'default': 'high', 'options': list([ 'high', ]), 'raw': '8520', }), }), }), dict({ 'cycle': 'A5', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'normal', 'options': list([ 'damp', 'less', 'normal', 'more', 'very', ]), 'raw': 'D33E', }), 'dryingTemperature': dict({ 'default': 'high', 'options': list([ 'high', ]), 'raw': '8520', }), }), }), dict({ 'cycle': '9E', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'normal', 'options': list([ 'damp', 'less', 'normal', 'more', 'very', ]), 'raw': 'D33E', }), 'dryingTemperature': dict({ 'default': 'mediumLow', 'options': list([ 'mediumLow', ]), 'raw': '8308', }), }), }), dict({ 'cycle': '9B', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'very', 'options': list([ 'very', ]), 'raw': 'D520', }), 'dryingTemperature': dict({ 'default': 'high', 'options': list([ 'high', ]), 'raw': '8520', }), }), }), dict({ 'cycle': '27', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'D000', }), 'dryingTemperature': dict({ 'default': 'high', 'options': list([ 'high', ]), 'raw': '8520', }), }), }), dict({ 'cycle': 'E5', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'D000', }), 'dryingTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': 'A0', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'D000', }), 'dryingTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': 'A4', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'D000', }), 'dryingTemperature': dict({ 'default': 'high', 'options': list([ 'extraLow', 'low', 'mediumLow', 'medium', 'high', ]), 'raw': '853E', }), }), }), dict({ 'cycle': 'A6', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'D000', }), 'dryingTemperature': dict({ 'default': 'high', 'options': list([ 'high', ]), 'raw': '8520', }), }), }), dict({ 'cycle': 'A3', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'normal', 'options': list([ 'normal', ]), 'raw': 'D308', }), 'dryingTemperature': dict({ 'default': 'medium', 'options': list([ 'medium', ]), 'raw': '8410', }), }), }), dict({ 'cycle': 'A2', 'supportedOptions': dict({ 'dryingLevel': dict({ 'default': 'normal', 'options': list([ 'damp', 'less', 'normal', 'more', 'very', ]), 'raw': 'D33E', }), 'dryingTemperature': dict({ 'default': 'extraLow', 'options': list([ 'extraLow', ]), 'raw': '8102', }), }), }), ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 990000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 10, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 962000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 840000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'medium', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 4, 22, 52, 14, 884000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'extraLow', 'low', 'mediumLow', 'medium', 'high', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 840000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': '0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 1, 22, 54, 28, 224000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '0', '20', '30', '40', '50', '60', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 4, 0, 18, 186000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 4, 0, 18, 186000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 4, 0, 18, 186000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 4, 0, 18, 186000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 75, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 4, 0, 18, 186000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '01:15', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 497000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'jobName': 'drying', 'timeInMin': 57, }), dict({ 'jobName': 'cooling', 'timeInMin': 3, }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 11, 1, 13, 43, 26, 961000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'ready', 'running', 'paused', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 825000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 2, 0, 29, 53, 432000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 2, 0, 29, 53, 432000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 11, 113000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '7XCDM6YAIRCGM', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 18, 10, 10, 911000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_wm_wm_000001] dict({ 'hca.main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 623000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'normal', 'quickWash', ]), }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 7, 1, 16, 13, 35, 173000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.autoDispenseDetergent', 'samsungce.autoDispenseSoftener', 'samsungce.waterConsumptionReport', 'samsungce.washerCyclePreset', 'samsungce.welcomeMessage', 'samsungce.dongleSoftwareInstallation', 'sec.wifiConfiguration', 'samsungce.quickControl', 'samsungce.deviceInfoPrivate', 'samsungce.energyPlanner', 'demandResponseLoadControl', 'samsungce.softenerAutoReplenishment', 'samsungce.softenerOrder', 'samsungce.softenerState', 'samsungce.washerBubbleSoak', 'samsungce.washerFreezePrevent', 'custom.dryerDryLevel', 'samsungce.washerWaterLevel', 'samsungce.washerWaterValve', 'samsungce.washerWashingTime', 'custom.washerAutoDetergent', 'custom.washerAutoSoftener', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 15, 14, 11, 37, 255000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 15, 14, 11, 37, 255000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 15, 14, 26, 38, 584000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 15, 14, 11, 34, 909000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 623000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_00', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '01', '70', '55', '71', '72', '77', 'E5', '57', '73', '74', '75', '78', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 760000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '0', '1', '2', '3', '4', '5', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 691000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 760000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 691000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 760000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'rinseHold', 'noSpin', 'low', 'medium', 'high', 'extraHigh', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 691000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'high', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 760000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'tapCold', 'cold', 'warm', 'hot', 'extraHot', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 691000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'warm', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ 'href': '/information/vs/0', }), 'timestamp': datetime.datetime(2023, 8, 6, 16, 52, 15, 994000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.information', ]), 'x.com.samsung.da.description': 'DA_WM_TP2_20_COMMON_WF6300R/DC92-02338B_0080', 'x.com.samsung.da.diagDumpType': 'file', 'x.com.samsung.da.diagEndPoint': 'SSM', 'x.com.samsung.da.diagLogType': list([ 'errCode', 'dump', ]), 'x.com.samsung.da.diagMinVersion': '1.0', 'x.com.samsung.da.diagMnid': '0AJT', 'x.com.samsung.da.diagProtocolType': 'WIFI_HTTPS', 'x.com.samsung.da.diagSetupid': '210', 'x.com.samsung.da.items': list([ dict({ 'x.com.samsung.da.description': 'DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000', 'x.com.samsung.da.id': '0', 'x.com.samsung.da.newVersionAvailable': '0', 'x.com.samsung.da.number': '02674A220725(F541)', 'x.com.samsung.da.type': 'Software', }), dict({ 'x.com.samsung.da.description': 'DA_WM_TP2_20_COMMON', 'x.com.samsung.da.id': '1', 'x.com.samsung.da.newVersionAvailable': '0', 'x.com.samsung.da.number': '18112816,20050607', 'x.com.samsung.da.type': 'Firmware', }), ]), 'x.com.samsung.da.modelNum': 'DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000', 'x.com.samsung.da.otnDUID': 'U7CNQWBWJM5U4', 'x.com.samsung.da.serialNum': '01FW57AR401623N', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'f984b91d-f250-9d42-3436-33f09a422a47', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON_30230804', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MediaTek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 2.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[washer] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'f984b91d-f250-9d42-3436-33f09a422a47', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 131000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-WM-WM-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 703000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 0, 'end': '2025-02-07T03:09:45Z', 'energy': 352800, 'energySaved': 0, 'persistedEnergy': 0, 'power': 0, 'powerEnergy': 0.0, 'start': '2025-02-07T03:09:24Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 634000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'false', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 1, 22, 52, 19, 999000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON_WF6300R/DC92-02338B_0080', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '20233741', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2001000100131100022B010000000000', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 15, 14, 11, 34, 909000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'completed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 2, 14, 52, 963000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24110101, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 407000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 1, 23, 36, 22, 798000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 548000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'U7CNQWBWJM5U4', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 548000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 6, 1, 22, 52, 20, 68000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_00', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 152000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 4, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 25, 22, 13, 27, 760000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'cycle': '01', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'soilLevel': dict({ 'default': 'normal', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C33E', }), 'spinLevel': dict({ 'default': 'high', 'options': list([ 'rinseHold', 'noSpin', 'medium', 'high', 'extraHigh', ]), 'raw': 'A43B', }), 'waterTemperature': dict({ 'default': 'warm', 'options': list([ 'tapCold', 'cold', 'warm', 'hot', 'extraHot', ]), 'raw': '833E', }), }), }), dict({ 'cycle': '70', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'soilLevel': dict({ 'default': 'extraHeavy', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C53E', }), 'spinLevel': dict({ 'default': 'extraHigh', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', 'high', 'extraHigh', ]), 'raw': 'A53F', }), 'waterTemperature': dict({ 'default': 'hot', 'options': list([ 'tapCold', 'cold', 'warm', 'hot', 'extraHot', ]), 'raw': '843E', }), }), }), dict({ 'cycle': '55', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'soilLevel': dict({ 'default': 'normal', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C33E', }), 'spinLevel': dict({ 'default': 'high', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', 'high', 'extraHigh', ]), 'raw': 'A43F', }), 'waterTemperature': dict({ 'default': 'warm', 'options': list([ 'tapCold', 'cold', 'warm', 'hot', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '71', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'soilLevel': dict({ 'default': 'normal', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C33E', }), 'spinLevel': dict({ 'default': 'low', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', ]), 'raw': 'A20F', }), 'waterTemperature': dict({ 'default': 'warm', 'options': list([ 'tapCold', 'cold', 'warm', ]), 'raw': '830E', }), }), }), dict({ 'cycle': '72', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'soilLevel': dict({ 'default': 'normal', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C33E', }), 'spinLevel': dict({ 'default': 'high', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', 'high', 'extraHigh', ]), 'raw': 'A43F', }), 'waterTemperature': dict({ 'default': 'extraHot', 'options': list([ 'extraHot', ]), 'raw': '8520', }), }), }), dict({ 'cycle': '77', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'soilLevel': dict({ 'default': 'normal', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C33E', }), 'spinLevel': dict({ 'default': 'low', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', 'high', ]), 'raw': 'A21F', }), 'waterTemperature': dict({ 'default': 'warm', 'options': list([ 'tapCold', 'cold', 'warm', ]), 'raw': '830E', }), }), }), dict({ 'cycle': 'E5', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'soilLevel': dict({ 'default': 'extraHeavy', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C53E', }), 'spinLevel': dict({ 'default': 'high', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', 'high', 'extraHigh', ]), 'raw': 'A43F', }), 'waterTemperature': dict({ 'default': 'warm', 'options': list([ 'tapCold', 'cold', 'warm', 'hot', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '57', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '2', ]), 'raw': '9204', }), 'soilLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'C000', }), 'spinLevel': dict({ 'default': 'extraHigh', 'options': list([ 'extraHigh', ]), 'raw': 'A520', }), 'waterTemperature': dict({ 'default': 'extraHot', 'options': list([ 'extraHot', ]), 'raw': '8520', }), }), }), dict({ 'cycle': '73', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '1', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '913F', }), 'soilLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'C000', }), 'spinLevel': dict({ 'default': 'high', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', 'high', 'extraHigh', ]), 'raw': 'A43F', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '74', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'soilLevel': dict({ 'default': 'normal', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C33E', }), 'spinLevel': dict({ 'default': 'low', 'options': list([ 'rinseHold', 'noSpin', 'low', ]), 'raw': 'A207', }), 'waterTemperature': dict({ 'default': 'warm', 'options': list([ 'tapCold', 'cold', 'warm', ]), 'raw': '830E', }), }), }), dict({ 'cycle': '75', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', ]), 'raw': '920F', }), 'soilLevel': dict({ 'default': 'normal', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C33E', }), 'spinLevel': dict({ 'default': 'medium', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': 'tapCold', 'options': list([ 'tapCold', 'cold', 'warm', ]), 'raw': '810E', }), }), }), dict({ 'cycle': '78', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'rinseCycle': dict({ 'default': '1', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '913F', }), 'soilLevel': dict({ 'default': 'extraLight', 'options': list([ 'extraLight', 'light', 'normal', 'heavy', 'extraHeavy', ]), 'raw': 'C13E', }), 'spinLevel': dict({ 'default': 'extraHigh', 'options': list([ 'rinseHold', 'noSpin', 'low', 'medium', 'high', 'extraHigh', ]), 'raw': 'A53F', }), 'waterTemperature': dict({ 'default': 'warm', 'options': list([ 'tapCold', 'cold', 'warm', 'hot', ]), 'raw': '831E', }), }), }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 623000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Table_00_Course_01', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 805000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 10, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 594000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 45, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 546000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 594000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 45, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 45, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00:45', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 30, 43, 851000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'jobName': 'wash', 'timeInMin': 23, }), dict({ 'jobName': 'rinse', 'timeInMin': 10, }), dict({ 'jobName': 'spin', 'timeInMin': 9, }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 30, 43, 851000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'phaseName': 'wash', 'timeInMin': 23, }), dict({ 'phaseName': 'rinse', 'timeInMin': 10, }), dict({ 'phaseName': 'spin', 'timeInMin': 9, }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 11, 4, 14, 21, 57, 546000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'ready', 'running', 'paused', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wifi_https', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '210', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 456000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T03:54:45Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stop', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 29, 55, 546000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'stop', 'run', 'pause', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 3, 9, 45, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_wm_wm_000001_2] dict({ 'hca.main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 8, 764000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'others', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 8, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'normal', 'quickWash', 'eco', 'mix', 'spinOnly', ]), }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 7, 10, 3, 8, 1, 241000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.waterConsumptionReport', 'samsungce.washerCyclePreset', 'samsungce.welcomeMessage', 'samsungce.dongleSoftwareInstallation', 'sec.wifiConfiguration', 'samsungce.quickControl', 'samsungce.deviceInfoPrivate', 'samsungce.energyPlanner', 'demandResponseLoadControl', 'samsungce.washerFreezePrevent', 'custom.dryerDryLevel', 'custom.washerSoilLevel', 'samsungce.washerWaterLevel', 'samsungce.washerWaterValve', 'samsungce.washerWashingTime', 'custom.washerAutoDetergent', 'custom.washerAutoSoftener', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 17, 17, 42, 12, 954000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 17, 17, 42, 12, 954000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 14, 15, 36, 13, 295000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 14, 5, 20, 48, 494000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'None', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 8, 764000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_02', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 8, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '1C', '1B', '1E', '1F', '25', '26', '33', '24', '32', '20', '22', '23', '2F', '21', '2A', '2E', '2D', '34', '30', '27', '28', '3A', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 14, 70000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '0', '1', '2', '3', '4', '5', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 8, 891000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 14, 70000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 13, 22, 49, 246000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1400', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 14, 70000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'cold', '20', '30', '40', '60', '90', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 8, 873000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '60', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ 'href': '/operational/state/vs/0', }), 'timestamp': datetime.datetime(2024, 11, 24, 14, 42, 31, 49000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.a', ]), 'rt': list([ 'x.com.samsung.da.operation', ]), 'x.com.samsung.da.delayEndTime': '00:00:00', 'x.com.samsung.da.progress': 'Finish', 'x.com.samsung.da.progressPercentage': '100', 'x.com.samsung.da.remainingTime': '00:01:00', 'x.com.samsung.da.state': 'Run', 'x.com.samsung.da.supportedProgress': list([ 'None', 'Weightsensing', 'Wash', 'Rinse', 'Spin', 'Finish', ]), }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'c34897ca-c077-e3b9-adba-d52a96e47343', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON_30230804', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MediaTek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON|20260041|200100020014112302A3020700000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 2.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[washer] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'c34897ca-c077-e3b9-adba-d52a96e47343', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 6, 59, 13, 858000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-WM-WM-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 24, 40, 969000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 300, 'end': '2025-02-09T10:24:40Z', 'energy': 988800, 'energySaved': 0, 'persistedEnergy': 0, 'power': 0, 'powerEnergy': 0.0, 'start': '2025-02-09T10:09:42Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 33, 931000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'false', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 13, 23, 55, 432000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'standard', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'high', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 14, 457000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unknown', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'less', 'standard', 'extra', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'normal', 'high', 'extraHigh', ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 14, 457000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unknown', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'less', 'standard', 'extra', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'normal', 'high', 'extraHigh', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 11, 22, 16, 51, 7, 493000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON_WW90T65/DC92-02613A_B04D', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '20260041', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '200100020014112302A3020700000000', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 6, 14, 5, 20, 48, 494000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'completed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 2, 14, 45, 8, 395000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24110101, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 0, 750000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 1, 19, 14, 47, 8, 342000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 28, 7, 49, 28, 334000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 729000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '7XCNQWBWQJKRA', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 729000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 11, 22, 16, 51, 6, 929000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_02', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 651000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 4, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 13, 23, 52, 896000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'cycle': '1C', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '1B', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '933F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', '60', '90', ]), 'raw': '837E', }), }), }), dict({ 'cycle': '1E', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', ]), 'raw': 'A33F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '1F', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A57F', }), 'waterTemperature': dict({ 'default': 'cold', 'options': list([ 'cold', ]), 'raw': '8102', }), }), }), dict({ 'cycle': '25', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A57F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', '60', ]), 'raw': '833E', }), }), }), dict({ 'cycle': '26', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', ]), 'raw': '920F', }), 'spinLevel': dict({ 'default': '400', 'options': list([ 'rinseHold', 'noSpin', '400', ]), 'raw': 'A207', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '33', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '933F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '60', 'options': list([ 'cold', '20', '30', '40', '60', '90', ]), 'raw': '857E', }), }), }), dict({ 'cycle': '24', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', ]), 'raw': '930F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '32', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A37F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', '60', ]), 'raw': '833E', }), }), }), dict({ 'cycle': '20', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '4', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '943F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '60', 'options': list([ 'cold', '20', '30', '40', '60', '90', ]), 'raw': '857E', }), }), }), dict({ 'cycle': '22', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', ]), 'raw': '920F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '23', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', ]), 'raw': '930F', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A57F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '2F', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '933F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '21', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '4', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '943F', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A57F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '2A', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '933F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '2E', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '4', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '943F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '90', 'options': list([ 'cold', '20', '30', '40', '60', '90', ]), 'raw': '867E', }), }), }), dict({ 'cycle': '2D', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '34', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', '60', ]), 'raw': '843E', }), }), }), dict({ 'cycle': '30', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', '60', ]), 'raw': '833E', }), }), }), dict({ 'cycle': '27', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': 'noSpin', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A17F', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '28', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '0', 'options': list([ ]), 'raw': '9000', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67E', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '3A', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '2', ]), 'raw': '9204', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ '1200', ]), 'raw': 'A520', }), 'waterTemperature': dict({ 'default': '70', 'options': list([ '70', ]), 'raw': '8520', }), }), }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 8, 764000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Table_02_Course_33', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 841000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 10, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 3, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 104, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 0, 743000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 14, 471000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'running', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 3, 17, 534000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 104, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 16, 45, 809000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 14, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 16, 45, 809000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 90, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 16, 45, 809000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '01:30', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 3, 17, 734000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'jobName': 'wash', 'timeInMin': 42, }), dict({ 'jobName': 'rinse', 'timeInMin': 48, }), dict({ 'jobName': 'spin', 'timeInMin': 13, }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 3, 17, 734000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'phaseName': 'wash', 'timeInMin': 42, }), dict({ 'phaseName': 'rinse', 'timeInMin': 48, }), dict({ 'phaseName': 'spin', 'timeInMin': 13, }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 11, 1, 13, 41, 16, 993000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'ready', 'running', 'paused', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 3, 17, 548000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wash', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 3, 17, 548000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wash', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wifi_https', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 10, 4, 32, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '210', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 0, 737000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 3, 17, 548000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-09T11:47:17Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 14, 471000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'run', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 2, 0, 743000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'stop', 'run', 'pause', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 3, 17, 548000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wash', }), }), }), }) # --- # name: test_fetching_status_of_single_device[da_wm_wm_000001_3] dict({ 'hca.main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 375000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'others', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'normal', 'quickWash', 'mix', 'eco', 'spinOnly', ]), }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 7, 9, 13, 48, 14, 959000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungce.waterConsumptionReport', 'samsungce.washerCyclePreset', 'samsungce.welcomeMessage', 'samsungce.dongleSoftwareInstallation', 'sec.wifiConfiguration', 'samsungce.quickControl', 'samsungce.deviceInfoPrivate', 'samsungce.energyPlanner', 'demandResponseLoadControl', 'samsungce.washerFreezePrevent', 'custom.washerSoilLevel', 'samsungce.washerWaterLevel', 'samsungce.washerWaterValve', 'samsungce.washerWashingTime', 'custom.washerAutoDetergent', 'custom.washerAutoSoftener', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 754000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 10, 591000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'cupboard', '30', '60', '90', '120', '180', '240', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 6, 7, 8, 45, 56, 20000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 6, 7, 8, 43, 28, 951000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 827000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'None', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 820000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_02', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '1C', '1B', '1E', '1D', '1F', '25', '26', '33', '24', '32', '20', '22', '23', '2F', '21', '2D', '30', '27', '28', '36', '38', '39', '37', '29', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 10, 591000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '0', '1', '2', '3', '4', '5', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 24, 266000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 10, 591000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 547000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1400', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 10, 591000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'cold', '20', '30', '40', '60', '90', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 375000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '5f595079-fe6c-f441-49eb-008324a7acde', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON_30230804', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'MediaTek', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON|20260041|20010002011411A702A3020700000000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TizenRT 2.0 + IPv6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DAWIT 2.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[washer] Samsung', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '5f595079-fe6c-f441-49eb-008324a7acde', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 3, 22, 5, 8, 468000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA-WM-WM-000001', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 649000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 0, 'end': '2025-02-07T13:06:23Z', 'energy': 61900, 'energySaved': 0, 'persistedEnergy': 0, 'power': 0, 'powerEnergy': 0.0, 'start': '2025-02-07T13:05:28Z', }), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 323000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'false', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'standard', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'high', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 754000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unknown', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'less', 'standard', 'extra', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'normal', 'high', 'extraHigh', ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 24, 362000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'standard', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 754000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unknown', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'none', 'less', 'standard', 'extra', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'normal', 'high', 'extraHigh', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 500, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 350, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'liquid', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 350, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 10, 6, 44, 34, 124000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'liquid', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 500, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 12, 56, 12, 18000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'DA_WM_TP2_20_COMMON_WW6600R/DC92-02617A_B04C', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '20260041', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '20010002011411A702A3020700000000', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 6, 7, 8, 43, 28, 951000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'completed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 2, 12, 56, 5, 393000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 24110101, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 687000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unlocked', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 350, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'liquid', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 350, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': 'cc', 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 10, 6, 44, 34, 312000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'liquid', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 29, 16, 21, 43, 702000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 586000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'XTCGCEMPMAXYO', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 586000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 6, 7, 8, 43, 30, 83000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'id': 'Table_02', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 708000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 4, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 10, 591000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'cycle': '1C', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '1B', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', '60', '90', ]), 'raw': '847E', }), }), }), dict({ 'cycle': '1E', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', ]), 'raw': 'A53F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '1D', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '1F', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A57F', }), 'waterTemperature': dict({ 'default': 'cold', 'options': list([ 'cold', ]), 'raw': '8102', }), }), }), dict({ 'cycle': '25', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A57F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', '60', ]), 'raw': '843E', }), }), }), dict({ 'cycle': '26', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', ]), 'raw': '920F', }), 'spinLevel': dict({ 'default': '400', 'options': list([ 'rinseHold', 'noSpin', '400', ]), 'raw': 'A207', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '33', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '933F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '60', 'options': list([ 'cold', '20', '30', '40', '60', '90', ]), 'raw': '857E', }), }), }), dict({ 'cycle': '24', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', ]), 'raw': '930F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '32', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A37F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', '60', ]), 'raw': '833E', }), }), }), dict({ 'cycle': '20', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '4', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '943F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '60', 'options': list([ 'cold', '20', '30', '40', '60', '90', ]), 'raw': '857E', }), }), }), dict({ 'cycle': '22', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', ]), 'raw': '920F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '23', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', ]), 'raw': '930F', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A57F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '2F', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '3', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '933F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '30', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '831E', }), }), }), dict({ 'cycle': '21', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '4', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '943F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '2D', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '800', 'options': list([ 'rinseHold', 'noSpin', '400', '800', ]), 'raw': 'A30F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', ]), 'raw': '841E', }), }), }), dict({ 'cycle': '30', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': '40', 'options': list([ 'cold', '20', '30', '40', '60', ]), 'raw': '843E', }), }), }), dict({ 'cycle': '27', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '1', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '913F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'rinseHold', 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67F', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '28', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ 'none', 'cupboard', '30', '60', '90', ]), 'raw': 'B01F', }), 'rinseCycle': dict({ 'default': '0', 'options': list([ ]), 'raw': '9000', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ 'noSpin', '400', '800', '1000', '1200', '1400', ]), 'raw': 'A67E', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '36', 'cycleType': 'allInOne', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ 'on', 'off', ]), 'raw': '35F0', }), 'dryingLevel': dict({ 'default': 'cupboard', 'options': list([ 'cupboard', '30', '60', '90', ]), 'raw': 'B11E', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '0', '1', '2', '3', '4', '5', ]), 'raw': '923F', }), 'spinLevel': dict({ 'default': '1400', 'options': list([ '1400', ]), 'raw': 'A640', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '38', 'cycleType': 'dryingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'cupboard', 'options': list([ 'cupboard', '30', '60', '90', ]), 'raw': 'B11E', }), 'rinseCycle': dict({ 'default': '0', 'options': list([ ]), 'raw': '9000', }), 'spinLevel': dict({ 'default': 'rinseHold', 'options': list([ ]), 'raw': 'A000', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '39', 'cycleType': 'dryingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'cupboard', 'options': list([ 'cupboard', '30', '60', '90', ]), 'raw': 'B11E', }), 'rinseCycle': dict({ 'default': '0', 'options': list([ ]), 'raw': '9000', }), 'spinLevel': dict({ 'default': 'rinseHold', 'options': list([ ]), 'raw': 'A000', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '37', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '0', 'options': list([ ]), 'raw': '9000', }), 'spinLevel': dict({ 'default': 'rinseHold', 'options': list([ ]), 'raw': 'A000', }), 'waterTemperature': dict({ 'default': 'none', 'options': list([ ]), 'raw': '8000', }), }), }), dict({ 'cycle': '29', 'cycleType': 'washingOnly', 'supportedOptions': dict({ 'bubbleSoak': dict({ 'default': 'off', 'options': list([ ]), 'raw': '3500', }), 'dryingLevel': dict({ 'default': 'none', 'options': list([ ]), 'raw': 'B000', }), 'rinseCycle': dict({ 'default': '2', 'options': list([ '2', ]), 'raw': '9204', }), 'spinLevel': dict({ 'default': '1200', 'options': list([ '1200', ]), 'raw': 'A520', }), 'waterTemperature': dict({ 'default': '70', 'options': list([ '70', ]), 'raw': '8520', }), }), }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 375000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Table_02_Course_1C', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 812000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 10, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 441000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 159, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 676000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 24, 190000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ready', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 441000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 159, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 26, 9, 44, 38, 648000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 490000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 159, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 490000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '02:39', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 17, 179000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'jobName': 'wash', 'timeInMin': 4, }), dict({ 'jobName': 'spin', 'timeInMin': 6, }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 17, 179000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'phaseName': 'wash', 'timeInMin': 4, }), dict({ 'phaseName': 'spin', 'timeInMin': 6, }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 6, 7, 8, 43, 30, 238000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'ready', 'running', 'paused', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 676000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 26, 9, 44, 38, 648000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SSM', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJT', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'wifi_https', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 14, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '210', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 271000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 13, 6, 23, 490000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-07T15:45:23Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 56, 24, 190000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stop', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 676000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'stop', 'run', 'pause', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 12, 55, 13, 676000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), }), }), }) # --- # name: test_fetching_status_of_single_device[ecobee_sensor] dict({ 'main': dict({ : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 11, 14, 23, 22, 53000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2025, 1, 16, 21, 14, 7, 471000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 13, 58, 50, 44000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'inactive', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 13, 58, 50, 44000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'not present', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 14, 36, 16, 823000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 71, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[ecobee_thermostat] dict({ 'main': dict({ : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 11, 13, 39, 58, 286000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2025, 1, 16, 21, 14, 7, 448000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 14, 36, 17, 275000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 32, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 14, 23, 21, 556000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 71, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 13, 39, 58, 286000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 73, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 13, 39, 58, 286000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'on', 'auto', ]), }), : dict({ 'data': dict({ 'supportedThermostatFanModes': list([ 'on', 'auto', ]), }), 'timestamp': datetime.datetime(2025, 2, 11, 13, 39, 58, 286000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'auto', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 13, 39, 58, 286000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 71, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 13, 39, 58, 286000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'off', 'cool', 'auxheatonly', 'auto', ]), }), : dict({ 'data': dict({ 'supportedThermostatModes': list([ 'off', 'cool', 'auxheatonly', 'auto', ]), }), 'timestamp': datetime.datetime(2025, 2, 11, 13, 39, 58, 286000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'heat', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 13, 39, 58, 286000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'heating', }), }), }), }) # --- # name: test_fetching_status_of_single_device[ge_dimmer_assoc] dict({ 'main': dict({ : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 17, 49, 842000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 48, 48, 158000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[ge_in_wall_smart_dimmer] dict({ 'main': dict({ : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 23, 21, 22, 908000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 2, 39, 25, 819000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 39, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[hub] dict({ }) # --- # name: test_fetching_status_of_single_device[hue_color_temperature_bulb] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 21, 56, 4, 127000, tzinfo=datetime.timezone.utc), 'unit': 'K', 'value': 3000, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 823000, tzinfo=datetime.timezone.utc), 'unit': 'K', 'value': dict({ 'maximum': 6535, 'minimum': 2000, }), }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 823000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2023, 12, 17, 18, 11, 41, 671000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 21, 56, 4, 127000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 21, 56, 4, 127000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 70, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 823000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': dict({ 'maximum': 100, 'minimum': 1, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[hue_rgbw_color_bulb] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 812000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 60.8072, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 812000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 60, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 21, 56, 2, 381000, tzinfo=datetime.timezone.utc), 'unit': 'K', 'value': 3000, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 6, 15, 14, 52, 807000, tzinfo=datetime.timezone.utc), 'unit': 'K', 'value': dict({ 'maximum': 6535, 'minimum': 2000, }), }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 812000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2023, 12, 17, 18, 11, 41, 678000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 812000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normal', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 7, 8, 19, 519000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 21, 56, 2, 381000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 70, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 7, 15, 14, 53, 812000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': dict({ 'maximum': 100, 'minimum': 1, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[ikea_e26] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 42, 27, 494000, tzinfo=datetime.timezone.utc), 'unit': 'K', 'value': 3395, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 9, 37, 773000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '11115720', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 9, 37, 760000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '11115720', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 9, 37, 766000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 9, 37, 767000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 50, 29, 195000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 42, 27, 457000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 20, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[ikea_floor_lamp] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 22, 37, 47, 911000, tzinfo=datetime.timezone.utc), 'unit': 'K', 'value': 2857, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 22, 39, 57, 915000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '11115720', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 22, 39, 57, 609000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '11115720', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 22, 39, 57, 911000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 22, 39, 57, 913000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 22, 37, 47, 16000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 6, 22, 37, 46, 588000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[ikea_remote_control] dict({ 'button1': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 57, 24, 797000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'pushed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 50, 16, 776000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 50, 16, 772000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'pushed', 'held', ]), }), }), }), 'button2': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 57, 25, 59000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'pushed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 50, 16, 773000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 50, 16, 736000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'pushed', 'held', ]), }), }), }), 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 50, 17, 333000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 57, 25, 55000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'pushed', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 50, 16, 730000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 2, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 50, 16, 731000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'pushed', 'held', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 51, 33, 136000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '22010631', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 51, 32, 892000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '22010631', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 51, 33, 133000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 8, 13, 14, 51, 33, 134000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ }), }), }) # --- # name: test_fetching_status_of_single_device[im_smarttag2_ble_uwb] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 6, 25, 5, 56, 22, 227000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 2, 27, 17, 44, 57, 638000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'connected', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[im_smarttag_ble_uwb] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 5, 25, 10, 5, 45, 139000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'connected', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[iphone] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 9, 22, 18, 12, 25, 12000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'present', }), }), }), }) # --- # name: test_fetching_status_of_single_device[ledvance_switch] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 19, 8, 34, 692000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00102101', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 19, 8, 34, 690000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00102101', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 19, 8, 34, 691000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 19, 8, 34, 693000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 24, 49, 699000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[main_virtual_device] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 5, 18, 19, 42, 10000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Total Devices: 1', }), }), : dict({ }), }), }) # --- # name: test_fetching_status_of_single_device[multipurpose_sensor] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 27, 46, 812000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'inactive', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 24, 2, 74000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 50, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 8, 14, 0, 28, 332000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 20, 25, 600000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0000001B', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 20, 25, 593000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0000001B', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 20, 25, 600000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 4, 20, 25, 601000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 56, 19, 744000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 67.0, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 27, 36, 673000, tzinfo=datetime.timezone.utc), 'unit': 'mG', 'value': list([ 20, 8, -1042, ]), }), }), }), }) # --- # name: test_fetching_status_of_single_device[sengled] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 56, 17, 80000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00000009', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 56, 17, 81000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00000009', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 56, 17, 80000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 56, 17, 78000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 9, 35, 224000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 40, 49, 826000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[sensibo_airconditioner_1] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 9, 47, 758000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'cool', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 9, 10, 9, 47, 758000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'online', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': dict({ 'deviceScheme': 'UNTRACKED', 'protocol': 'cloud', }), 'timestamp': datetime.datetime(2024, 12, 4, 10, 10, 2, 934000, tzinfo=datetime.timezone.utc), 'unit': 's', 'value': 60, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 9, 47, 758000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 9, 47, 758000, tzinfo=datetime.timezone.utc), 'unit': 'C', 'value': 20, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[soundbar_hw_q80_r] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 4, 18, 7, 796000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unmuted', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 5, 21, 23, 40, 238000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'artist': '', 'title': '', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 7, 30, 16, 9, 9, 109000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 7, 30, 16, 9, 9, 109000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 4, 18, 7, 796000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 6, }), }), : dict({ : dict({ 'data': dict({ 'href': '/sec/networkaudio/soundmode', }), 'timestamp': datetime.datetime(2023, 7, 16, 23, 16, 55, 582000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.a', 'oic.if.baseline', ]), 'rt': list([ 'x.com.samsung.networkaudio.soundmode', ]), 'x.com.samsung.networkaudio.soundmode': 'standard', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 0, 8, 44, 336000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'digital', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 0, 8, 44, 336000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'wifi', 'bluetooth', 'HDMI1', 'HDMI2', 'digital', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 4, 35, 56, 245000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stopped', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 4, 35, 56, 245000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '12345678-1234-1234-1234-123456789012', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2018-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HW-Q80RWWB-1012.6', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0-0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Q80R', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '4.1.10', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen 4.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com/sec/audio-video/', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[AV] Samsung Soundbar Q80R', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '12345678-1234-1234-1234-123456789012', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'NONE', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 21, 7, 25, 406000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-NetworkAudio-001S', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 0, 8, 44, 336000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'digital', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 0, 8, 44, 336000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'wifi', 'bluetooth', 'HDMI1', 'HDMI2', 'digital', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 22, 4, 12, 413000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'all', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 22, 4, 12, 413000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 22, 4, 12, 413000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'none', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 22, 4, 12, 413000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'single', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 0, 8, 44, 414000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), }) # --- # name: test_fetching_status_of_single_device[switch_binary_indicator] dict({ 'main': dict({ : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 26, 22, 800000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[switch_level] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 57, 40, 214000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0000000C', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 57, 40, 212000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0000000C', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 57, 40, 212000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 16, 57, 40, 210000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 10, 2, 12, 5, 15, 168000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Inactive', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 10, 2, 12, 5, 15, 136000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 10, 2, 12, 5, 15, 321000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'All Deleted', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 3, 19, 12, 20, 57, 785000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 10, 2, 12, 5, 15, 137000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Inactive', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 10, 2, 12, 5, 15, 143000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Inactive', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 10, 2, 12, 5, 15, 116000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Inactive', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 8, 20, 28, 14, 452000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Inactive', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 8, 20, 28, 14, 454000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Inactive', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 54, 48, 996000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025/02/09 Time: 17:54, LQI: 254 ... rssi: -64', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 39, 48, 986000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 5, 4, 951000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_frame_2024] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 8, 21, 12, 888000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'muted', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 8, 21, 19, 143000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 12, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 42, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungvd.ambientContent', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 31, 1, 54000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 31, 1, 54000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 31, 1, 54000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 31, 1, 54000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 31, 1, 54000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 31, 1, 54000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 31, 1, 54000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 1, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 23, 35, 11, 458000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': 0, 'drlcType': 1, 'duration': 99999999, 'override': False, 'start': '2025-02-10T23:35:06Z', }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', 'fastForward', 'rewind', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '425ac77a-f7c9-a62d-ff12-cdad144952e3', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'T-PTMDDEUC-1201.8|ST_ENERGY', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'QE55LS03DAUXXN', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '55 The Frame', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '425ac77a-f7c9-a62d-ff12-cdad144952e3', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-12-30T01:21:33Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-FRAME-2024', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 13, 51, 510000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 22.756029, 'end': '2025-02-11T19:13:51Z', 'energy': 0, 'energySaved': 0, 'persistedEnergy': 0, 'persistedSavedEnergy': 0, 'power': 0, 'powerEnergy': 0, 'start': '2025-02-11T18:58:44Z', }), }), }), : dict({ }), : dict({ }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 7, 0, 16, 38, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 16, 998000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'frametv', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 16, 998000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3.5.1', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 17, 43000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 17, 43000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 17, 43000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 17, 43000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 17, 43000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 17, 43000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': '', 'name': '', }), ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 5, 8, 21, 17, 43000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 10, 54, 38, 169000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 26, 16, 23, 24, 982000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'dtv', 'name': 'Tv', }), dict({ 'id': 'HDMI1', 'name': 'Chromecast', }), dict({ 'id': 'HDMI3', 'name': 'Ultra Slim Soundbar', }), dict({ 'id': 'HDMI4', 'name': 'PlayStation 5', }), ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 8, 21, 14, 262000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Standaard (gekalibreerd)', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 8, 21, 13, 288000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Dynamisch', 'Eco', 'Film (gekalibreerd)', 'Standaard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 8, 21, 13, 288000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeDynamic', 'name': 'Dynamisch', }), dict({ 'id': 'modeGen_65552', 'name': 'Eco', }), dict({ 'id': 'modeMovie', 'name': 'Film (gekalibreerd)', }), dict({ 'id': 'modeStandard', 'name': 'Standaard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 30, 8, 21, 13, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Standaard', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 8, 21, 13, 92000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Standaard', 'Versterken', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 1, 8, 21, 13, 92000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeStandard', 'name': 'Standaard', }), dict({ 'id': 'modeAmplify', 'name': 'Versterken', }), ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 16, 21, 32, 52, 936000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 16, 44, 12, 196000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 16, 21, 32, 52, 936000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 30, 59, 379000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'true', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 4, 17, 30, 59, 219000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 23, 35, 10, 157000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1739230510, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 13, 51, 503000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 17, 41, 57, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 17, 41, 57, 453000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '9Ur5IzDKqV.TizenYouTube', }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_network_audio_002s] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 18, 44, 787000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unmuted', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 0, 29, 29, 953000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'album': '', 'artist': '', 'title': '', }), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 0, 29, 29, 828000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 0, 29, 29, 953000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 25, 51, 839000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 17, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'stopped', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 12, 923000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0d94e5db-8501-2355-eb4f-214163702cac', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2023-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SAT-iMX8M23WWC-1010.5', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HW-Q990C', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '7.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Soundbar Living', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0d94e5db-8501-2355-eb4f-214163702cac', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-12-10T02:12:44Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 1, 3, 42, 587000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-NetworkAudio-002S', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 18, 44, 680000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 18, 44, 680000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'digital', 'HDMI1', 'bluetooth', 'wifi', 'HDMI2', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 215000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'External Device', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 215000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 3, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 42, 13, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1739115734, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 25, 51, 536000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_network_audio_003s] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 2, 51, 841000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unmuted', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 2, 52, 690000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 18, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '9985fbfa-777a-4fae-a637-6148f41b3c63', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'SAT-MT8532D24WWC-1016.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HW-S701D', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Ultra Slim Soundbar', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '9985fbfa-777a-4fae-a637-6148f41b3c63', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-01-17T01:52:47Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 17, 8, 58, 48, 549000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-NetworkAudio-003S', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 201000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'D.IN', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 201000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'BT', 'WIFI', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 17, 41, 57, 454000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TV', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 17, 41, 57, 454000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 10, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 103000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 905000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 905000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1739262078, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'file', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'PIPER', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'errCode', 'dump', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0AJK', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'ble_ocf', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '301', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 18, 57000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD02', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 849000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 849000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 849000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'ble_ocf', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 849000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'OPEN', 'WEP', 'WPA-PSK', 'WPA2-PSK', 'EAP', 'SAE', 'OWE', 'FT-PSK', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 8, 21, 17, 849000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ '2.4G', '5G', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 2, 51, 925000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_sensor_light_2023] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '5cc1c096-98b9-460c-8f1c-1045509ec605', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2023-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'latest', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'QE55LS03DAUXXN', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Light Sensor - 55 The Frame', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '5cc1c096-98b9-460c-8f1c-1045509ec605', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-01-14T08:07:36Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 14, 8, 7, 40, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-Sensor.Light-2023', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 19, 8, 25, 539000, tzinfo=datetime.timezone.utc), 'unit': 'level', 'value': 2, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_sensor_sound_2023] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '930eced7-366d-4e6d-b2f2-e3a80f3d5a0c', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2023-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'latest', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'QE55LS03DAUXXN', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Sound Sensor - 55 The Frame', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '930eced7-366d-4e6d-b2f2-e3a80f3d5a0c', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-12-18T00:04:21Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 18, 0, 4, 22, 237000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-Sensor.Sound-2023', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 18, 33, 12, 594000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 23, 59, 329000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'noSound', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 23, 59, 329000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'disabled', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 0, 23, 59, 329000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'noSound', 'dogBarking', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 18, 33, 12, 594000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_stv_2017_k] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 19, 19, 52, 832000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'muted', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 19, 19, 52, 832000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 13, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 1, 17, 1, 10, 11, 985000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungvd.ambient', 'samsungvd.ambientContent', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 8, 4, 21, 53, 22, 148000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 12, 23, 1, 33, 37, 69000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Dynamic', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 585000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Dynamic', 'Standard', 'Natural', 'Movie', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 12, 23, 1, 33, 37, 69000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeDynamic', 'name': 'Dynamic', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), dict({ 'id': 'modeNatural', 'name': 'Natural', }), dict({ 'id': 'modeMovie', 'name': 'Movie', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 12, 23, 1, 33, 37, 272000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Standard', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 19, 19, 52, 887000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Standard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 19, 19, 52, 887000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeStandard', 'name': 'Standard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': dict({ 'href': '/sec/tv/deviceinfo', }), 'timestamp': datetime.datetime(2021, 8, 30, 19, 18, 12, 303000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.baseline', 'oic.if.r', ]), 'rt': list([ 'x.com.samsung.tv.deviceinfo', ]), 'x.com.samsung.country': 'USA', 'x.com.samsung.infolinkversion': 'T-INFOLINK2017-1008', 'x.com.samsung.modelid': '17_KANTM_UHD', 'x.com.samsung.tv.blemac': 'CC:6E:A4:1F:4C:F7', 'x.com.samsung.tv.btmac': 'CC:6E:A4:1F:4C:F7', 'x.com.samsung.tv.category': 'tv', 'x.com.samsung.tv.countrycode': 'US', 'x.com.samsung.tv.duid': 'B2NBQRAG357IX', 'x.com.samsung.tv.ethmac': 'c0:48:e6:e7:fc:2c', 'x.com.samsung.tv.p2pmac': 'ce:6e:a4:1f:4c:f6', 'x.com.samsung.tv.udn': '717fb7ed-b310-4cfe-8954-1cd8211dd689', 'x.com.samsung.tv.wifimac': 'cc:6e:a4:1f:4c:f6', }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 28, 16, 29, 59, 716000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 10, 16, 15, 18, 11, 622000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'digitalTv', 'HDMI1', 'HDMI4', 'HDMI4', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 8, 4, 21, 53, 22, 108000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 250000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', 'fastForward', 'rewind', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 8, 4, 21, 53, 22, 384000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '4588d2d9-a8cf-40f4-9a0b-ed5dfbaccda1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 18, 52, 58, 71000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 18, 52, 58, 71000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 19, 19, 51, 890000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2017-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 18, 52, 57, 543000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'T-KTMAKUC-1290.3', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '0-0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'UN49MU8000', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '4.1.10', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen 3.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 19, 19, 51, 890000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'http://www.samsung.com/sec/tv/overview/', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[TV] Samsung 8 Series (49)', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '4588d2d9-a8cf-40f4-9a0b-ed5dfbaccda1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 19, 19, 51, 890000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2021-08-21T14:50:34Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 206000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-STV_2017_K', }), }), : dict({ }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 1, 17, 1, 10, 11, 985000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 10, 29, 10, 47, 19, 376000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 28, 16, 29, 59, 716000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 10, 16, 15, 18, 11, 622000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'dtv', 'name': 'TV', }), dict({ 'id': 'HDMI1', 'name': 'PlayStation 4', }), dict({ 'id': 'HDMI4', 'name': 'HT-CT370', }), dict({ 'id': 'HDMI4', 'name': 'HT-CT370', }), ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 10, 29, 10, 47, 20, 305000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 10, 16, 15, 18, 11, 317000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 5, 7, 2, 58, 10, 479000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2021, 8, 21, 18, 53, 6, 643000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_stv_2021] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 630000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unmuted', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 630000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 11, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 6, 212000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungim.fixedFindNode', 'samsungvd.supportsFeatures', 'samsungim.findNodeGeolocation', 'powerConsumptionReport', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 811000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'FILMMAKER MODE', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 811000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Dynamisk', 'FILMMAKER MODE', 'Film', 'Naturlig', 'Standard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 811000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeDynamic', 'name': 'Dynamisk', }), dict({ 'id': 'modeFilmmakerMode', 'name': 'FILMMAKER MODE', }), dict({ 'id': 'modeMovie', 'name': 'Film', }), dict({ 'id': 'modeNatural', 'name': 'Naturlig', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 544000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Surround', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 544000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Adaptivt ljud', 'Spel', 'Standard', 'Surround', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 544000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeExternalAdaptive', 'name': 'Adaptivt ljud', }), dict({ 'id': 'modeExternalGame', 'name': 'Spel', }), dict({ 'id': 'modeExternalStandard', 'name': 'Standard', }), dict({ 'id': 'modeExternal3DSurround', 'name': 'Surround', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 12, 10, 9, 32, 2, 350000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI4', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 4, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 4, 815000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', 'fastForward', 'rewind', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '70650a5c-3e57-c66b-8c43-d48d06852948', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2021-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'T-NKM2DEUC-2220.9', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'QE75QN95AATXXC', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '6.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung QN95AA 75 TV', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '70650a5c-3e57-c66b-8c43-d48d06852948', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025-02-01T22:03:42Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 29000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-STV-2021', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 912000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'weather', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 6, 565000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'tv', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 6, 565000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3.5.0', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 23, 0, 34, 25000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI4', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 23, 0, 34, 25000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'dtv', 'name': 'TV', }), dict({ 'id': 'HDMI2', 'name': 'PC', }), dict({ 'id': 'HDMI3', 'name': 'HDMI 3', }), dict({ 'id': 'HDMI4', 'name': 'PlayStation 5', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 23, 0, 33, 790000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'true', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 23, 0, 33, 389000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 23, 0, 33, 389000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1739142033, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 3, 14, 17, 614000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'off', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 693000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 2, 14, 15, 5, 693000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_stv_2022] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 13, 742000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'unmuted', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 13, 742000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 22, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 31, 23, 29, 37, 921000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungvd.ambient', 'samsungvd.ambientContent', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 9, 470000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'FILMMAKER MODE', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 14, 288000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Dynamic', 'Movie', 'Standard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 14, 288000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeDynamic', 'name': 'Dynamic', }), dict({ 'id': 'modeMovie', 'name': 'Movie', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 14, 33000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Standard', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 14, 33000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Amplify', 'Standard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 14, 33000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeAmplify', 'name': 'Amplify', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': dict({ 'href': '/sec/tv/deviceinfo', }), 'timestamp': datetime.datetime(2023, 6, 10, 23, 8, 17, 475000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.r', 'oic.if.baseline', ]), 'rt': list([ 'x.com.samsung.tv.deviceinfo', ]), 'x.com.samsung.country': 'UK', 'x.com.samsung.infolinkversion': 'T-INFOLINK2022-1008', 'x.com.samsung.modelid': '22_PONTUSM_FTV', 'x.com.samsung.tv.ambientsupport': True, 'x.com.samsung.tv.blemac': 'B0:99:D7:23:24:C9', 'x.com.samsung.tv.btmac': 'B0:99:D7:23:24:C9', 'x.com.samsung.tv.category': 'frametv', 'x.com.samsung.tv.countrycode': 'GB', 'x.com.samsung.tv.duid': '3EHCNQDV3NATF', 'x.com.samsung.tv.ethmac': '70:09:71:4b:90:5e', 'x.com.samsung.tv.language': 'en_GB', 'x.com.samsung.tv.mnid': '0AJK', 'x.com.samsung.tv.onsupport': True, 'x.com.samsung.tv.p2pmac': 'b2:99:d7:23:24:c8', 'x.com.samsung.tv.paneltime': 5, 'x.com.samsung.tv.setupid': '101', 'x.com.samsung.tv.sn': '0L973HDW500019W', 'x.com.samsung.tv.swmodel': 'LS03B', 'x.com.samsung.tv.thingversion': '3.5.0', 'x.com.samsung.tv.udn': '8e09770c-6762-4245-8654-0457ae5370b3', 'x.com.samsung.tv.vendorcode': 'Samsung', 'x.com.samsung.tv.wifimac': 'b0:99:d7:23:24:c8', 'x.com.samsung.tv.year': 2022, }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 1, 26, 20, 7, 3, 482000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'digitalTv', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 460000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 460000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', 'fastForward', 'rewind', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '01751e21-3609-ec2f-41af-1c8bc8d96c15', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2022-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'T-PTMDEUC-1651.7|ST_ENERGY', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'QE55LS03BGUXXU', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '6.5', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung The Frame 55', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '01751e21-3609-ec2f-41af-1c8bc8d96c15', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-12-30T01:40:02Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 989000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-STV-2022', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 22, 38, 42, 162000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 14.61608, 'end': '2025-02-09T22:38:42Z', 'energy': 0, 'energySaved': 0.0, 'persistedEnergy': 0, 'persistedSavedEnergy': 0, 'power': 0, 'powerEnergy': 0, 'start': '2025-02-09T22:23:35Z', }), }), }), : dict({ }), : dict({ }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 4, 460000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 14, 170000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'frametv', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 30, 2, 22, 14, 170000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3.5.1', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 14, 7, 2, 589000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'dtv', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 5, 20, 38, 59, 159000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'dtv', 'name': 'TV', }), dict({ 'id': 'HDMI2', 'name': 'PC', }), dict({ 'id': 'HDMI3', 'name': 'HW-S801B', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 5, 461000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 5, 461000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 10, 0, 5, 461000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 14, 7, 2, 366000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'true', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 28, 14, 7, 2, 212000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 53, 46, 946000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1739123627, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 22, 23, 31, 946000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 18, 24, 33, 801000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 18, 24, 33, 801000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'art', }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_stv_2023] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 197000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'muted', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 197000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 7, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 52, 42, 95000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'samsungvd.ambientContent', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 27, 382000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 27, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 27, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 27, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 27, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 27, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 27, 382000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 1, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 11, 13, 0, 10, 329000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Dynamique', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 11, 13, 0, 10, 329000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Cinรฉma', 'Dynamique', 'FILMMAKER MODE', 'Standard', 'ร‰co', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 11, 13, 0, 10, 329000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeMovie', 'name': 'Cinรฉma', }), dict({ 'id': 'modeDynamic', 'name': 'Dynamique', }), dict({ 'id': 'modeFilmmakerMode', 'name': 'FILMMAKER MODE', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), dict({ 'id': 'modeGen_65552', 'name': 'ร‰co', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 632000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Standard', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 632000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Amplifier', 'Standard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 632000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeAmplify', 'name': 'Amplifier', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 19, 8, 832000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': 0, 'drlcType': 1, 'duration': 99999999, 'override': False, 'start': '2025-02-09T15:19:06Z', }), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 978000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 978000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', 'fastForward', 'rewind', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8c1b8eff-e8c7-dcf8-58f8-da81669b92eb', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2023-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 13, 17, 35, 52, 874000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'T-PTMCDEUC-0080-2020.2|ST_ENERGY', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TQ65S90CATXXC', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'TV', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8c1b8eff-e8c7-dcf8-58f8-da81669b92eb', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-12-30T10:02:47Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 973000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-STV-2023', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 19, 8, 940000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 0, 'end': '2025-02-09T15:19:08Z', 'energy': 0, 'energySaved': 0, 'persistedEnergy': 0, 'persistedSavedEnergy': 0, 'power': 0, 'powerEnergy': 0, 'start': '1970-01-01T00:00:00Z', }), }), }), : dict({ }), : dict({ }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 8, 17, 26, 29, 978000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 606000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'tv', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 606000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3.5.1', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 24, 999000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI1', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 24, 999000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'dtv', 'name': 'TV', }), dict({ 'id': 'HDMI1', 'name': 'Chromecast', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 851000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 851000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 7, 19, 59, 851000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 24, 686000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'true', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 14, 43, 24, 358000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 15, 19, 7, 72000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1739114347, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 18, 32, 4, 977000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 20, 48, 534000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 13, 21, 51, 129000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '9Ur5IzDKqV.TizenYouTube', }), }), }), }) # --- # name: test_fetching_status_of_single_device[vd_stv_2023_1] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 30, 2, 22, 9, 661000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'muted', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 30, 2, 22, 9, 661000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 15, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 15, 2, 22, 7, 511000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 21, 308000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 99999999, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 21, 308000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 21, 308000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 21, 308000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 21, 308000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 21, 308000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2.0', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 21, 308000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 1, ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 23, 436000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'FILMMAKER MODE', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 23, 436000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Dynamic', 'Eco', 'FILMMAKER MODE', 'Movie', 'Standard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 23, 436000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeDynamic', 'name': 'Dynamic', }), dict({ 'id': 'modeGen_65552', 'name': 'Eco', }), dict({ 'id': 'modeFilmmakerMode', 'name': 'FILMMAKER MODE', }), dict({ 'id': 'modeMovie', 'name': 'Movie', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 21, 2, 22, 15, 343000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Standard', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 30, 2, 22, 9, 629000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'Amplify', 'Standard', ]), }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 30, 2, 22, 9, 629000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'modeAmplify', 'name': 'Amplify', }), dict({ 'id': 'modeStandard', 'name': 'Standard', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 12, 57, 48, 78000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'drlcLevel': 0, 'drlcType': 1, 'duration': 99999999, 'override': False, 'start': '2024-11-08T12:57:47Z', }), }), }), : dict({ : dict({ 'data': dict({ 'href': '/sec/tv/deviceinfo', }), 'timestamp': datetime.datetime(2023, 6, 16, 10, 54, 2, 765000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'payload': dict({ 'if': list([ 'oic.if.r', 'oic.if.baseline', ]), 'rt': list([ 'x.com.samsung.tv.deviceinfo', ]), 'x.com.samsung.country': 'UK', 'x.com.samsung.infolinkversion': 'T-INFOLINK2023-1002', 'x.com.samsung.modelid': '23_PONTUSM_QTV', 'x.com.samsung.tv.ambientsupport': True, 'x.com.samsung.tv.blemac': 'E0:9D:13:9A:6F:67', 'x.com.samsung.tv.btmac': 'E0:9D:13:9A:6F:67', 'x.com.samsung.tv.category': 'tv', 'x.com.samsung.tv.countrycode': 'GB', 'x.com.samsung.tv.duid': 'BI24U5QUOGMHF', 'x.com.samsung.tv.ethmac': '68:fc:ca:14:5b:e3', 'x.com.samsung.tv.language': 'en_GB', 'x.com.samsung.tv.mnid': '0AJK', 'x.com.samsung.tv.onsupport': True, 'x.com.samsung.tv.p2pmac': 'e2:9d:13:9a:6f:66', 'x.com.samsung.tv.paneltime': 197, 'x.com.samsung.tv.setupid': '101', 'x.com.samsung.tv.sn': '0EV63STW300004J', 'x.com.samsung.tv.swmodel': 'QCQ95', 'x.com.samsung.tv.thingversion': '3.5.0', 'x.com.samsung.tv.udn': '8ce4302f-8175-4bc6-b5d1-87a2cad2ff76', 'x.com.samsung.tv.vendorcode': 'Samsung', 'x.com.samsung.tv.wifimac': 'e0:9d:13:9a:6f:66', 'x.com.samsung.tv.year': 2023, }), }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 12, 25, 9, 52, 40, 510000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI3', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'play', 'pause', 'stop', 'fastForward', 'rewind', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'b4d20b8f-ae23-8a6d-9db2-4c9d8db2c615', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'res.1.1.0,sh.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'core.1.1.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2023-01-01', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'T-PTMCDEUC-0080-2013.1|ST_ENERGY', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung Electronics', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'QE55QN95CATXXU', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Tizen', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8.0', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Samsung QN95CA 55', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'b4d20b8f-ae23-8a6d-9db2-4c9d8db2c615', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2024-10-25T23:24:50Z', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 21, 668000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'VD-STV-2023', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 0, 50, 57, 390000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': dict({ 'deltaEnergy': 20.869067, 'end': '2024-11-09T00:50:57Z', 'energy': 0, 'energySaved': 0.0, 'persistedEnergy': 0, 'persistedSavedEnergy': 0, 'power': 0, 'powerEnergy': 0, 'start': '2024-11-09T00:35:56Z', }), }), }), : dict({ }), : dict({ }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 22, 933000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'weather', ]), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 21, 2, 22, 15, 667000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'tv', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 22, 901000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '3.5.1', }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 12, 17, 27, 25, 863000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'HDMI3', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 19, 47000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ dict({ 'id': 'dtv', 'name': 'TV', }), dict({ 'id': 'HDMI3', 'name': 'AVC-X3800H', }), ]), }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 23, 11, 31, 51, 915000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 23, 11, 31, 51, 915000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'True', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 9, 4, 23, 30, 18, 998000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'true', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 28, 11, 24, 19, 707000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Idle', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 8, 12, 57, 44, 328000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1731070664, }), }), : dict({ : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 11, 9, 0, 20, 35, 400000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 11, 23, 59, 21, 650000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 29, 22, 38, 22, 949000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '', }), }), }), }) # --- # name: test_fetching_status_of_single_device[virtual_calendar] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 11, 51, 499000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Day', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 12, 11, 51, 502000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'None', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 0, 53, 933000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '10 hrs 31 min', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 220000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Odd', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 58, 54, 337000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '2025/02/09 13:58', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 262000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 20250209, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 265000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 20250209, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 184000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 9, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 218000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 9, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 58, 54, 347000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1358, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 351000, tzinfo=datetime.timezone.utc), 'unit': 'hr', 'value': -4, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 58, 54, 367000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 1358, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 304000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 2, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 226000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 209, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 230000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 209, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 306000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 2, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 347000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 0, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 30, 54, 306000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 2025, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 58, 54, 376000, tzinfo=datetime.timezone.utc), 'unit': 'ยบ', 'value': 190.7, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 56, 54, 376000, tzinfo=datetime.timezone.utc), 'unit': 'ยบ', 'value': 35.8, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 0, 53, 872000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '08:07:00', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 58, 54, 320000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': 351, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 0, 53, 871000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '18:38:00', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 58, 54, 321000, tzinfo=datetime.timezone.utc), 'unit': 'min', 'value': -280, }), }), : dict({ }), }), }) # --- # name: test_fetching_status_of_single_device[virtual_thermostat] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 51, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '38140', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 8554.194688973037, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': dict({ 'maximum': 1826.722761785079, 'minimum': 9268.726934158902, 'step': 138.2080712609211, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 244.33726326608746, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': dict({ 'maximum': 7288.145606306409, 'minimum': 4997.721228739137, 'step': 7620.031701049315, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'on', ]), }), : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'followschedule', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': 814.7469111058201, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': 'F', 'value': dict({ 'maximum': 3226.693210895862, 'minimum': 6214.940743832475, 'step': 9234.459191378826, }), }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': list([ 'rush hour', ]), }), : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'auxheatonly', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 22, 4, 56, 341000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'pending cool', }), }), }), }) # --- # name: test_fetching_status_of_single_device[virtual_valve] dict({ 'main': dict({ : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 11, 11, 27, 2, 262000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'closed', }), }), }), }) # --- # name: test_fetching_status_of_single_device[virtual_water_sensor] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 21, 58, 18, 784000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 100, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 21, 58, 18, 784000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 84, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 21, 58, 18, 784000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '46120', }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 10, 21, 58, 18, 784000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'dry', }), }), }), }) # --- # name: test_fetching_status_of_single_device[yale_push_button_deadbolt_lock] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 18, 14, 150000, tzinfo=datetime.timezone.utc), 'unit': '%', 'value': 86, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 48, 45, 331000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00840847', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 48, 45, 328000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '00840847', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 48, 45, 331000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'normalOperation', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 11, 48, 45, 332000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'False', }), }), : dict({ : dict({ 'data': dict({ }), 'timestamp': datetime.datetime(2025, 2, 9, 17, 29, 56, 641000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'locked', }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': None, 'unit': None, 'value': None, }), }), : dict({ : dict({ 'data': dict({ 'codeName': 'Code 8', }), 'timestamp': datetime.datetime(2025, 1, 6, 4, 56, 31, 712000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '8 unset', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2020, 8, 4, 15, 29, 24, 127000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': None, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2022, 8, 1, 1, 36, 58, 424000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 5, }), : dict({ 'data': dict({ 'method': 'manual', }), 'timestamp': datetime.datetime(2023, 7, 10, 23, 3, 42, 305000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'locked', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 6, 4, 56, 28, 325000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '{"1":"Salim","2":"Saima","3":"Sarah","4":"Aisha","5":"Moiz"}', }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 8, 22, 1, 34, 18, 690000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 8, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 8, 22, 1, 34, 19, 751000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 250, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2023, 8, 22, 1, 34, 18, 781000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 4, }), : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 6, 4, 56, 31, 730000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'Complete', }), }), : dict({ }), }), }) # --- # name: test_fetching_status_of_single_device[zooz_zen16_multirelay] dict({ 'main': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 5, 22, 114000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'None', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 5, 22, 315000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'None', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 1, 19, 21, 5, 22, 663000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'None', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2024, 10, 12, 0, 40, 9, 555000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': '[33]', }), }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 5, 18, 19, 52, 460000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 3.1, }), }), : dict({ }), : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 28, 27, 723000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), 'relay1': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 28, 27, 170000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), 'relay2': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 28, 27, 852000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), 'relay3': dict({ : dict({ : dict({ 'data': None, 'timestamp': datetime.datetime(2025, 2, 9, 17, 28, 28, 349000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'on', }), }), }), }) # --- # name: test_fetching_unknown_capability dict({ 'main': dict({ 'fakeCapability': dict({ 'fakeAttribute': dict({ 'data': None, 'timestamp': datetime.datetime(2024, 12, 31, 9, 18, 21, 859000, tzinfo=datetime.timezone.utc), 'unit': None, 'value': 'BOOOOOOOM', }), }), }), }) # --- pySmartThings-pysmartthings-71aec67/tests/__snapshots__/test_location.ambr000066400000000000000000000010761511701743400273600ustar00rootroot00000000000000# serializer version: 1 # name: test_fetching_all_locations list([ dict({ 'location_id': '397678e5-9995-4a39-9d9f-ae6ba310236b', 'name': 'Home', }), dict({ 'location_id': '5c03e518-118a-44cb-85ad-7877d0b302e4', 'name': 'Test Home', }), ]) # --- # name: test_fetching_single_location dict({ 'country_code': 'USA', 'latitude': 45.00708112, 'location_id': '397678e5-9995-4a39-9d9f-ae6ba310236b', 'longitude': -93.11223629, 'name': 'Test Home', 'region_radius': 150, 'temperature_scale': 'F', }) # --- pySmartThings-pysmartthings-71aec67/tests/__snapshots__/test_room.ambr000066400000000000000000000006551511701743400265260ustar00rootroot00000000000000# serializer version: 1 # name: test_fetching_all_rooms list([ dict({ 'location_id': '397678e5-9995-4a39-9d9f-ae6ba310236b', 'name': 'Theater', 'room_id': '7715151d-0314-457a-a82c-5ce48900e065', }), ]) # --- # name: test_fetching_single_room dict({ 'location_id': '397678e5-9995-4a39-9d9f-ae6ba310236b', 'name': 'Theater', 'room_id': '7715151d-0314-457a-a82c-5ce48900e065', }) # --- pySmartThings-pysmartthings-71aec67/tests/__snapshots__/test_scenes.ambr000066400000000000000000000007411511701743400270260ustar00rootroot00000000000000# serializer version: 1 # name: test_fetching_all_scenes list([ dict({ 'color': None, 'icon': '203', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'name': 'Away', 'scene_id': '743b0f37-89b8-476c-aedf-eea8ad8cd29d', }), dict({ 'color': None, 'icon': '204', 'location_id': '88a3a314-f0c8-40b4-bb44-44ba06c9c42f', 'name': 'Home', 'scene_id': 'f3341e8b-9b32-4509-af2e-4f7c952e98ba', }), ]) # --- pySmartThings-pysmartthings-71aec67/tests/__snapshots__/test_smartapp.ambr000066400000000000000000000004411511701743400273720ustar00rootroot00000000000000# serializer version: 1 # name: test_get_installed_app dict({ 'app_id': 'c6cde2b0-203e-44cf-a510-3b3ed4706996', 'display_name': 'pysmartthings', 'installed_app_id': '4514eb36-f5fd-4ab2-9520-0597acd1d212', 'location_id': '397678e5-9995-4a39-9d9f-ae6ba310236b', }) # --- pySmartThings-pysmartthings-71aec67/tests/conftest.py000066400000000000000000000021711511701743400232240ustar00rootroot00000000000000"""Define test configuration.""" from collections.abc import AsyncGenerator, Generator from aiohttp import ClientSession from aioresponses import aioresponses from pysmartthings import SmartThings import pytest from syrupy import SnapshotAssertion from .syrupy import SmartThingsSnapshotExtension @pytest.fixture(name="snapshot") def snapshot_assertion(snapshot: SnapshotAssertion) -> SnapshotAssertion: """Return snapshot assertion fixture with the SmartThings extension.""" return snapshot.use_extension(SmartThingsSnapshotExtension) @pytest.fixture async def client() -> AsyncGenerator[SmartThings, None]: """Return a SmartThings client.""" async with ( ClientSession() as session, SmartThings( session=session, ) as smartthings_client, ): smartthings_client.authenticate("token") yield smartthings_client @pytest.fixture(name="responses") def aioresponses_fixture() -> Generator[aioresponses, None, None]: """Return aioresponses fixture.""" with aioresponses() as mocked_responses: yield mocked_responses pySmartThings-pysmartthings-71aec67/tests/const.py000066400000000000000000000003071511701743400225240ustar00rootroot00000000000000"""Constants for the SmartThings tests.""" MOCK_URL = "https://api.smartthings.com" HEADERS = { "Authorization": "Bearer token", "Accept": "application/vnd.smartthings+json;v=20250122", } pySmartThings-pysmartthings-71aec67/tests/fixtures/000077500000000000000000000000001511701743400226755ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/fixtures/app_get.json000066400000000000000000000022161511701743400252100ustar00rootroot00000000000000{ "appName": "pysmartthings-test", "appId": "c6cde2b0-203e-44cf-a510-3b3ed4706996", "appType": "WEBHOOK_SMART_APP", "classifications": ["AUTOMATION"], "displayName": "Test", "description": "A SmartApp that relays events to the pysmartthings library", "singleInstance": true, "installMetadata": {}, "owner": { "ownerType": "USER", "ownerId": "3c19270b-fca6-5cde-82bc-86a37e52cfa8" }, "createdDate": "2018-12-15T17:07:41Z", "lastUpdatedDate": "2018-12-15T17:07:42Z", "webhookSmartApp": { "targetUrl": "https://homeassistant.sayre.net:8321/", "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1i5LnHAdMa17jvNCDntwTx/99RitsEmE\r\nBGzt98pOXbyab7aKgao9zu0gB+L0kaRE+Ezcz8f/CKKbJgDz0SeraeqgHxWakVvLekzGY1jpPYuA\r\n4hnB9qGE9ukCTMY1dlv1jb5JyqFHtaz6YryWyfhGAyfvI4LsD3s0V2Y2GflW/CgwcCoIjbuHku1L\r\nk3OOwTu6C4/5ATh48bsnZMFyB5Rm+5yt0zLBSth5pj4cpy98J+RQQq9gUd6cQnTmAFFc2XSG57C0\r\nKi5PHRceYKPvzkcc85L2rt05cu2NWuaZLCr6mGh9XHka9PEZvta0TwKVE1P7U5ES5MhN5rSPciXA\r\nPaezCwIDAQAB\n-----END PUBLIC KEY-----" }, "ui": { "dashboardCardsEnabled": false, "preInstallDashboardCardsEnabled": false } } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_oauth_generate_request.json000066400000000000000000000001001511701743400311610ustar00rootroot00000000000000{ "clientName": "pysmartthings", "scope": ["r:devices:*"] } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_oauth_generate_response.json000066400000000000000000000004551511701743400313440ustar00rootroot00000000000000{ "oauthClientDetails": { "clientName": "pysmartthings", "scope": ["r:devices:$", "r:devices:*"], "redirectUris": ["https://api.smartthings.com/installedapp"] }, "oauthClientId": "0b6a77d4-2dff-4b00-ba33-35f660fbfb83", "oauthClientSecret": "05a49aac-55d6-4092-96bf-7ca6ca3666d3" } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_oauth_get_response.json000066400000000000000000000001311511701743400303200ustar00rootroot00000000000000{ "clientName": "pysmartthings-test", "scope": ["r:devices"], "redirectUris": [] } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_oauth_put_request.json000066400000000000000000000001031511701743400302020ustar00rootroot00000000000000{ "clientName": "pysmartthings-test", "scope": ["r:devices"] } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_oauth_put_response.json000066400000000000000000000001311511701743400303510ustar00rootroot00000000000000{ "clientName": "pysmartthings-test", "scope": ["r:devices"], "redirectUris": [] } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_post_request.json000066400000000000000000000005631511701743400271710ustar00rootroot00000000000000{ "appName": "pysmartthings-test", "appType": "LAMBDA_SMART_APP", "classifications": ["AUTOMATION"], "displayName": "Test", "description": "A SmartApp that relays events to the pysmartthings library", "singleInstance": true, "lambdaSmartApp": { "functions": [ "arn:aws:lambda:eu-central-1:account-id:function:function-name:alias-name" ] } } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_post_response.json000066400000000000000000000014451511701743400273370ustar00rootroot00000000000000{ "app": { "appName": "pysmartthings-test", "appId": "c6cde2b0-203e-44cf-a510-3b3ed4706996", "appType": "LAMBDA_SMART_APP", "classifications": ["AUTOMATION"], "displayName": "Test", "description": "A SmartApp that relays events to the pysmartthings library", "singleInstance": true, "installMetadata": {}, "owner": { "ownerType": "USER", "ownerId": "3c19270b-fca6-5cde-82bc-86a37e52cfa8" }, "createdDate": "2018-12-15T17:07:41Z", "lastUpdatedDate": "2018-12-16T00:31:04Z", "lambdaSmartApp": { "functions": [ "arn:aws:lambda:eu-central-1:account-id:function:function-name:alias-name" ] } }, "oauthClientId": "7cd4d474-7b36-4e03-bbdb-4cd4ae45a2be", "oauthClientSecret": "9b3fd445-42d6-441b-b386-99ea51e13cb0" } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_put_request.json000066400000000000000000000005041511701743400270070ustar00rootroot00000000000000{ "appName": "pysmartthings-test", "appType": "WEBHOOK_SMART_APP", "classifications": ["AUTOMATION"], "displayName": "Test", "description": "A SmartApp that relays events to the pysmartthings library", "singleInstance": true, "webhookSmartApp": { "targetUrl": "https://homeassistant.sayre.net:8321/" } } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_put_response.json000066400000000000000000000020561511701743400271610ustar00rootroot00000000000000{ "appName": "pysmartthings-test", "appId": "c6cde2b0-203e-44cf-a510-3b3ed4706996", "appType": "WEBHOOK_SMART_APP", "classifications": ["AUTOMATION"], "displayName": "Test", "description": "A SmartApp that relays events to the pysmartthings library", "singleInstance": true, "installMetadata": {}, "owner": { "ownerType": "USER", "ownerId": "3c19270b-fca6-5cde-82bc-86a37e52cfa8" }, "createdDate": "2018-12-15T17:07:41Z", "lastUpdatedDate": "2018-12-16T00:31:04Z", "webhookSmartApp": { "targetUrl": "https://homeassistant.sayre.net:8321/", "publicKey": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1i5LnHAdMa17jvNCDntwTx/99RitsEmE\r\nBGzt98pOXbyab7aKgao9zu0gB+L0kaRE+Ezcz8f/CKKbJgDz0SeraeqgHxWakVvLekzGY1jpPYuA\r\n4hnB9qGE9ukCTMY1dlv1jb5JyqFHtaz6YryWyfhGAyfvI4LsD3s0V2Y2GflW/CgwcCoIjbuHku1L\r\nk3OOwTu6C4/5ATh48bsnZMFyB5Rm+5yt0zLBSth5pj4cpy98J+RQQq9gUd6cQnTmAFFc2XSG57C0\r\nKi5PHRceYKPvzkcc85L2rt05cu2NWuaZLCr6mGh9XHka9PEZvta0TwKVE1P7U5ES5MhN5rSPciXA\r\nPaezCwIDAQAB\n-----END PUBLIC KEY-----" } } pySmartThings-pysmartthings-71aec67/tests/fixtures/app_settings.json000066400000000000000000000000531511701743400262660ustar00rootroot00000000000000{ "settings": { "test": "test" } } pySmartThings-pysmartthings-71aec67/tests/fixtures/apps.json000066400000000000000000000007021511701743400245320ustar00rootroot00000000000000{ "items": [ { "appName": "pysmartthings-test", "appId": "c6cde2b0-203e-44cf-a510-3b3ed4706996", "appType": "WEBHOOK_SMART_APP", "classifications": ["AUTOMATION"], "displayName": "Test", "description": "A SmartApp that relays events to the pysmartthings library", "iconImage": {}, "createdDate": "2018-12-15T17:07:41Z", "lastUpdatedDate": "2018-12-15T17:07:42Z" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/device.json000066400000000000000000000032021511701743400250240ustar00rootroot00000000000000{ "deviceId": "440063de-a200-40b5-8a6b-f3399eaa0370", "name": "hue-color-temperature-bulb", "label": "Bathroom spot", "manufacturerName": "0A2r", "presentationId": "ST_b93bec0e-1a81-4471-83fc-4dddca504acd", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "colorTemperature", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.453Z", "profile": { "id": "a79e4507-ecaa-3c7e-b660-a3a71f30eafb" }, "viper": { "uniqueIdentifier": "ea409b82a6184ad9b49bd6318692cc1c", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue ambiance spot", "swVersion": "1.122.2", "hwVersion": "LTG002", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": null, "executionContext": "CLOUD" } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_error.json000066400000000000000000000005711511701743400277410ustar00rootroot00000000000000{ "requestId": "3051095549439698997", "error": { "code": "ConstraintViolationError", "message": "The request is malformed.", "details": [ { "code": "UnprocessableEntityError", "target": "commands[0].arguments[0]", "message": "commands[0].arguments[0]: must have a maximum value of 30000", "details": [] } ] } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_channel_down.json000066400000000000000000000001771511701743400323160ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "tvChannel", "command": "channelDown" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_channel_up.json000066400000000000000000000001751511701743400317710ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "tvChannel", "command": "channelUp" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_close.json000066400000000000000000000001731511701743400307600ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "doorControl", "command": "close" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_close_legacy.json000066400000000000000000000002011511701743400322740ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "garageDoorControl", "command": "close" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_close_window_shade.json000066400000000000000000000001731511701743400335130ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "windowShade", "command": "close" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_execute.json000066400000000000000000000002521511701743400313130ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "execute", "command": "execute", "arguments": ["Test", { "data": "Test" }] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_fast_forward.json000066400000000000000000000002031511701743400323260ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "fastForward" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_lock.json000066400000000000000000000001631511701743400306020ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "lock", "command": "lock" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_mute.json000066400000000000000000000001701511701743400306220ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioMute", "command": "mute" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_open.json000066400000000000000000000001721511701743400306130ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "doorControl", "command": "open" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_open_legacy.json000066400000000000000000000002001511701743400321270ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "garageDoorControl", "command": "open" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_open_window_shade.json000066400000000000000000000001721511701743400333460ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "windowShade", "command": "open" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_override_drlc_action.json000066400000000000000000000002611511701743400340310ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "demandResponseLoadControl", "command": "overrideDrlcAction", "arguments": [true] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_pause.json000066400000000000000000000001751511701743400307720ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "pause" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_play.json000066400000000000000000000001741511701743400306210ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "play" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_preset_position.json000066400000000000000000000002041511701743400330740ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "windowShade", "command": "presetPosition" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_request_drlc_action.json000066400000000000000000000003171511701743400337040ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "demandResponseLoadControl", "command": "requestDrlcAction", "arguments": [1, 2, "1970-01-01T00:00:00Z", 10, 1] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_rewind.json000066400000000000000000000001761511701743400311460ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "rewind" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_air_conditioner_mode.json000066400000000000000000000002571511701743400347050ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "airConditionerMode", "command": "setAirConditionerMode", "arguments": ["auto"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_air_flow_direction.json000066400000000000000000000002541511701743400343700ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "airFlowDirection", "command": "setAirFlowDirection", "arguments": ["fixed"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_color.json000066400000000000000000000003411511701743400316410ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorControl", "command": "setColor", "arguments": [ { "hue": 25, "saturation": 50 } ] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_color_hex.json000066400000000000000000000003141511701743400325050ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorControl", "command": "setColor", "arguments": [ { "hex": "#4B6432" } ] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_color_temperature.json000066400000000000000000000002511511701743400342560ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorTemperature", "command": "setColorTemperature", "arguments": [3000] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_cooling_setpoint.json000066400000000000000000000002571511701743400341100ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "thermostatCoolingSetpoint", "command": "setCoolingSetpoint", "arguments": [76] } ] } device_command_post_set_cooling_setpoint_legacy.json000066400000000000000000000002401511701743400353450ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/fixtures{ "commands": [ { "component": "main", "capability": "thermostat", "command": "setCoolingSetpoint", "arguments": [76] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_fan_mode.json000066400000000000000000000002471511701743400323000ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "airConditionerFanMode", "command": "setFanMode", "arguments": ["auto"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_fan_oscillation_mode.json000066400000000000000000000002561511701743400347000ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "fanOscillationMode", "command": "setFanOscillationMode", "arguments": ["all"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_fan_speed.json000066400000000000000000000002271511701743400324520ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "fanSpeed", "command": "setFanSpeed", "arguments": [66] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_heating_setpoint.json000066400000000000000000000002571511701743400340750ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "thermostatHeatingSetpoint", "command": "setHeatingSetpoint", "arguments": [76] } ] } device_command_post_set_heating_setpoint_legacy.json000066400000000000000000000002401511701743400353320ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/fixtures{ "commands": [ { "component": "main", "capability": "thermostat", "command": "setHeatingSetpoint", "arguments": [76] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_hue.json000066400000000000000000000002261511701743400313060ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorControl", "command": "setHue", "arguments": [75] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_input_source.json000066400000000000000000000002501511701743400332410ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaInputSource", "command": "setInputSource", "arguments": ["Source"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_level.json000066400000000000000000000002321511701743400316310ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "switchLevel", "command": "setLevel", "arguments": [75, 2] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_playback_shuffle.json000066400000000000000000000002611511701743400340260ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlaybackShuffle", "command": "setPlaybackShuffle", "arguments": ["enabled"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_repeat.json000066400000000000000000000002571511701743400320110ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlaybackRepeat", "command": "setPlaybackRepeatMode", "arguments": ["all"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_saturation.json000066400000000000000000000002351511701743400327160ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorControl", "command": "setSaturation", "arguments": [75] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_shade_level.json000066400000000000000000000002411511701743400327750ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "windowShadeLevel", "command": "setShadeLevel", "arguments": [75] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_thermostat_fan_mode.json000066400000000000000000000002551511701743400345510ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "thermostatFanMode", "command": "setThermostatFanMode", "arguments": ["auto"] } ] } device_command_post_set_thermostat_fan_mode_legacy.json000066400000000000000000000002461511701743400360160ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/fixtures{ "commands": [ { "component": "main", "capability": "thermostat", "command": "setThermostatFanMode", "arguments": ["auto"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_thermostat_mode.json000066400000000000000000000002471511701743400337260ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "thermostatMode", "command": "setThermostatMode", "arguments": ["auto"] } ] } device_command_post_set_thermostat_mode_legacy.json000066400000000000000000000002431511701743400351670ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/fixtures{ "commands": [ { "component": "main", "capability": "thermostat", "command": "setThermostatMode", "arguments": ["auto"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_tv_channel.json000066400000000000000000000002401511701743400326420ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "tvChannel", "command": "setTvChannel", "arguments": ["Channel"] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_set_volume.json000066400000000000000000000002301511701743400320270ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioVolume", "command": "setVolume", "arguments": [10] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_stop.json000066400000000000000000000001741511701743400306410ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "stop" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_switch_off.json000066400000000000000000000001641511701743400320060ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "switch", "command": "off" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_switch_on.json000066400000000000000000000001631511701743400316470ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "switch", "command": "on" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_unlock.json000066400000000000000000000001651511701743400311470ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "lock", "command": "unlock" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_unmute.json000066400000000000000000000001721511701743400311670ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioMute", "command": "unmute" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_volume_down.json000066400000000000000000000002001511701743400322000ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioVolume", "command": "volumeDown" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_post_volume_up.json000066400000000000000000000001761511701743400316710ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioVolume", "command": "volumeUp" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_command_result.json000066400000000000000000000001621511701743400301220ustar00rootroot00000000000000{ "results": [ { "id": "c4899d21-921b-497f-9ea4-da5f967d5b9c", "status": "ACCEPTED" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_commands/000077500000000000000000000000001511701743400260155ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/fixtures/device_commands/set_color_temperature.json000066400000000000000000000002511511701743400333140ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorTemperature", "command": "setColorTemperature", "arguments": [3000] } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_health_event.json000066400000000000000000000006741511701743400275640ustar00rootroot00000000000000{ "eventTime": 1745845246219, "eventType": "DEVICE_HEALTH_EVENT", "deviceHealthEvent": { "eventId": "ccd77e6f-2430-11f0-87b9-010699b89362", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerType": "LOCATION", "deviceId": "7905bc7a-0633-4d80-a95b-45d59f1393a5", "hubId": "", "status": "ONLINE", "reason": "NONE", "eventSource": "CLOUD" } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_samsungac_status.json000066400000000000000000000047161511701743400305030ustar00rootroot00000000000000{ "components": { "main": { "demandResponseLoadControl": { "drlcStatus": { "value": { "duration": 0, "drlcLevel": -1, "start": "1970-01-01T00:00:00Z", "override": false } } }, "powerConsumptionReport": { "powerConsumption": { "value": { "start": "2019-02-24T21:03:04Z", "power": 0, "energy": 500, "end": "2019-02-26T02:05:55Z" } } }, "ocf": { "st": { "value": "02:05:55Z" }, "mnfv": { "value": "0.1.0" }, "mndt": { "value": "2019-02-26T02:05:55Z" }, "mnhw": { "value": "1.0" }, "di": { "value": "743de49f-036f-4e9c-839a-2f89d57607db" }, "mnsl": { "value": "http://www.samsung.com/support" }, "dmv": { "value": "res.1.1.0,sh.1.1.0" }, "n": { "value": "Air Conditioner" }, "vid": { "value": "DA-AC-RAC-000001" }, "mnmo": { "value": "ARTIK051_KRAC_18K|10193441|60010123001111010200000000000000" }, "mnmn": { "value": "Samsung Electronics" }, "mnml": { "value": "http://www.samsung.com" }, "mnpv": { "value": "0.1.0" }, "mnos": { "value": "TizenRT2.0" }, "pi": { "value": "d5226d90-1b4f-e59d-5f3f-027ac3b18faf" }, "icv": { "value": "core.1.1.0" } }, "refresh": {}, "temperatureMeasurement": { "temperature": { "value": 22.0, "unit": "C" } }, "airConditionerMode": { "airConditionerMode": { "value": "heat" } }, "fanSpeed": { "fanSpeed": { "value": 2 } }, "execute": { "data": { "value": { "payload": { "speed": 2, "if": ["oic.if.baseline", "oic.if.a"], "direction": "Fix", "rt": ["oic.r.airflow"] } } } }, "thermostatCoolingSetpoint": { "coolingSetpoint": { "value": 23.0, "unit": "C" } }, "switch": { "switch": { "value": "on" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/000077500000000000000000000000001511701743400255375ustar00rootroot00000000000000pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/27_smart_monitor_m5.json000066400000000000000000000157131511701743400322470ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop", "fastForward", "rewind"], "timestamp": "2024-12-31T09:18:21.859Z" }, "playbackStatus": { "value": null } }, "samsungvd.supportsPowerOnByOcf": { "supportsPowerOnByOcf": { "value": "true", "timestamp": "2024-12-31T23:46:45.548Z" } }, "sec.deviceConnectionState": { "deviceConnectionState": { "value": null } }, "mediaInputSource": { "supportedInputSources": { "value": [], "timestamp": "2024-12-31T09:18:21.859Z" }, "inputSource": { "value": "HDMI1", "timestamp": "2023-04-29T15:33:43.606Z" } }, "samsungvd.deviceCategory": { "category": { "value": "monitor", "timestamp": "2024-12-31T13:55:01.350Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-01-01T01:29:26.300Z" } }, "ocf": { "st": { "value": "2024-12-21T16:13:44Z", "timestamp": "2024-12-31T09:18:22.478Z" }, "mndt": { "value": "2022-01-01", "timestamp": "2024-12-31T09:18:22.478Z" }, "mnfv": { "value": "T-NKLBWWC-1651.10", "timestamp": "2024-12-31T09:18:22.478Z" }, "mnhw": { "value": "", "timestamp": "2024-12-31T09:18:22.478Z" }, "di": { "value": "3f01bf2b-e9a3-3543-1047-42320283a5c1", "timestamp": "2024-12-31T09:18:22.478Z" }, "mnsl": { "value": "", "timestamp": "2024-12-31T09:18:22.478Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-12-31T09:18:22.478Z" }, "n": { "value": "27\" Smart Monitor M5", "timestamp": "2024-12-31T09:18:22.478Z" }, "mnmo": { "value": "LS27BM501ENXZA", "timestamp": "2024-12-31T09:18:22.478Z" }, "vid": { "value": "VD-SMONITOR-2022", "timestamp": "2024-12-31T09:18:22.478Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-12-31T09:18:22.478Z" }, "mnml": { "value": "", "timestamp": "2024-12-31T09:18:22.478Z" }, "mnpv": { "value": "6.5", "timestamp": "2024-12-31T09:18:22.478Z" }, "mnos": { "value": "Tizen", "timestamp": "2024-12-31T09:18:22.478Z" }, "pi": { "value": "3f01bf2b-e9a3-3543-1047-42320283a5c1", "timestamp": "2024-12-31T09:18:22.478Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-12-31T09:18:22.478Z" } }, "samsungvd.supportsFeatures": { "mediaOutputSupported": { "value": true, "timestamp": "2024-12-31T09:18:23.100Z" }, "imeAdvSupported": { "value": true, "timestamp": "2024-12-31T09:18:23.100Z" }, "wifiUpdateSupport": { "value": null }, "executableServiceList": { "value": null }, "remotelessSupported": { "value": null }, "mobileCamSupported": { "value": true, "timestamp": "2024-12-31T09:18:23.100Z" } }, "custom.accessibility": {}, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungvd.ambient", "samsungvd.ambientContent"], "timestamp": "2025-01-07T15:42:44.749Z" } }, "samsungvd.remoteControl": {}, "custom.launchapp": {}, "samsungvd.firmwareVersion": { "firmwareVersion": { "value": "3.5.1", "timestamp": "2024-12-31T13:55:01.350Z" } }, "samsungvd.thingStatus": { "updatedTime": { "value": 1735688805, "timestamp": "2024-12-31T23:46:45.445Z" }, "status": { "value": "Idle", "timestamp": "2024-12-31T23:46:45.445Z" } }, "audioVolume": { "volume": { "value": 15, "unit": "%", "timestamp": "2024-12-31T13:55:00.858Z" } }, "samsungvd.mediaInputSource": { "supportedInputSourcesMap": { "value": [ { "id": "HDMI2", "name": "PC" } ], "timestamp": "2024-12-31T23:46:45.670Z" }, "inputSource": { "value": "HDMI2", "timestamp": "2024-12-31T23:46:45.670Z" } }, "custom.tvsearch": {}, "samsungvd.ambient": {}, "refresh": {}, "custom.error": { "error": { "value": null } }, "execute": { "data": { "value": null } }, "tvChannel": { "tvChannel": { "value": "", "timestamp": "2024-12-25T20:25:47.018Z" }, "tvChannelName": { "value": "", "timestamp": "2024-12-25T20:25:47.018Z" } }, "custom.picturemode": { "pictureMode": { "value": "Eye Saver Low", "timestamp": "2024-12-31T13:55:01.293Z" }, "supportedPictureModes": { "value": ["Eye Saver Low"], "timestamp": "2024-12-31T13:55:01.293Z" }, "supportedPictureModesMap": { "value": [ { "id": "modeGen_327699", "name": "Eye Saver Low" } ], "timestamp": "2024-12-31T13:55:01.293Z" } }, "samsungvd.ambientContent": { "supportedAmbientApps": { "value": [], "timestamp": "2024-12-31T09:18:21.859Z" } }, "custom.recording": {}, "custom.soundmode": { "supportedSoundModesMap": { "value": [ { "id": "modeAdaptive", "name": "Adaptive Sound" }, { "id": "modeAmplify", "name": "Amplify" }, { "id": "modeStandard", "name": "Standard" } ], "timestamp": "2024-12-31T13:55:00.792Z" }, "soundMode": { "value": "Adaptive Sound", "timestamp": "2024-12-31T13:55:00.792Z" }, "supportedSoundModes": { "value": ["Adaptive Sound", "Amplify", "Standard"], "timestamp": "2024-12-31T13:55:00.792Z" } }, "audioMute": { "mute": { "value": "muted", "timestamp": "2024-12-31T13:55:00.858Z" } }, "mediaTrackControl": { "supportedTrackControlCommands": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/aeotec_home_energy_meter_gen5.json000066400000000000000000000011241511701743400343630ustar00rootroot00000000000000{ "components": { "main": { "powerMeter": { "power": { "value": 2859.743, "unit": "W", "timestamp": "2025-02-10T21:09:08.228Z" } }, "voltageMeasurement": { "voltage": { "value": null } }, "powerConsumptionReport": { "powerConsumption": { "value": null } }, "energyMeter": { "energy": { "value": 19978.536, "unit": "kWh", "timestamp": "2025-02-10T21:09:08.357Z" } }, "refresh": {} } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/base_lock.json000066400000000000000000000030321511701743400303520ustar00rootroot00000000000000{ "components": { "main": { "lock": { "supportedUnlockDirections": { "value": null }, "supportedLockValues": { "value": null }, "lock": { "value": "locked", "data": {}, "timestamp": "2025-02-09T17:38:32.002Z" }, "supportedLockCommands": { "value": null } }, "refresh": {}, "battery": { "quantity": { "value": null }, "battery": { "value": 68, "unit": "%", "timestamp": "2025-02-09T16:38:27.262Z" }, "type": { "value": null } }, "lockCodes": { "codeLength": { "value": null }, "maxCodes": { "value": 244, "timestamp": "2024-07-23T16:15:09.860Z" }, "maxCodeLength": { "value": null }, "codeChanged": { "value": "2 set", "data": { "codeName": "Salim" }, "timestamp": "2024-08-08T18:20:27.537Z" }, "lock": { "value": null }, "minCodeLength": { "value": null }, "codeReport": { "value": null }, "scanCodes": { "value": "Complete", "timestamp": "2024-07-23T16:15:15.274Z" }, "lockCodes": { "value": "{\"1\":\"Saima\",\"2\":\"Salim\"}", "timestamp": "2024-08-08T18:20:27.532Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/basic_electric_meter.json000066400000000000000000000006071511701743400325640ustar00rootroot00000000000000{ "components": { "main": { "powerMeter": { "power": { "value": 938.3, "unit": "W", "timestamp": "2025-02-09T17:56:21.748Z" } }, "energyMeter": { "energy": { "value": 1930.362, "unit": "kWh", "timestamp": "2025-02-09T17:56:21.918Z" } }, "refresh": {} } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_arlo_doorbell_battery.json000066400000000000000000000040421511701743400335320ustar00rootroot00000000000000{ "components": { "main": { "button": { "button": { "value": "up", "timestamp": "2025-02-08T21:56:09.703Z" }, "numberOfButtons": { "value": 1, "timestamp": "2025-02-08T21:56:09.703Z" }, "supportedButtonValues": { "value": ["pushed"], "timestamp": "2025-02-08T21:56:09.703Z" } }, "videoCapture": { "stream": { "value": null }, "clip": { "value": null } }, "videoStream": { "supportedFeatures": { "value": null }, "stream": { "value": { "InHomeURL": "", "OutHomeURL": "" }, "timestamp": "2024-09-08T00:13:57.963Z" } }, "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2024-08-29T17:58:33.680Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-09T17:18:32.636Z" } }, "alarm": { "alarm": { "value": "off", "timestamp": "2025-02-08T21:56:09.703Z" } }, "refresh": {}, "soundSensor": { "sound": { "value": "not detected", "timestamp": "2025-02-08T21:56:09.703Z" } }, "motionSensor": { "motion": { "value": "inactive", "timestamp": "2025-02-09T16:35:53.452Z" } }, "battery": { "quantity": { "value": null }, "battery": { "value": 50, "unit": "%", "timestamp": "2025-02-08T21:56:04.891Z" }, "type": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_arlo_go_switch.json000066400000000000000000000032611511701743400321660ustar00rootroot00000000000000{ "components": { "main": { "videoCapture": { "stream": { "value": null }, "clip": { "value": null } }, "videoStream": { "supportedFeatures": { "value": null }, "stream": { "value": { "InHomeURL": "", "OutHomeURL": "" }, "timestamp": "2024-11-13T03:27:30.261Z" } }, "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2024-08-29T17:58:33.700Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-08T21:56:01.357Z" } }, "refresh": {}, "soundSensor": { "sound": { "value": "not detected", "timestamp": "2025-02-08T21:56:09.726Z" } }, "motionSensor": { "motion": { "value": "inactive", "timestamp": "2025-02-09T16:26:36.366Z" } }, "battery": { "quantity": { "value": null }, "battery": { "value": 100, "unit": "%", "timestamp": "2025-02-08T21:56:01.357Z" }, "type": { "value": null } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-08T21:56:01.357Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_arlo_pro_3_switch.json000066400000000000000000000032761511701743400326110ustar00rootroot00000000000000{ "components": { "main": { "videoCapture": { "stream": { "value": null }, "clip": { "value": null } }, "videoStream": { "supportedFeatures": { "value": null }, "stream": { "value": null } }, "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2025-02-03T21:55:57.991Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-08T21:56:09.761Z" } }, "alarm": { "alarm": { "value": "off", "timestamp": "2025-02-08T21:56:09.761Z" } }, "refresh": {}, "soundSensor": { "sound": { "value": "not detected", "timestamp": "2025-02-08T21:56:09.761Z" } }, "motionSensor": { "motion": { "value": "inactive", "timestamp": "2025-02-08T21:56:09.761Z" } }, "battery": { "quantity": { "value": null }, "battery": { "value": 100, "unit": "%", "timestamp": "2025-02-08T21:56:10.041Z" }, "type": { "value": null } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-08T21:56:10.041Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_arlo_siren.json000066400000000000000000000013521511701743400313170ustar00rootroot00000000000000{ "components": { "main": { "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2024-08-29T17:58:33.901Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-08T21:56:09.756Z" } }, "alarm": { "alarm": { "value": "off", "timestamp": "2025-02-08T21:56:09.756Z" } }, "refresh": {} } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_humidity.json000066400000000000000000000025031511701743400310150ustar00rootroot00000000000000{ "components": { "main": { "relativeHumidityMeasurement": { "humidity": { "value": 26, "unit": "%", "timestamp": "2025-02-08T09:04:47.696Z" } }, "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2025-02-07T23:01:15.973Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "offline", "data": { "reason": "DEVICE-OFFLINE" }, "timestamp": "2025-02-08T09:04:47.696Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 26, "unit": "C", "timestamp": "2025-02-08T09:04:47.696Z" } }, "refresh": {}, "battery": { "quantity": { "value": null }, "battery": { "value": 100, "unit": "%", "timestamp": "2025-02-08T09:04:47.696Z" }, "type": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_motion_2.json000066400000000000000000000020001511701743400306770ustar00rootroot00000000000000{ "components": { "main": { "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2023-12-17T18:11:41.578Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-07T15:14:53.765Z" } }, "refresh": {}, "motionSensor": { "motion": { "value": "inactive", "timestamp": "2025-02-08T07:46:49.463Z" } }, "battery": { "quantity": { "value": null }, "battery": { "value": 64, "unit": "%", "timestamp": "2025-02-08T03:31:03.047Z" }, "type": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_shade.json000066400000000000000000000021201511701743400302400ustar00rootroot00000000000000{ "components": { "main": { "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2025-02-07T23:01:15.966Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "offline", "data": { "reason": "DEVICE-OFFLINE" }, "timestamp": "2025-02-08T09:04:47.694Z" } }, "switchLevel": { "levelRange": { "value": null }, "level": { "value": 100, "unit": "%", "timestamp": "2025-02-08T09:04:47.694Z" } }, "refresh": {}, "windowShade": { "supportedWindowShadeCommands": { "value": null }, "windowShade": { "value": "open", "timestamp": "2025-02-08T09:04:47.694Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_switch.json000066400000000000000000000014371511701743400304670ustar00rootroot00000000000000{ "components": { "main": { "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2025-02-07T23:01:15.962Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "offline", "data": { "reason": "DEVICE-OFFLINE" }, "timestamp": "2025-02-08T09:04:47.691Z" } }, "refresh": {}, "switch": { "switch": { "value": "off", "timestamp": "2025-02-08T09:04:47.691Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/c2c_thermostat_bridge_1.json000066400000000000000000000013041511701743400331050ustar00rootroot00000000000000{ "components": { "main": { "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2025-02-07T23:03:33.797Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": null } }, "refresh": {}, "thermostatMode": { "thermostatMode": { "value": null }, "supportedThermostatModes": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/car_garage_door.json000066400000000000000000000026401511701743400315320ustar00rootroot00000000000000{ "components": { "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-09T17:04:03.280Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 46.4, "unit": "F", "timestamp": "2025-02-09T17:17:26.766Z" } }, "refresh": {}, "battery": { "quantity": { "value": null }, "battery": { "value": 100, "unit": "%", "timestamp": "2025-02-09T13:55:02.124Z" }, "type": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "00000103", "timestamp": "2023-07-06T01:02:15.881Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2023-07-06T01:02:15.882Z" }, "updateAvailable": { "value": null }, "currentVersion": { "value": "00000103", "timestamp": "2023-07-06T01:02:15.882Z" }, "lastUpdateTime": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/centralite.json000066400000000000000000000021531511701743400305650ustar00rootroot00000000000000{ "components": { "main": { "powerMeter": { "power": { "value": 0.0, "unit": "W", "timestamp": "2025-02-09T17:49:44.159Z" } }, "refresh": {}, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "16015010", "timestamp": "2025-01-31T19:45:30.464Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2025-01-31T19:45:30.464Z" }, "updateAvailable": { "value": false, "timestamp": "2025-01-31T19:45:30.462Z" }, "currentVersion": { "value": "16015010", "timestamp": "2025-01-31T19:45:30.461Z" }, "lastUpdateTime": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T17:14:44.853Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/contact_sensor.json000066400000000000000000000027241511701743400314630ustar00rootroot00000000000000{ "components": { "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-09T17:16:42.674Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 59.0, "unit": "F", "timestamp": "2025-02-09T17:11:44.249Z" } }, "refresh": {}, "battery": { "quantity": { "value": null }, "battery": { "value": 100, "unit": "%", "timestamp": "2025-02-09T13:23:50.726Z" }, "type": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "00000103", "timestamp": "2025-02-09T13:59:19.101Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2025-02-09T13:59:19.101Z" }, "updateAvailable": { "value": false, "timestamp": "2025-02-09T13:59:19.102Z" }, "currentVersion": { "value": "00000103", "timestamp": "2025-02-09T13:59:19.102Z" }, "lastUpdateTime": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ac_rac_000001.json000066400000000000000000000557311511701743400311210ustar00rootroot00000000000000{ "components": { "1": { "relativeHumidityMeasurement": { "humidity": { "value": 0, "unit": "%", "timestamp": "2021-04-06T16:43:35.291Z" } }, "custom.airConditionerOdorController": { "airConditionerOdorControllerProgress": { "value": null, "timestamp": "2021-04-08T04:11:38.269Z" }, "airConditionerOdorControllerState": { "value": null, "timestamp": "2021-04-08T04:11:38.269Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": null, "timestamp": "2021-04-08T04:04:19.901Z" }, "maximumSetpoint": { "value": null, "timestamp": "2021-04-08T04:04:19.901Z" } }, "airConditionerMode": { "availableAcModes": { "value": null }, "supportedAcModes": { "value": null, "timestamp": "2021-04-08T03:50:50.930Z" }, "airConditionerMode": { "value": null, "timestamp": "2021-04-08T03:50:50.930Z" } }, "custom.spiMode": { "spiMode": { "value": null, "timestamp": "2021-04-06T16:57:57.686Z" } }, "airQualitySensor": { "airQuality": { "value": null, "unit": "CAQI", "timestamp": "2021-04-06T16:57:57.602Z" } }, "custom.airConditionerOptionalMode": { "supportedAcOptionalMode": { "value": null, "timestamp": "2021-04-06T16:57:57.659Z" }, "acOptionalMode": { "value": null, "timestamp": "2021-04-06T16:57:57.659Z" } }, "switch": { "switch": { "value": null, "timestamp": "2021-04-06T16:44:10.518Z" } }, "custom.airConditionerTropicalNightMode": { "acTropicalNightModeLevel": { "value": null, "timestamp": "2021-04-06T16:44:10.498Z" } }, "ocf": { "st": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mndt": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mnfv": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mnhw": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "di": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mnsl": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "dmv": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "n": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mnmo": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "vid": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mnmn": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mnml": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mnpv": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "mnos": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "pi": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" }, "icv": { "value": null, "timestamp": "2021-04-06T16:44:10.472Z" } }, "airConditionerFanMode": { "fanMode": { "value": null, "timestamp": "2021-04-06T16:44:10.381Z" }, "supportedAcFanModes": { "value": ["auto", "low", "medium", "high", "turbo"], "timestamp": "2024-09-10T10:26:28.605Z" }, "availableAcFanModes": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "remoteControlStatus", "airQualitySensor", "dustSensor", "odorSensor", "veryFineDustSensor", "custom.dustFilter", "custom.deodorFilter", "custom.deviceReportStateConfiguration", "audioVolume", "custom.autoCleaningMode", "custom.airConditionerTropicalNightMode", "custom.airConditionerOdorController", "demandResponseLoadControl", "relativeHumidityMeasurement" ], "timestamp": "2024-09-10T10:26:28.605Z" } }, "fanOscillationMode": { "supportedFanOscillationModes": { "value": null, "timestamp": "2021-04-06T16:44:10.325Z" }, "availableFanOscillationModes": { "value": null }, "fanOscillationMode": { "value": "fixed", "timestamp": "2025-02-08T00:44:53.247Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null, "timestamp": "2021-04-06T16:44:10.373Z" } }, "dustSensor": { "dustLevel": { "value": null, "unit": "\u03bcg/m^3", "timestamp": "2021-04-06T16:44:10.122Z" }, "fineDustLevel": { "value": null, "unit": "\u03bcg/m^3", "timestamp": "2021-04-06T16:44:10.122Z" } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": null, "timestamp": "2021-04-06T16:44:09.800Z" }, "reportStateRealtime": { "value": null, "timestamp": "2021-04-06T16:44:09.800Z" }, "reportStatePeriod": { "value": null, "timestamp": "2021-04-06T16:44:09.800Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null, "timestamp": "2021-04-06T16:43:59.136Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": null, "timestamp": "2021-04-06T16:43:54.748Z" } }, "audioVolume": { "volume": { "value": null, "unit": "%", "timestamp": "2021-04-06T16:43:53.541Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": null, "timestamp": "2021-04-06T16:43:53.364Z" } }, "custom.autoCleaningMode": { "supportedAutoCleaningModes": { "value": null }, "timedCleanDuration": { "value": null }, "operatingState": { "value": null }, "timedCleanDurationRange": { "value": null }, "supportedOperatingStates": { "value": null }, "progress": { "value": null }, "autoCleaningMode": { "value": null, "timestamp": "2021-04-06T16:43:53.344Z" } }, "custom.dustFilter": { "dustFilterUsageStep": { "value": null, "timestamp": "2021-04-06T16:43:39.145Z" }, "dustFilterUsage": { "value": null, "timestamp": "2021-04-06T16:43:39.145Z" }, "dustFilterLastResetDate": { "value": null, "timestamp": "2021-04-06T16:43:39.145Z" }, "dustFilterStatus": { "value": null, "timestamp": "2021-04-06T16:43:39.145Z" }, "dustFilterCapacity": { "value": null, "timestamp": "2021-04-06T16:43:39.145Z" }, "dustFilterResetType": { "value": null, "timestamp": "2021-04-06T16:43:39.145Z" } }, "odorSensor": { "odorLevel": { "value": null, "timestamp": "2021-04-06T16:43:38.992Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": null, "timestamp": "2021-04-06T16:43:39.097Z" } }, "custom.deodorFilter": { "deodorFilterCapacity": { "value": null, "timestamp": "2021-04-06T16:43:39.118Z" }, "deodorFilterLastResetDate": { "value": null, "timestamp": "2021-04-06T16:43:39.118Z" }, "deodorFilterStatus": { "value": null, "timestamp": "2021-04-06T16:43:39.118Z" }, "deodorFilterResetType": { "value": null, "timestamp": "2021-04-06T16:43:39.118Z" }, "deodorFilterUsage": { "value": null, "timestamp": "2021-04-06T16:43:39.118Z" }, "deodorFilterUsageStep": { "value": null, "timestamp": "2021-04-06T16:43:39.118Z" } }, "custom.energyType": { "energyType": { "value": null, "timestamp": "2021-04-06T16:43:38.843Z" }, "energySavingSupport": { "value": null }, "drMaxDuration": { "value": null }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": null } }, "veryFineDustSensor": { "veryFineDustLevel": { "value": null, "unit": "\u03bcg/m^3", "timestamp": "2021-04-06T16:43:38.529Z" } } }, "main": { "relativeHumidityMeasurement": { "humidity": { "value": 60, "unit": "%", "timestamp": "2024-12-30T13:10:23.759Z" } }, "custom.airConditionerOdorController": { "airConditionerOdorControllerProgress": { "value": null, "timestamp": "2021-04-06T16:43:37.555Z" }, "airConditionerOdorControllerState": { "value": null, "timestamp": "2021-04-06T16:43:37.555Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 16, "unit": "C", "timestamp": "2025-01-08T06:30:58.307Z" }, "maximumSetpoint": { "value": 30, "unit": "C", "timestamp": "2024-09-10T10:26:28.781Z" } }, "airConditionerMode": { "availableAcModes": { "value": null }, "supportedAcModes": { "value": ["cool", "dry", "wind", "auto", "heat"], "timestamp": "2024-09-10T10:26:28.781Z" }, "airConditionerMode": { "value": "heat", "timestamp": "2025-02-09T09:14:39.642Z" } }, "custom.spiMode": { "spiMode": { "value": "off", "timestamp": "2025-02-09T09:14:39.642Z" } }, "samsungce.dongleSoftwareInstallation": { "status": { "value": "completed", "timestamp": "2021-12-29T01:36:51.289Z" } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "ARTIK051_KRAC_18K", "timestamp": "2025-02-08T00:44:53.855Z" } }, "airQualitySensor": { "airQuality": { "value": null, "unit": "CAQI", "timestamp": "2021-04-06T16:43:37.208Z" } }, "custom.airConditionerOptionalMode": { "supportedAcOptionalMode": { "value": ["off", "windFree"], "timestamp": "2024-09-10T10:26:28.781Z" }, "acOptionalMode": { "value": "off", "timestamp": "2025-02-09T09:14:39.642Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T16:37:54.072Z" } }, "custom.airConditionerTropicalNightMode": { "acTropicalNightModeLevel": { "value": 0, "timestamp": "2025-02-09T09:14:39.642Z" } }, "ocf": { "st": { "value": null, "timestamp": "2021-04-06T16:43:35.933Z" }, "mndt": { "value": null, "timestamp": "2021-04-06T16:43:35.912Z" }, "mnfv": { "value": "0.1.0", "timestamp": "2024-09-10T10:26:28.552Z" }, "mnhw": { "value": "1.0", "timestamp": "2024-09-10T10:26:28.552Z" }, "di": { "value": "96a5ef74-5832-a84b-f1f7-ca799957065d", "timestamp": "2024-09-10T10:26:28.552Z" }, "mnsl": { "value": null, "timestamp": "2021-04-06T16:43:35.803Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-09-10T10:26:28.552Z" }, "n": { "value": "[room a/c] Samsung", "timestamp": "2024-09-10T10:26:28.552Z" }, "mnmo": { "value": "ARTIK051_KRAC_18K|10193441|60010132001111110200000000000000", "timestamp": "2024-09-10T10:26:28.781Z" }, "vid": { "value": "DA-AC-RAC-000001", "timestamp": "2024-09-10T10:26:28.552Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-09-10T10:26:28.552Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2024-09-10T10:26:28.552Z" }, "mnpv": { "value": "0G3MPDCKA00010E", "timestamp": "2024-09-10T10:26:28.552Z" }, "mnos": { "value": "TizenRT2.0", "timestamp": "2024-09-10T10:26:28.552Z" }, "pi": { "value": "96a5ef74-5832-a84b-f1f7-ca799957065d", "timestamp": "2024-09-10T10:26:28.552Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-09-10T10:26:28.552Z" } }, "airConditionerFanMode": { "fanMode": { "value": "low", "timestamp": "2025-02-09T09:14:39.249Z" }, "supportedAcFanModes": { "value": ["auto", "low", "medium", "high", "turbo"], "timestamp": "2025-02-09T09:14:39.249Z" }, "availableAcFanModes": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "remoteControlStatus", "airQualitySensor", "dustSensor", "veryFineDustSensor", "custom.dustFilter", "custom.deodorFilter", "custom.deviceReportStateConfiguration", "samsungce.dongleSoftwareInstallation", "demandResponseLoadControl", "custom.airConditionerOdorController" ], "timestamp": "2025-02-09T09:14:39.642Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24070101, "timestamp": "2024-09-04T06:35:09.557Z" } }, "fanOscillationMode": { "supportedFanOscillationModes": { "value": null, "timestamp": "2021-04-06T16:43:35.782Z" }, "availableFanOscillationModes": { "value": null }, "fanOscillationMode": { "value": "fixed", "timestamp": "2025-02-09T09:14:39.249Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 25, "unit": "C", "timestamp": "2025-02-09T16:33:29.164Z" } }, "dustSensor": { "dustLevel": { "value": null, "unit": "\u03bcg/m^3", "timestamp": "2021-04-06T16:43:35.665Z" }, "fineDustLevel": { "value": null, "unit": "\u03bcg/m^3", "timestamp": "2021-04-06T16:43:35.665Z" } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": null, "timestamp": "2021-04-06T16:43:35.643Z" }, "reportStateRealtime": { "value": null, "timestamp": "2021-04-06T16:43:35.643Z" }, "reportStatePeriod": { "value": null, "timestamp": "2021-04-06T16:43:35.643Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": 25, "unit": "C", "timestamp": "2025-02-09T09:15:11.608Z" } }, "custom.disabledComponents": { "disabledComponents": { "value": ["1"], "timestamp": "2025-02-09T09:14:39.642Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": -1, "start": "1970-01-01T00:00:00Z", "duration": 0, "override": false }, "timestamp": "2024-09-10T10:26:28.781Z" } }, "audioVolume": { "volume": { "value": 100, "unit": "%", "timestamp": "2025-02-09T09:14:39.642Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 2247300, "deltaEnergy": 400, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 2247300, "energySaved": 0, "start": "2025-02-09T15:45:29Z", "end": "2025-02-09T16:15:33Z" }, "timestamp": "2025-02-09T16:15:33.639Z" } }, "custom.autoCleaningMode": { "supportedAutoCleaningModes": { "value": null }, "timedCleanDuration": { "value": null }, "operatingState": { "value": null }, "timedCleanDurationRange": { "value": null }, "supportedOperatingStates": { "value": null }, "progress": { "value": null }, "autoCleaningMode": { "value": "off", "timestamp": "2025-02-09T09:14:39.642Z" } }, "refresh": {}, "execute": { "data": { "value": { "payload": { "rt": ["oic.r.temperature"], "if": ["oic.if.baseline", "oic.if.a"], "range": [16.0, 30.0], "units": "C", "temperature": 22.0 } }, "data": { "href": "/temperature/desired/0" }, "timestamp": "2023-07-19T03:07:43.270Z" } }, "samsungce.selfCheck": { "result": { "value": null }, "supportedActions": { "value": ["start"], "timestamp": "2024-09-04T06:35:09.557Z" }, "progress": { "value": null }, "errors": { "value": [], "timestamp": "2025-02-08T00:44:53.349Z" }, "status": { "value": "ready", "timestamp": "2025-02-08T00:44:53.549Z" } }, "custom.dustFilter": { "dustFilterUsageStep": { "value": null, "timestamp": "2021-04-06T16:43:35.527Z" }, "dustFilterUsage": { "value": null, "timestamp": "2021-04-06T16:43:35.527Z" }, "dustFilterLastResetDate": { "value": null, "timestamp": "2021-04-06T16:43:35.527Z" }, "dustFilterStatus": { "value": null, "timestamp": "2021-04-06T16:43:35.527Z" }, "dustFilterCapacity": { "value": null, "timestamp": "2021-04-06T16:43:35.527Z" }, "dustFilterResetType": { "value": null, "timestamp": "2021-04-06T16:43:35.527Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": null, "timestamp": "2021-04-06T16:43:35.379Z" } }, "custom.deodorFilter": { "deodorFilterCapacity": { "value": null, "timestamp": "2021-04-06T16:43:35.502Z" }, "deodorFilterLastResetDate": { "value": null, "timestamp": "2021-04-06T16:43:35.502Z" }, "deodorFilterStatus": { "value": null, "timestamp": "2021-04-06T16:43:35.502Z" }, "deodorFilterResetType": { "value": null, "timestamp": "2021-04-06T16:43:35.502Z" }, "deodorFilterUsage": { "value": null, "timestamp": "2021-04-06T16:43:35.502Z" }, "deodorFilterUsageStep": { "value": null, "timestamp": "2021-04-06T16:43:35.502Z" } }, "custom.energyType": { "energyType": { "value": "1.0", "timestamp": "2024-09-10T10:26:28.781Z" }, "energySavingSupport": { "value": false, "timestamp": "2021-12-29T07:29:17.526Z" }, "drMaxDuration": { "value": null }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": null } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": "43CEZFTFFL7Z2", "timestamp": "2025-02-08T00:44:53.855Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-08T00:44:53.855Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-08T00:44:53.855Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "veryFineDustSensor": { "veryFineDustLevel": { "value": null, "unit": "\u03bcg/m^3", "timestamp": "2021-04-06T16:43:35.363Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ac_rac_000003.json000066400000000000000000000343571511701743400311240ustar00rootroot00000000000000{ "components": { "main": { "relativeHumidityMeasurement": { "humidity": { "value": 36, "unit": "%", "timestamp": "2025-02-09T20:46:13.242Z" } }, "custom.airConditionerOdorController": { "airConditionerOdorControllerProgress": { "value": null }, "airConditionerOdorControllerState": { "value": null } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 16, "unit": "C", "timestamp": "2025-02-07T20:56:26.603Z" }, "maximumSetpoint": { "value": 30, "unit": "C", "timestamp": "2025-01-10T17:55:07.240Z" } }, "airConditionerMode": { "availableAcModes": { "value": null }, "supportedAcModes": { "value": ["auto", "cool", "dry", "wind", "heat"], "timestamp": "2025-01-10T17:55:09.348Z" }, "airConditionerMode": { "value": "heat", "timestamp": "2025-02-09T19:44:50.032Z" } }, "custom.spiMode": { "spiMode": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "TP2X_RAC_20K", "timestamp": "2025-02-09T11:38:10.321Z" } }, "airQualitySensor": { "airQuality": { "value": null } }, "custom.airConditionerOptionalMode": { "supportedAcOptionalMode": { "value": [ "off", "sleep", "quiet", "speed", "windFree", "windFreeSleep" ], "timestamp": "2025-01-10T17:55:09.303Z" }, "acOptionalMode": { "value": "off", "timestamp": "2025-02-09T11:38:10.316Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T11:38:10.252Z" } }, "custom.airConditionerTropicalNightMode": { "acTropicalNightModeLevel": { "value": 0, "timestamp": "2025-02-09T19:44:50.032Z" } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "TP2X_RAC_20K_11240702", "timestamp": "2025-01-10T18:01:05.166Z" }, "mnhw": { "value": "MediaTek", "timestamp": "2025-01-10T18:01:05.166Z" }, "di": { "value": "29014d68-d9a8-20da-0b6f-053112978980", "timestamp": "2025-01-10T18:01:05.142Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2025-01-10T18:01:05.166Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-10T18:01:05.142Z" }, "n": { "value": "Samsung-Room-Air-Conditioner", "timestamp": "2025-01-10T18:01:05.142Z" }, "mnmo": { "value": "TP2X_RAC_20K|10256941|60010519001411014600003200800000", "timestamp": "2025-01-10T18:01:05.212Z" }, "vid": { "value": "DA-AC-RAC-000003", "timestamp": "2025-01-10T18:01:05.166Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-10T18:01:05.166Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2025-01-10T18:01:05.166Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2025-01-10T18:01:05.166Z" }, "mnos": { "value": "TizenRT 2.0 + IPv6", "timestamp": "2025-01-10T18:01:05.166Z" }, "pi": { "value": "29014d68-d9a8-20da-0b6f-053112978980", "timestamp": "2025-01-10T18:01:05.166Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-10T18:01:05.142Z" } }, "airConditionerFanMode": { "fanMode": { "value": "low", "timestamp": "2025-02-09T11:38:10.259Z" }, "supportedAcFanModes": { "value": ["auto", "low", "medium", "high", "turbo"], "timestamp": "2025-01-10T17:55:09.749Z" }, "availableAcFanModes": { "value": null } }, "samsungce.dustFilterAlarm": { "alarmThreshold": { "value": 500, "unit": "Hour", "timestamp": "2025-02-09T11:38:10.250Z" }, "supportedAlarmThresholds": { "value": [180, 300, 500, 700], "unit": "Hour", "timestamp": "2025-02-09T11:38:10.250Z" } }, "custom.electricHepaFilter": { "electricHepaFilterCapacity": { "value": null }, "electricHepaFilterUsageStep": { "value": null }, "electricHepaFilterLastResetDate": { "value": null }, "electricHepaFilterStatus": { "value": null }, "electricHepaFilterUsage": { "value": null }, "electricHepaFilterResetType": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "remoteControlStatus", "airQualitySensor", "dustSensor", "odorSensor", "veryFineDustSensor", "custom.spiMode", "custom.deodorFilter", "custom.electricHepaFilter", "custom.periodicSensing", "custom.doNotDisturbMode", "demandResponseLoadControl", "powerConsumptionReport", "custom.airConditionerOdorController", "samsungce.individualControlLock" ], "timestamp": "2025-02-09T19:44:50.032Z" } }, "custom.ocfResourceVersion": { "ocfResourceUpdatedTime": { "value": null }, "ocfResourceVersion": { "value": null } }, "samsungce.driverVersion": { "versionNumber": { "value": 24040101, "timestamp": "2025-01-10T17:55:07.240Z" } }, "fanOscillationMode": { "supportedFanOscillationModes": { "value": ["fixed", "all", "vertical", "horizontal"], "timestamp": "2025-02-09T11:38:10.360Z" }, "availableFanOscillationModes": { "value": null }, "fanOscillationMode": { "value": "fixed", "timestamp": "2025-02-09T11:38:10.360Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 17, "unit": "C", "timestamp": "2025-02-09T11:38:10.393Z" } }, "dustSensor": { "dustLevel": { "value": null }, "fineDustLevel": { "value": null } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": "disabled", "timestamp": "2025-02-09T11:38:10.371Z" }, "reportStateRealtime": { "value": { "state": "disabled" }, "timestamp": "2025-02-09T11:38:10.371Z" }, "reportStatePeriod": { "value": "enabled", "timestamp": "2025-02-09T11:38:10.371Z" } }, "custom.periodicSensing": { "automaticExecutionSetting": { "value": null }, "automaticExecutionMode": { "value": null }, "supportedAutomaticExecutionSetting": { "value": null }, "supportedAutomaticExecutionMode": { "value": null }, "periodicSensing": { "value": null }, "periodicSensingInterval": { "value": null }, "lastSensingTime": { "value": null }, "lastSensingLevel": { "value": null }, "periodicSensingStatus": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": 22, "unit": "C", "timestamp": "2025-02-09T11:38:10.393Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": -1, "start": "1970-01-01T00:00:00Z", "duration": 0, "override": false }, "timestamp": "2025-01-10T17:55:09.749Z" } }, "audioVolume": { "volume": { "value": 100, "unit": "%", "timestamp": "2025-02-09T19:44:50.032Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": null } }, "custom.autoCleaningMode": { "supportedAutoCleaningModes": { "value": null }, "timedCleanDuration": { "value": null }, "operatingState": { "value": null }, "timedCleanDurationRange": { "value": null }, "supportedOperatingStates": { "value": null }, "progress": { "value": null }, "autoCleaningMode": { "value": "off", "timestamp": "2025-02-09T11:38:10.192Z" } }, "samsungce.individualControlLock": { "lockState": { "value": null } }, "refresh": {}, "execute": { "data": { "value": null } }, "samsungce.selfCheck": { "result": { "value": null }, "supportedActions": { "value": ["start"], "timestamp": "2025-01-10T17:55:07.240Z" }, "progress": { "value": null }, "errors": { "value": [], "timestamp": "2025-02-09T11:38:09.655Z" }, "status": { "value": null } }, "custom.dustFilter": { "dustFilterUsageStep": { "value": 1, "timestamp": "2025-02-09T11:38:10.250Z" }, "dustFilterUsage": { "value": 0, "timestamp": "2025-02-09T11:38:10.250Z" }, "dustFilterLastResetDate": { "value": null }, "dustFilterStatus": { "value": "normal", "timestamp": "2025-02-09T11:38:10.250Z" }, "dustFilterCapacity": { "value": 500, "unit": "Hour", "timestamp": "2025-02-09T11:38:10.250Z" }, "dustFilterResetType": { "value": ["replaceable", "washable"], "timestamp": "2025-02-09T11:38:10.250Z" } }, "odorSensor": { "odorLevel": { "value": null } }, "remoteControlStatus": { "remoteControlEnabled": { "value": null } }, "custom.deodorFilter": { "deodorFilterCapacity": { "value": null }, "deodorFilterLastResetDate": { "value": null }, "deodorFilterStatus": { "value": null }, "deodorFilterResetType": { "value": null }, "deodorFilterUsage": { "value": null }, "deodorFilterUsageStep": { "value": null } }, "custom.energyType": { "energyType": { "value": "1.0", "timestamp": "2025-01-10T17:55:09.749Z" }, "energySavingSupport": { "value": false, "timestamp": "2025-01-10T17:55:07.944Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2025-01-10T17:55:07.775Z" }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": false, "timestamp": "2025-01-10T17:55:07.775Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-02-09T11:38:10.374Z" }, "otnDUID": { "value": "P7CFUCFWR7IQS", "timestamp": "2025-02-09T11:38:10.321Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-09T11:38:10.321Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-09T11:38:10.321Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "veryFineDustSensor": { "veryFineDustLevel": { "value": null } }, "custom.veryFineDustFilter": { "veryFineDustFilterStatus": { "value": null }, "veryFineDustFilterResetType": { "value": null }, "veryFineDustFilterUsage": { "value": null }, "veryFineDustFilterLastResetDate": { "value": null }, "veryFineDustFilterUsageStep": { "value": null }, "veryFineDustFilterCapacity": { "value": null } }, "custom.doNotDisturbMode": { "doNotDisturb": { "value": null }, "startTime": { "value": null }, "endTime": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ac_rac_01001.json000066400000000000000000000455451511701743400310440ustar00rootroot00000000000000{ "components": { "main": { "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": ["custom.spiMode.setSpiMode"], "timestamp": "2025-02-09T05:44:01.769Z" } }, "relativeHumidityMeasurement": { "humidity": { "value": 42, "unit": "%", "timestamp": "2025-02-09T17:02:45.042Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 16, "unit": "C", "timestamp": "2025-02-09T15:42:13.444Z" }, "maximumSetpoint": { "value": 30, "unit": "C", "timestamp": "2025-02-09T15:42:13.444Z" } }, "airConditionerMode": { "availableAcModes": { "value": [], "timestamp": "2025-02-09T14:35:56.800Z" }, "supportedAcModes": { "value": ["auto", "cool", "dry", "wind", "heat"], "timestamp": "2025-02-09T15:42:13.444Z" }, "airConditionerMode": { "value": "cool", "timestamp": "2025-02-09T04:52:00.923Z" } }, "custom.spiMode": { "spiMode": { "value": null } }, "custom.airConditionerOptionalMode": { "supportedAcOptionalMode": { "value": [ "off", "sleep", "quiet", "smart", "speed", "windFree", "windFreeSleep" ], "timestamp": "2025-02-09T15:42:13.444Z" }, "acOptionalMode": { "value": "off", "timestamp": "2025-02-09T05:44:01.853Z" } }, "samsungce.airConditionerBeep": { "beep": { "value": "off", "timestamp": "2025-02-09T04:52:00.923Z" } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "ARA-WW-TP1-22-COMMON_11240702", "timestamp": "2025-02-09T15:42:12.723Z" }, "mnhw": { "value": "Realtek", "timestamp": "2025-02-09T15:42:12.723Z" }, "di": { "value": "4ece486b-89db-f06a-d54d-748b676b4d8e", "timestamp": "2025-02-09T15:42:12.714Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2025-02-09T15:42:12.723Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-02-09T15:42:12.714Z" }, "n": { "value": "Samsung-Room-Air-Conditioner", "timestamp": "2025-02-09T15:42:12.714Z" }, "mnmo": { "value": "ARA-WW-TP1-22-COMMON|10229641|60010523001511014600083200800000", "timestamp": "2025-02-09T15:42:13.444Z" }, "vid": { "value": "DA-AC-RAC-01001", "timestamp": "2025-02-09T15:42:12.723Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-02-09T15:42:12.723Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2025-02-09T15:42:12.723Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2025-02-09T15:42:12.723Z" }, "mnos": { "value": "TizenRT 3.1", "timestamp": "2025-02-09T15:42:12.723Z" }, "pi": { "value": "4ece486b-89db-f06a-d54d-748b676b4d8e", "timestamp": "2025-02-09T15:42:12.723Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-02-09T15:42:12.714Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "custom.deodorFilter", "custom.electricHepaFilter", "custom.periodicSensing", "custom.doNotDisturbMode", "samsungce.deviceInfoPrivate", "samsungce.quickControl", "samsungce.welcomeCooling", "samsungce.airConditionerBeep", "samsungce.airConditionerLighting", "samsungce.individualControlLock", "samsungce.alwaysOnSensing", "samsungce.buttonDisplayCondition", "airQualitySensor", "dustSensor", "odorSensor", "veryFineDustSensor", "custom.spiMode", "audioNotification" ], "timestamp": "2025-02-09T15:42:13.444Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24100102, "timestamp": "2025-01-28T21:31:35.935Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-09T15:42:13.444Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-09T15:42:13.444Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-09T15:42:13.444Z" }, "signinPermission": { "value": null }, "setupId": { "value": "010", "timestamp": "2025-02-09T15:42:13.444Z" }, "protocolType": { "value": "wifi_https", "timestamp": "2025-02-09T15:42:13.444Z" }, "tsId": { "value": "DA01", "timestamp": "2025-02-09T15:42:13.444Z" }, "mnId": { "value": "0AJT", "timestamp": "2025-02-09T15:42:13.444Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-09T15:42:13.444Z" } }, "fanOscillationMode": { "supportedFanOscillationModes": { "value": ["fixed", "vertical", "horizontal", "all"], "timestamp": "2025-02-09T15:42:13.444Z" }, "availableFanOscillationModes": { "value": null }, "fanOscillationMode": { "value": "fixed", "timestamp": "2025-02-09T15:42:13.444Z" } }, "custom.periodicSensing": { "automaticExecutionSetting": { "value": null }, "automaticExecutionMode": { "value": null }, "supportedAutomaticExecutionSetting": { "value": null }, "supportedAutomaticExecutionMode": { "value": null }, "periodicSensing": { "value": null }, "periodicSensingInterval": { "value": null }, "lastSensingTime": { "value": null }, "lastSensingLevel": { "value": null }, "periodicSensingStatus": { "value": null } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "start": "1970-01-01T00:00:00Z", "duration": 0, "override": false }, "timestamp": "2025-02-09T15:42:13.444Z" } }, "audioVolume": { "volume": { "value": 0, "unit": "%", "timestamp": "2025-02-09T04:52:00.923Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 13836, "deltaEnergy": 0, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 13836, "energySaved": 0, "persistedSavedEnergy": 0, "start": "2025-02-09T16:08:15Z", "end": "2025-02-09T17:02:44Z" }, "timestamp": "2025-02-09T17:02:44.883Z" } }, "custom.autoCleaningMode": { "supportedAutoCleaningModes": { "value": null }, "timedCleanDuration": { "value": null }, "operatingState": { "value": null }, "timedCleanDurationRange": { "value": null }, "supportedOperatingStates": { "value": null }, "progress": { "value": null }, "autoCleaningMode": { "value": "on", "timestamp": "2025-02-09T05:44:02.014Z" } }, "samsungce.individualControlLock": { "lockState": { "value": null } }, "audioNotification": {}, "execute": { "data": { "value": null } }, "samsungce.welcomeCooling": { "latestRequestId": { "value": null }, "operatingState": { "value": null } }, "sec.wifiConfiguration": { "autoReconnection": { "value": true, "timestamp": "2025-02-09T15:42:13.444Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-09T15:42:13.444Z" }, "supportedWiFiFreq": { "value": ["2.4G"], "timestamp": "2025-02-09T15:42:13.444Z" }, "supportedAuthType": { "value": ["OPEN", "WEP", "WPA-PSK", "WPA2-PSK", "SAE"], "timestamp": "2025-02-09T15:42:13.444Z" }, "protocolType": { "value": ["helper_hotspot", "ble_ocf"], "timestamp": "2025-02-09T15:42:13.444Z" } }, "samsungce.selfCheck": { "result": { "value": null }, "supportedActions": { "value": ["start", "cancel"], "timestamp": "2025-02-09T04:52:00.923Z" }, "progress": { "value": 1, "unit": "%", "timestamp": "2025-02-09T04:52:00.923Z" }, "errors": { "value": [], "timestamp": "2025-02-09T15:42:13.444Z" }, "status": { "value": "ready", "timestamp": "2025-02-09T04:52:00.923Z" } }, "custom.dustFilter": { "dustFilterUsageStep": { "value": 1, "timestamp": "2025-02-09T12:00:10.310Z" }, "dustFilterUsage": { "value": 12, "timestamp": "2025-02-09T12:00:10.310Z" }, "dustFilterLastResetDate": { "value": null }, "dustFilterStatus": { "value": "normal", "timestamp": "2025-02-09T12:00:10.310Z" }, "dustFilterCapacity": { "value": 500, "unit": "Hour", "timestamp": "2025-02-09T12:00:10.310Z" }, "dustFilterResetType": { "value": ["replaceable", "washable"], "timestamp": "2025-02-09T12:00:10.310Z" } }, "custom.energyType": { "energyType": { "value": "1.0", "timestamp": "2025-01-28T21:31:39.517Z" }, "energySavingSupport": { "value": true, "timestamp": "2025-01-28T21:38:35.560Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2025-01-28T21:31:37.357Z" }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": false, "timestamp": "2025-02-09T15:42:13.444Z" }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": true, "timestamp": "2025-01-28T21:38:35.731Z" } }, "bypassable": { "bypassStatus": { "value": "bypassed", "timestamp": "2025-01-28T21:31:35.935Z" } }, "samsungce.airQualityHealthConcern": { "supportedAirQualityHealthConcerns": { "value": null }, "airQualityHealthConcern": { "value": null } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-02-05T20:07:11.459Z" }, "otnDUID": { "value": "U7CB2ZD4QPDUC", "timestamp": "2025-02-09T15:42:13.444Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-01-28T21:31:38.089Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-09T15:42:13.444Z" }, "operatingState": { "value": "none", "timestamp": "2025-02-05T20:07:11.459Z" }, "progress": { "value": null } }, "veryFineDustSensor": { "veryFineDustLevel": { "value": null } }, "custom.veryFineDustFilter": { "veryFineDustFilterStatus": { "value": null }, "veryFineDustFilterResetType": { "value": null }, "veryFineDustFilterUsage": { "value": null }, "veryFineDustFilterLastResetDate": { "value": null }, "veryFineDustFilterUsageStep": { "value": null }, "veryFineDustFilterCapacity": { "value": null } }, "samsungce.silentAction": {}, "custom.airConditionerOdorController": { "airConditionerOdorControllerProgress": { "value": 0, "timestamp": "2025-02-09T04:52:00.923Z" }, "airConditionerOdorControllerState": { "value": "off", "timestamp": "2025-02-09T04:52:00.923Z" } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": 21, "timestamp": "2025-01-28T21:31:35.935Z" }, "binaryId": { "value": "ARA-WW-TP1-22-COMMON", "timestamp": "2025-02-09T15:42:13.444Z" } }, "airQualitySensor": { "airQuality": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T15:42:13.444Z" } }, "samsungce.quickControl": { "version": { "value": null } }, "custom.airConditionerTropicalNightMode": { "acTropicalNightModeLevel": { "value": 6, "timestamp": "2025-02-09T04:52:00.923Z" } }, "airConditionerFanMode": { "fanMode": { "value": "high", "timestamp": "2025-02-09T14:07:45.816Z" }, "supportedAcFanModes": { "value": ["auto", "low", "medium", "high", "turbo"], "timestamp": "2025-02-09T15:42:13.444Z" }, "availableAcFanModes": { "value": ["auto", "low", "medium", "high", "turbo"], "timestamp": "2025-02-09T05:44:01.769Z" } }, "samsungce.dustFilterAlarm": { "alarmThreshold": { "value": 500, "unit": "Hour", "timestamp": "2025-02-09T12:00:10.310Z" }, "supportedAlarmThresholds": { "value": [180, 300, 500, 700], "unit": "Hour", "timestamp": "2025-02-09T15:42:13.444Z" } }, "custom.electricHepaFilter": { "electricHepaFilterCapacity": { "value": null }, "electricHepaFilterUsageStep": { "value": null }, "electricHepaFilterLastResetDate": { "value": null }, "electricHepaFilterStatus": { "value": null }, "electricHepaFilterUsage": { "value": null }, "electricHepaFilterResetType": { "value": null } }, "samsungce.airConditionerLighting": { "supportedLightingLevels": { "value": ["on", "off"], "timestamp": "2025-02-09T15:42:13.444Z" }, "lighting": { "value": "on", "timestamp": "2025-02-09T09:30:03.213Z" } }, "samsungce.buttonDisplayCondition": { "switch": { "value": "enabled", "timestamp": "2025-02-09T05:17:41.282Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 27, "unit": "C", "timestamp": "2025-02-09T16:38:17.028Z" } }, "dustSensor": { "dustLevel": { "value": null }, "fineDustLevel": { "value": null } }, "sec.calmConnectionCare": { "role": { "value": ["things"], "timestamp": "2025-02-09T15:42:13.444Z" }, "protocols": { "value": null }, "version": { "value": "1.0", "timestamp": "2025-02-09T15:42:13.444Z" } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": "disabled", "timestamp": "2025-02-09T05:17:39.792Z" }, "reportStateRealtime": { "value": { "state": "disabled" }, "timestamp": "2025-02-09T15:42:13.444Z" }, "reportStatePeriod": { "value": "enabled", "timestamp": "2025-02-09T05:17:39.792Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": 16, "maximum": 30, "step": 1 }, "unit": "C", "timestamp": "2025-02-09T05:17:41.533Z" }, "coolingSetpoint": { "value": 23, "unit": "C", "timestamp": "2025-02-09T14:07:45.643Z" } }, "samsungce.alwaysOnSensing": { "origins": { "value": [], "timestamp": "2025-02-09T15:42:13.444Z" }, "alwaysOn": { "value": "off", "timestamp": "2025-02-09T15:42:13.444Z" } }, "refresh": {}, "odorSensor": { "odorLevel": { "value": null } }, "custom.deodorFilter": { "deodorFilterCapacity": { "value": null }, "deodorFilterLastResetDate": { "value": null }, "deodorFilterStatus": { "value": null }, "deodorFilterResetType": { "value": null }, "deodorFilterUsage": { "value": null }, "deodorFilterUsageStep": { "value": null } }, "custom.doNotDisturbMode": { "doNotDisturb": { "value": null }, "startTime": { "value": null }, "endTime": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ac_therac_01011.json000066400000000000000000000156101511701743400315340ustar00rootroot00000000000000{ "components": { "main": { "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": null } }, "samsungce.alwaysOnSensing": { "origins": { "value": [], "timestamp": "2025-03-06T23:31:05.535Z" }, "alwaysOn": { "value": "off", "timestamp": "2025-03-06T23:31:05.535Z" } }, "refresh": {}, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 8, "unit": "C", "timestamp": "2025-03-07T05:06:27.498Z" }, "maximumSetpoint": { "value": 30, "unit": "C", "timestamp": "2025-03-07T05:06:27.498Z" } }, "airConditionerMode": { "availableAcModes": { "value": null }, "supportedAcModes": { "value": ["auto", "cool", "dry", "wind", "heat"], "timestamp": "2025-03-07T07:40:57.236Z" }, "airConditionerMode": { "value": "heat", "timestamp": "2025-03-07T07:40:57.236Z" } }, "execute": { "data": { "value": { "payload": { "rt": ["oic.r.temperature"], "if": ["oic.if.baseline", "oic.if.s"], "range": [8, 30], "units": "C", "temperature": 20.0 } }, "data": { "href": "/temperature/current/0" }, "timestamp": "2025-02-03T06:05:54.925Z" } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": 21, "timestamp": "2024-10-24T07:46:24.038Z" }, "binaryId": { "value": "ARA-WW-TP2-21-OT9700", "timestamp": "2025-03-06T23:31:05.535Z" } }, "custom.airConditionerOptionalMode": { "supportedAcOptionalMode": { "value": ["off", "sleep", "quiet", "smart", "speed"], "timestamp": "2025-03-06T23:31:05.535Z" }, "acOptionalMode": { "value": "off", "timestamp": "2025-03-06T23:31:05.535Z" } }, "samsungce.welcomeCooling": { "latestRequestId": { "value": null }, "operatingState": { "value": null } }, "switch": { "switch": { "value": "on", "timestamp": "2025-03-06T23:31:05.535Z" } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "ARA-WW-TP2-21-OT9700_11210729", "timestamp": "2024-11-07T23:06:27.538Z" }, "mnhw": { "value": "MediaTek", "timestamp": "2024-11-07T23:06:27.538Z" }, "di": { "value": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", "timestamp": "2024-11-07T23:06:27.538Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2024-11-07T23:06:27.538Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-11-07T23:06:27.538Z" }, "n": { "value": "[room a/c] Samsung", "timestamp": "2024-11-07T23:06:27.538Z" }, "mnmo": { "value": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", "timestamp": "2024-11-07T23:06:27.538Z" }, "vid": { "value": "DA-AC-THERAC-01011", "timestamp": "2024-11-07T23:06:27.538Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-11-07T23:06:27.538Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2024-11-07T23:06:27.538Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2024-11-07T23:06:27.538Z" }, "mnos": { "value": "TizenRT 1.0 + IPv6", "timestamp": "2024-11-07T23:06:27.538Z" }, "pi": { "value": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", "timestamp": "2024-11-07T23:06:27.538Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-11-07T23:06:27.538Z" } }, "airConditionerFanMode": { "fanMode": { "value": "auto", "timestamp": "2025-03-06T23:31:05.535Z" }, "supportedAcFanModes": { "value": ["auto", "low", "medium", "high", "turbo"], "timestamp": "2025-03-06T23:31:05.535Z" }, "availableAcFanModes": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungce.welcomeCooling", "samsungce.alwaysOnSensing"], "timestamp": "2024-10-24T23:31:03.376Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": "BDCPH4AIXBPHY", "timestamp": "2025-03-06T23:31:05.535Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2024-10-23T23:31:04.385Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-03-06T23:31:05.535Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "samsungce.driverVersion": { "versionNumber": { "value": 24090101, "timestamp": "2024-10-24T07:46:24.038Z" } }, "fanOscillationMode": { "supportedFanOscillationModes": { "value": ["fixed", "all", "vertical", "horizontal"], "timestamp": "2025-03-06T23:31:05.535Z" }, "availableFanOscillationModes": { "value": null }, "fanOscillationMode": { "value": "vertical", "timestamp": "2025-03-06T23:31:05.535Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 23, "unit": "C", "timestamp": "2025-03-07T08:01:04.926Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": 22, "unit": "C", "timestamp": "2025-03-07T05:06:27.498Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ks_microwave_0101x.json000066400000000000000000000400061511701743400324200ustar00rootroot00000000000000{ "components": { "main": { "doorControl": { "door": { "value": null } }, "samsungce.kitchenDeviceDefaults": { "defaultOperationTime": { "value": 30, "timestamp": "2022-03-23T15:59:12.609Z" }, "defaultOvenMode": { "value": "MicroWave", "timestamp": "2025-02-08T21:13:36.289Z" }, "defaultOvenSetpoint": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "TP2X_DA-KS-MICROWAVE-0101X", "timestamp": "2025-02-08T21:13:36.256Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T00:11:12.010Z" } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "AKS-WW-TP2-20-MICROWAVE-OTR_40230125", "timestamp": "2023-07-03T06:44:54.757Z" }, "mnhw": { "value": "MediaTek", "timestamp": "2022-03-23T15:59:12.742Z" }, "di": { "value": "2bad3237-4886-e699-1b90-4a51a3d55c8a", "timestamp": "2022-03-23T15:59:12.742Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2022-03-23T15:59:12.742Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2023-07-03T22:00:58.832Z" }, "n": { "value": "Samsung Microwave", "timestamp": "2023-07-03T06:44:54.757Z" }, "mnmo": { "value": "TP2X_DA-KS-MICROWAVE-0101X|40436241|50040100011411000200000000000000", "timestamp": "2023-07-03T06:44:54.757Z" }, "vid": { "value": "DA-KS-MICROWAVE-0101X", "timestamp": "2022-03-23T15:59:12.742Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2022-03-23T15:59:12.742Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2022-03-23T15:59:12.742Z" }, "mnpv": { "value": "DAWIT 3.0", "timestamp": "2023-07-03T06:44:54.757Z" }, "mnos": { "value": "TizenRT 2.0 + IPv6", "timestamp": "2023-07-03T06:44:54.757Z" }, "pi": { "value": "2bad3237-4886-e699-1b90-4a51a3d55c8a", "timestamp": "2022-03-23T15:59:12.742Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2022-03-23T15:59:12.742Z" } }, "samsungce.kitchenDeviceIdentification": { "regionCode": { "value": "US", "timestamp": "2025-02-08T21:13:36.289Z" }, "modelCode": { "value": "ME8000T-/AA0", "timestamp": "2025-02-08T21:13:36.289Z" }, "fuel": { "value": null }, "type": { "value": "microwave", "timestamp": "2022-03-23T15:59:10.971Z" }, "representativeComponent": { "value": null } }, "samsungce.kitchenModeSpecification": { "specification": { "value": { "single": [ { "mode": "MicroWave", "supportedOptions": { "operationTime": { "max": "01:40:00" }, "powerLevel": { "default": "100%", "supportedValues": [ "0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%" ] } } }, { "mode": "ConvectionBake", "supportedOptions": { "temperature": { "F": { "min": 100, "max": 425, "default": 350, "supportedValues": [ 100, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425 ] } }, "operationTime": { "max": "01:40:00" } } }, { "mode": "ConvectionRoast", "supportedOptions": { "temperature": { "F": { "min": 200, "max": 425, "default": 325, "supportedValues": [ 200, 225, 250, 275, 300, 325, 350, 375, 400, 425 ] } }, "operationTime": { "max": "01:40:00" } } }, { "mode": "Grill", "supportedOptions": { "temperature": { "F": { "min": 425, "max": 425, "default": 425, "resolution": 5 } }, "operationTime": { "max": "01:40:00" } } }, { "mode": "SpeedBake", "supportedOptions": { "operationTime": { "max": "01:40:00" }, "powerLevel": { "default": "30%", "supportedValues": ["10%", "30%", "50%", "70%"] } } }, { "mode": "SpeedRoast", "supportedOptions": { "operationTime": { "max": "01:40:00" }, "powerLevel": { "default": "30%", "supportedValues": ["10%", "30%", "50%", "70%"] } } }, { "mode": "KeepWarm", "supportedOptions": { "temperature": { "F": { "min": 175, "max": 175, "default": 175, "resolution": 5 } }, "operationTime": { "max": "01:40:00" } } }, { "mode": "Autocook", "supportedOptions": {} }, { "mode": "Cookie", "supportedOptions": { "temperature": { "F": { "min": 325, "max": 325, "default": 325, "resolution": 5 } }, "operationTime": { "max": "01:40:00" } } }, { "mode": "SteamClean", "supportedOptions": { "operationTime": { "max": "00:06:30" } } } ] }, "timestamp": "2025-02-08T10:21:03.790Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["doorControl", "samsungce.hoodFanSpeed"], "timestamp": "2025-02-08T21:13:36.152Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 22120101, "timestamp": "2023-07-03T09:36:13.282Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-08T21:13:36.256Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-08T21:13:36.256Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-08T21:13:36.256Z" }, "signinPermission": { "value": null }, "setupId": { "value": "621", "timestamp": "2025-02-08T21:13:36.256Z" }, "protocolType": { "value": "wifi_https", "timestamp": "2025-02-08T21:13:36.256Z" }, "tsId": { "value": null }, "mnId": { "value": "0AJT", "timestamp": "2025-02-08T21:13:36.256Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-08T21:13:36.256Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 1, "unit": "F", "timestamp": "2025-02-09T00:11:15.291Z" } }, "samsungce.ovenOperatingState": { "completionTime": { "value": "2025-02-08T21:13:36.184Z", "timestamp": "2025-02-08T21:13:36.188Z" }, "operatingState": { "value": "ready", "timestamp": "2025-02-08T21:13:36.188Z" }, "progress": { "value": 0, "timestamp": "2025-02-08T21:13:36.188Z" }, "ovenJobState": { "value": "ready", "timestamp": "2025-02-08T21:13:36.160Z" }, "operationTime": { "value": "00:00:00", "timestamp": "2025-02-08T21:13:36.188Z" } }, "ovenMode": { "supportedOvenModes": { "value": [ "Microwave", "ConvectionBake", "ConvectionRoast", "grill", "Others", "warming" ], "timestamp": "2025-02-08T10:21:03.790Z" }, "ovenMode": { "value": "Others", "timestamp": "2025-02-08T21:13:36.289Z" } }, "samsungce.ovenMode": { "supportedOvenModes": { "value": [ "MicroWave", "ConvectionBake", "ConvectionRoast", "Grill", "SpeedBake", "SpeedRoast", "KeepWarm", "Autocook", "Cookie", "SteamClean" ], "timestamp": "2025-02-08T10:21:03.790Z" }, "ovenMode": { "value": "NoOperation", "timestamp": "2025-02-08T21:13:36.289Z" } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-08T21:13:36.152Z" } }, "ovenSetpoint": { "ovenSetpointRange": { "value": null }, "ovenSetpoint": { "value": 0, "timestamp": "2025-02-09T00:01:09.108Z" } }, "refresh": {}, "samsungce.hoodFanSpeed": { "settableMaxFanSpeed": { "value": 3, "timestamp": "2025-02-09T00:01:06.959Z" }, "hoodFanSpeed": { "value": 0, "timestamp": "2025-02-09T00:01:07.813Z" }, "supportedHoodFanSpeed": { "value": [0, 1, 2, 3, 4, 5], "timestamp": "2022-03-23T15:59:12.796Z" }, "settableMinFanSpeed": { "value": 0, "timestamp": "2025-02-09T00:01:06.959Z" } }, "samsungce.doorState": { "doorState": { "value": "closed", "timestamp": "2025-02-08T21:13:36.227Z" } }, "samsungce.microwavePower": { "supportedPowerLevels": { "value": [ "0%", "10%", "20%", "30%", "40%", "50%", "60%", "70%", "80%", "90%", "100%" ], "timestamp": "2025-02-08T21:13:36.160Z" }, "powerLevel": { "value": "0%", "timestamp": "2025-02-08T21:13:36.160Z" } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.temperatures"], "if": ["oic.if.baseline", "oic.if.a"], "x.com.samsung.da.items": [ { "x.com.samsung.da.id": "0", "x.com.samsung.da.description": "Temperature", "x.com.samsung.da.desired": "0", "x.com.samsung.da.current": "1", "x.com.samsung.da.increment": "5", "x.com.samsung.da.unit": "Fahrenheit" } ] } }, "data": { "href": "/temperatures/vs/0" }, "timestamp": "2023-07-19T05:50:12.609Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-08T21:13:36.357Z" } }, "samsungce.definedRecipe": { "definedRecipe": { "value": { "cavityId": "0", "recipeType": "0", "categoryId": 0, "itemId": 0, "servingSize": 0, "browingLevel": 0, "option": 0 }, "timestamp": "2025-02-08T21:13:36.160Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": "U7CNQWBWSCD7C", "timestamp": "2025-02-08T21:13:36.256Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-08T21:13:36.213Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-08T21:13:36.213Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "ovenOperatingState": { "completionTime": { "value": "2025-02-08T21:13:36.184Z", "timestamp": "2025-02-08T21:13:36.188Z" }, "machineState": { "value": "ready", "timestamp": "2025-02-08T21:13:36.188Z" }, "progress": { "value": 0, "unit": "%", "timestamp": "2025-02-08T21:13:36.188Z" }, "supportedMachineStates": { "value": null }, "ovenJobState": { "value": "ready", "timestamp": "2025-02-08T21:13:36.160Z" }, "operationTime": { "value": 0, "timestamp": "2025-02-08T21:13:36.188Z" } } }, "hood": { "samsungce.hoodFanSpeed": { "settableMaxFanSpeed": { "value": 3, "timestamp": "2025-02-09T00:01:06.959Z" }, "hoodFanSpeed": { "value": 0, "timestamp": "2025-02-09T00:01:07.813Z" }, "supportedHoodFanSpeed": { "value": [0, 1, 2, 3, 4, 5], "timestamp": "2022-03-23T15:59:12.796Z" }, "settableMinFanSpeed": { "value": 0, "timestamp": "2025-02-09T00:01:06.959Z" } }, "samsungce.lamp": { "brightnessLevel": { "value": "off", "timestamp": "2025-02-08T21:13:36.289Z" }, "supportedBrightnessLevel": { "value": ["off", "low", "high"], "timestamp": "2025-02-08T21:13:36.289Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ks_range_0101x.json000066400000000000000000000466321511701743400315330ustar00rootroot00000000000000{ "components": { "cavity-01": { "ovenSetpoint": { "ovenSetpointRange": { "value": null }, "ovenSetpoint": { "value": 0, "timestamp": "2022-02-21T22:37:06.976Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-09-07T22:35:34.197Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 175, "unit": "F", "timestamp": "2022-02-21T22:37:06.976Z" } }, "samsungce.ovenOperatingState": { "completionTime": { "value": "2024-05-14T19:00:04.579Z", "timestamp": "2024-05-14T19:00:04.584Z" }, "operatingState": { "value": "ready", "timestamp": "2022-02-21T22:37:05.415Z" }, "progress": { "value": 1, "timestamp": "2022-02-21T22:37:05.415Z" }, "ovenJobState": { "value": "ready", "timestamp": "2022-02-21T22:37:05.415Z" }, "operationTime": { "value": "00:00:00", "timestamp": "2022-02-21T22:37:05.415Z" } }, "samsungce.kitchenDeviceDefaults": { "defaultOperationTime": { "value": null }, "defaultOvenMode": { "value": "ConvectionBake", "timestamp": "2022-02-21T22:37:06.983Z" }, "defaultOvenSetpoint": { "value": 350, "timestamp": "2022-02-21T22:37:06.976Z" } }, "custom.ovenCavityStatus": { "ovenCavityStatus": { "value": "off", "timestamp": "2025-02-03T07:46:10.165Z" } }, "ovenMode": { "supportedOvenModes": { "value": ["Others"], "timestamp": "2022-02-21T22:37:08.409Z" }, "ovenMode": { "value": "Others", "timestamp": "2022-02-21T22:37:06.983Z" } }, "ovenOperatingState": { "completionTime": { "value": "2024-05-14T19:00:04.579Z", "timestamp": "2024-05-14T19:00:04.584Z" }, "machineState": { "value": "ready", "timestamp": "2022-02-21T22:37:05.415Z" }, "progress": { "value": 1, "unit": "%", "timestamp": "2022-02-21T22:37:05.415Z" }, "supportedMachineStates": { "value": null }, "ovenJobState": { "value": "ready", "timestamp": "2022-02-21T22:37:05.415Z" }, "operationTime": { "value": 0, "timestamp": "2022-02-21T22:37:05.415Z" } }, "samsungce.ovenMode": { "supportedOvenModes": { "value": ["SelfClean", "SteamClean", "NoOperation"], "timestamp": "2022-02-21T22:37:08.409Z" }, "ovenMode": { "value": "NoOperation", "timestamp": "2022-02-21T22:37:06.983Z" } } }, "main": { "ovenSetpoint": { "ovenSetpointRange": { "value": null }, "ovenSetpoint": { "value": 0, "timestamp": "2025-02-07T00:50:48.980Z" } }, "samsungce.meatProbe": { "temperatureSetpoint": { "value": 0, "unit": "F", "timestamp": "2022-02-21T22:37:02.619Z" }, "temperature": { "value": 0, "unit": "F", "timestamp": "2022-02-21T22:37:02.619Z" }, "status": { "value": "disconnected", "timestamp": "2022-02-21T22:37:02.679Z" } }, "refresh": {}, "samsungce.doorState": { "doorState": { "value": "closed", "timestamp": "2025-02-07T00:05:24.873Z" } }, "samsungce.kitchenDeviceDefaults": { "defaultOperationTime": { "value": 3600, "timestamp": "2025-02-07T00:50:48.830Z" }, "defaultOvenMode": { "value": "ConvectionBake", "timestamp": "2025-02-07T03:07:52.875Z" }, "defaultOvenSetpoint": { "value": 350, "timestamp": "2025-02-07T00:50:48.980Z" } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.information"], "if": ["oic.if.baseline", "oic.if.a"], "x.com.samsung.da.modelNum": "TP1X_DA-KS-RANGE-0101X|40445041|5001011E03151101020000000000000", "x.com.samsung.da.description": "TP1X_DA-KS-OVEN-01011", "x.com.samsung.da.serialNum": "0J4D7DARB00000K", "x.com.samsung.da.otnDUID": "ZPCNQWBWXI53Q", "x.com.samsung.da.items": [ { "x.com.samsung.da.id": "0", "x.com.samsung.da.description": "Version", "x.com.samsung.da.type": "Software", "x.com.samsung.da.number": "02144A221005", "x.com.samsung.da.newVersionAvailable": "0" }, { "x.com.samsung.da.id": "1", "x.com.samsung.da.description": "Version", "x.com.samsung.da.type": "Firmware", "x.com.samsung.da.number": "20121600,FFFFFFFF", "x.com.samsung.da.newVersionAvailable": "0" } ] } }, "data": { "href": "/information/vs/0" }, "timestamp": "2023-11-28T22:49:09.333Z" } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "TP1X_DA-KS-RANGE-0101X", "timestamp": "2025-02-03T07:46:10.124Z" } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "AKS-WW-TP1-20-OVEN-3-CR_40240205", "timestamp": "2024-05-14T19:00:26.132Z" }, "mnhw": { "value": "Realtek", "timestamp": "2024-05-14T19:00:26.132Z" }, "di": { "value": "2c3cbaa0-1899-5ddc-7b58-9d657bd48f18", "timestamp": "2022-02-21T22:37:02.282Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2022-02-21T22:37:02.282Z" }, "dmv": { "value": "1.2.1", "timestamp": "2022-12-19T22:33:09.710Z" }, "n": { "value": "Samsung Range", "timestamp": "2024-05-14T19:00:26.132Z" }, "mnmo": { "value": "TP1X_DA-KS-RANGE-0101X|40445041|5001011E031511010200000000000000", "timestamp": "2024-05-14T19:00:26.132Z" }, "vid": { "value": "DA-KS-RANGE-0101X", "timestamp": "2022-02-21T22:37:02.282Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2022-02-21T22:37:02.282Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2022-02-21T22:37:02.282Z" }, "mnpv": { "value": "DAWIT 3.0", "timestamp": "2024-05-14T19:00:26.132Z" }, "mnos": { "value": "TizenRT 3.1", "timestamp": "2024-05-14T19:00:26.132Z" }, "pi": { "value": "2c3cbaa0-1899-5ddc-7b58-9d657bd48f18", "timestamp": "2022-02-21T22:37:02.282Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2022-02-21T22:37:02.282Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "true", "timestamp": "2025-02-07T00:50:50.886Z" } }, "samsungce.customRecipe": {}, "samsungce.kitchenDeviceIdentification": { "regionCode": { "value": "US", "timestamp": "2025-02-07T03:07:52.875Z" }, "modelCode": { "value": "NE6516A-/AA0", "timestamp": "2025-02-07T03:07:52.875Z" }, "fuel": { "value": null }, "type": { "value": "range", "timestamp": "2022-02-21T22:37:02.487Z" }, "representativeComponent": { "value": null } }, "samsungce.kitchenModeSpecification": { "specification": { "value": { "single": [ { "mode": "Bake", "supportedOperations": ["start", "set"], "supportedOptions": { "temperature": { "C": { "min": 80, "max": 285, "default": 175, "resolution": 0 }, "F": { "min": 175, "max": 550, "default": 350, "resolution": 0 } }, "operationTime": { "min": "00:01:00", "max": "09:59:00", "default": "01:00:00", "resolution": "00:01:00" } } }, { "mode": "Broil", "supportedOperations": ["set"], "supportedOptions": { "temperature": { "C": { "min": 61441, "max": 61442, "default": 61441, "supportedValues": [61441, 61442] }, "F": { "min": 61441, "max": 61442, "default": 61441, "supportedValues": [61441, 61442] } } } }, { "mode": "ConvectionBake", "supportedOperations": ["start", "set"], "supportedOptions": { "temperature": { "C": { "min": 80, "max": 285, "default": 160, "resolution": 0 }, "F": { "min": 175, "max": 550, "default": 325, "resolution": 0 } }, "operationTime": { "min": "00:01:00", "max": "09:59:00", "default": "01:00:00", "resolution": "00:01:00" } } }, { "mode": "ConvectionRoast", "supportedOperations": ["start", "set"], "supportedOptions": { "temperature": { "C": { "min": 80, "max": 285, "default": 160, "resolution": 0 }, "F": { "min": 175, "max": 550, "default": 325, "resolution": 0 } }, "operationTime": { "min": "00:01:00", "max": "09:59:00", "default": "01:00:00", "resolution": "00:01:00" } } }, { "mode": "KeepWarm", "supportedOperations": ["set"], "supportedOptions": { "temperature": { "C": { "min": 80, "max": 80, "default": 80, "supportedValues": [80] }, "F": { "min": 175, "max": 175, "default": 175, "supportedValues": [175] } } } }, { "mode": "BreadProof", "supportedOperations": ["set"], "supportedOptions": { "temperature": { "C": { "min": 35, "max": 35, "default": 35, "supportedValues": [35] }, "F": { "min": 95, "max": 95, "default": 95, "supportedValues": [95] } } } }, { "mode": "AirFryer", "supportedOperations": ["start", "set"], "supportedOptions": { "temperature": { "C": { "min": 175, "max": 260, "default": 220, "resolution": 0 }, "F": { "min": 350, "max": 500, "default": 425, "resolution": 0 } }, "operationTime": { "min": "00:01:00", "max": "09:59:00", "default": "01:00:00", "resolution": "00:01:00" } } }, { "mode": "Dehydrate", "supportedOperations": ["start", "set"], "supportedOptions": { "temperature": { "C": { "min": 40, "max": 105, "default": 65, "resolution": 0 }, "F": { "min": 100, "max": 225, "default": 150, "resolution": 0 } }, "operationTime": { "min": "00:01:00", "max": "09:59:00", "default": "01:00:00", "resolution": "00:01:00" } } }, { "mode": "SelfClean", "supportedOperations": [], "supportedOptions": {} }, { "mode": "SteamClean", "supportedOperations": [], "supportedOptions": {} } ] }, "timestamp": "2024-05-14T19:00:30.062Z" } }, "custom.cooktopOperatingState": { "supportedCooktopOperatingState": { "value": ["run", "ready"], "timestamp": "2022-02-21T22:37:05.293Z" }, "cooktopOperatingState": { "value": "ready", "timestamp": "2025-02-07T00:50:49.976Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2025-02-07T03:07:52.875Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 22100101, "timestamp": "2022-11-01T21:37:51.304Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": "ZPCNQWBWXI47Q", "timestamp": "2025-02-03T07:46:10.124Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-03T07:46:10.124Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-03T07:46:10.124Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 175, "unit": "F", "timestamp": "2025-02-07T00:50:48.980Z" } }, "samsungce.ovenOperatingState": { "completionTime": { "value": "2025-02-07T00:50:48.803Z", "timestamp": "2025-02-07T00:50:48.830Z" }, "operatingState": { "value": "ready", "timestamp": "2025-02-07T00:50:48.830Z" }, "progress": { "value": 1, "timestamp": "2025-02-07T00:50:48.830Z" }, "ovenJobState": { "value": "ready", "timestamp": "2025-02-07T00:50:49.000Z" }, "operationTime": { "value": "00:00:00", "timestamp": "2025-02-07T00:50:48.830Z" } }, "ovenMode": { "supportedOvenModes": { "value": [ "Bake", "Broil", "ConvectionBake", "ConvectionRoast", "warming", "Others", "Dehydrate" ], "timestamp": "2025-02-03T07:46:10.165Z" }, "ovenMode": { "value": "Others", "timestamp": "2025-02-07T03:07:52.875Z" } }, "ovenOperatingState": { "completionTime": { "value": "2025-02-07T00:50:48.803Z", "timestamp": "2025-02-07T00:50:48.830Z" }, "machineState": { "value": "ready", "timestamp": "2025-02-07T00:50:48.830Z" }, "progress": { "value": 1, "unit": "%", "timestamp": "2025-02-07T00:50:48.830Z" }, "supportedMachineStates": { "value": null }, "ovenJobState": { "value": "ready", "timestamp": "2025-02-07T00:50:49.000Z" }, "operationTime": { "value": 0, "timestamp": "2025-02-07T00:50:48.830Z" } }, "samsungce.ovenMode": { "supportedOvenModes": { "value": [ "Bake", "Broil", "ConvectionBake", "ConvectionRoast", "KeepWarm", "BreadProof", "AirFryer", "Dehydrate", "SelfClean", "SteamClean" ], "timestamp": "2025-02-03T07:46:10.165Z" }, "ovenMode": { "value": "NoOperation", "timestamp": "2025-02-07T03:07:52.875Z" } }, "samsungce.lamp": { "brightnessLevel": { "value": "off", "timestamp": "2025-02-07T03:07:52.875Z" }, "supportedBrightnessLevel": { "value": ["off", "high"], "timestamp": "2025-02-07T03:07:52.875Z" } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-03T07:46:10.275Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ks_walloven_000003.json000066400000000000000000000507611511701743400322350ustar00rootroot00000000000000{ "components": { "cavity-01": { "ovenSetpoint": { "ovenSetpointRange": { "value": null }, "ovenSetpoint": { "value": 0, "timestamp": "2025-02-07T19:04:46.087Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-09-08T05:03:53.786Z" } }, "samsungce.definedRecipe": { "definedRecipe": { "value": { "cavityId": "0", "recipeType": "0", "categoryId": 0, "itemId": 0, "servingSize": 0, "browingLevel": 0, "option": 0 }, "timestamp": "2025-02-07T19:04:45.928Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 0, "unit": "C", "timestamp": "2025-02-07T19:04:46.087Z" } }, "samsungce.ovenOperatingState": { "completionTime": { "value": "2025-02-07T19:04:44.900Z", "timestamp": "2025-02-07T19:04:44.903Z" }, "operatingState": { "value": "ready", "timestamp": "2025-02-07T19:04:44.903Z" }, "progress": { "value": 0, "timestamp": "2025-02-07T19:04:44.903Z" }, "ovenJobState": { "value": "ready", "timestamp": "2025-02-07T19:04:45.928Z" }, "operationTime": { "value": "00:00:00", "timestamp": "2025-02-07T19:04:44.903Z" } }, "samsungce.kitchenDeviceDefaults": { "defaultOperationTime": { "value": null }, "defaultOvenMode": { "value": "Convection", "timestamp": "2025-02-07T19:04:45.821Z" }, "defaultOvenSetpoint": { "value": null } }, "custom.ovenCavityStatus": { "ovenCavityStatus": { "value": "on", "timestamp": "2025-02-07T19:04:44.989Z" } }, "ovenMode": { "supportedOvenModes": { "value": ["Bake", "Others", "BottomHeat"], "timestamp": "2021-06-28T02:59:42.083Z" }, "ovenMode": { "value": "Others", "timestamp": "2025-02-07T19:04:45.821Z" } }, "ovenOperatingState": { "completionTime": { "value": "2025-02-07T19:04:44.900Z", "timestamp": "2025-02-07T19:04:44.903Z" }, "machineState": { "value": "ready", "timestamp": "2025-02-07T19:04:44.903Z" }, "progress": { "value": 0, "unit": "%", "timestamp": "2025-02-07T19:04:44.903Z" }, "supportedMachineStates": { "value": null, "timestamp": "2021-03-02T13:12:59.472Z" }, "ovenJobState": { "value": "ready", "timestamp": "2025-02-07T19:04:45.928Z" }, "operationTime": { "value": 0, "timestamp": "2025-02-07T19:04:44.903Z" } }, "samsungce.ovenMode": { "supportedOvenModes": { "value": [ "Convection", "BottomConvection", "Bottom", "EcoConvection" ], "timestamp": "2021-06-28T02:59:42.083Z" }, "ovenMode": { "value": "NoOperation", "timestamp": "2025-02-07T19:04:45.821Z" } } }, "main": { "ovenSetpoint": { "ovenSetpointRange": { "value": null }, "ovenSetpoint": { "value": 0, "timestamp": "2025-02-07T19:04:45.954Z" } }, "samsungce.meatProbe": { "temperatureSetpoint": { "value": 0, "unit": "C", "timestamp": "2025-02-07T19:04:45.954Z" }, "temperature": { "value": 0, "unit": "C", "timestamp": "2025-02-07T19:04:45.954Z" }, "status": { "value": "disconnected", "timestamp": "2025-02-07T19:04:45.835Z" } }, "refresh": {}, "samsungce.doorState": { "doorState": { "value": "closed", "timestamp": "2025-02-07T19:04:45.445Z" } }, "samsungce.kitchenDeviceDefaults": { "defaultOperationTime": { "value": 3600, "timestamp": "2025-02-07T19:04:44.815Z" }, "defaultOvenMode": { "value": "Convection", "timestamp": "2025-02-07T19:04:45.835Z" }, "defaultOvenSetpoint": { "value": null } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.rm.wifi"], "if": ["oic.if.baseline", "oic.if.s"], "x.com.samsung.rm.rssi": [-67] } }, "data": { "href": "/rm/wifi/vs/0" }, "timestamp": "2023-07-19T00:04:40.229Z" } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "ARTIK051_GB_WO_003", "timestamp": "2025-02-07T19:04:45.634Z" } }, "ocf": { "st": { "value": null, "timestamp": "2020-11-04T04:51:10.904Z" }, "mndt": { "value": null, "timestamp": "2020-11-04T09:51:31.711Z" }, "mnfv": { "value": "ARTIK051_GB_WO_003_40200913", "timestamp": "2023-05-05T15:28:37.385Z" }, "mnhw": { "value": "1.0", "timestamp": "2019-09-13T05:37:11.731Z" }, "di": { "value": "e3ffcb5a-294b-c68a-438d-9e27bb7660a0", "timestamp": "2019-09-13T05:37:11.800Z" }, "mnsl": { "value": null, "timestamp": "2020-11-04T07:51:23.672Z" }, "dmv": { "value": "1.2.1", "timestamp": "2023-05-05T15:28:37.385Z" }, "n": { "value": "[oven] Samsung", "timestamp": "2019-09-13T05:37:11.823Z" }, "mnmo": { "value": "ARTIK051_GB_WO_003|40423141|50030018001211510200000000000000", "timestamp": "2019-09-13T05:37:11.755Z" }, "vid": { "value": "DA-KS-WALLOVEN-000003", "timestamp": "2019-09-13T05:37:11.785Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2019-09-13T05:37:11.770Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2019-09-13T05:37:11.762Z" }, "mnpv": { "value": "0.1.0", "timestamp": "2019-09-13T05:37:11.748Z" }, "mnos": { "value": "TizenRT2.0", "timestamp": "2019-09-13T05:37:11.740Z" }, "pi": { "value": "e3ffcb5a-294b-c68a-438d-9e27bb7660a0", "timestamp": "2019-09-13T05:37:11.778Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2019-09-13T05:37:11.815Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-07T19:04:46.051Z" } }, "samsungce.kitchenDeviceIdentification": { "regionCode": { "value": "EU", "timestamp": "2025-02-07T19:04:45.835Z" }, "modelCode": { "value": "NE7000NP/EU0", "timestamp": "2025-02-07T19:04:45.835Z" }, "fuel": { "value": null }, "type": { "value": "oven", "timestamp": "2020-07-14T07:25:02.969Z" }, "representativeComponent": { "value": null } }, "samsungce.kitchenModeSpecification": { "specification": { "value": { "single": [ { "mode": "Convection", "supportedOptions": { "temperature": { "C": { "min": 30, "max": 250, "default": 160, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "Conventional", "supportedOptions": { "temperature": { "C": { "min": 30, "max": 250, "default": 180, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "LargeGrill", "supportedOptions": { "temperature": { "C": { "min": 100, "max": 270, "default": 220, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "SmallGrill", "supportedOptions": { "temperature": { "C": { "min": 100, "max": 270, "default": 220, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "TopHeatPluseConvection", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 180, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "BottomHeatPluseConvection", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 200, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "Bottom", "supportedOptions": { "temperature": { "C": { "min": 100, "max": 230, "default": 150, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "ProRoasting", "supportedOptions": { "temperature": { "C": { "min": 80, "max": 200, "default": 160, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "EcoConvection", "supportedOptions": { "temperature": { "C": { "min": 30, "max": 250, "default": 160, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "KeepWarm", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 100, "default": 60, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "PlateWarm", "supportedOptions": { "temperature": { "C": { "min": 30, "max": 80, "default": 50, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } } ], "upper": [ { "mode": "Convection", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 160, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "LargeGrill", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 220, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "TopConvection", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 180, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } } ], "lower": [ { "mode": "Convection", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 160, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "BottomConvection", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 200, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "Bottom", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 150, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } }, { "mode": "EcoConvection", "supportedOptions": { "temperature": { "C": { "min": 40, "max": 250, "default": 160, "resolution": 5 } }, "operationTime": { "max": "09:59:59" } } } ] }, "timestamp": "2021-06-28T02:59:42.083Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2025-02-07T19:04:45.634Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 22100101, "timestamp": "2022-11-01T14:15:02.215Z" } }, "samsungce.definedRecipe": { "definedRecipe": { "value": { "cavityId": "0", "recipeType": "0", "categoryId": 0, "itemId": 0, "servingSize": 0, "browingLevel": 0, "option": 0 }, "timestamp": "2025-02-07T19:04:45.910Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": null }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-07T19:04:45.634Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-07T19:04:45.634Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 0, "unit": "C", "timestamp": "2025-02-07T19:04:45.954Z" } }, "samsungce.ovenOperatingState": { "completionTime": { "value": "2025-02-07T19:04:44.802Z", "timestamp": "2025-02-07T19:04:44.815Z" }, "operatingState": { "value": "ready", "timestamp": "2025-02-07T19:04:44.815Z" }, "progress": { "value": 0, "timestamp": "2025-02-07T19:04:44.815Z" }, "ovenJobState": { "value": "ready", "timestamp": "2025-02-07T19:04:45.910Z" }, "operationTime": { "value": "00:00:00", "timestamp": "2025-02-07T19:04:44.815Z" } }, "ovenMode": { "supportedOvenModes": { "value": ["Bake", "Broil", "Others"], "timestamp": "2025-02-07T19:04:44.989Z" }, "ovenMode": { "value": "Others", "timestamp": "2025-02-07T19:04:45.835Z" } }, "ovenOperatingState": { "completionTime": { "value": "2025-02-07T19:04:44.802Z", "timestamp": "2025-02-07T19:04:44.815Z" }, "machineState": { "value": "ready", "timestamp": "2025-02-07T19:04:44.815Z" }, "progress": { "value": 0, "unit": "%", "timestamp": "2025-02-07T19:04:44.815Z" }, "supportedMachineStates": { "value": null, "timestamp": "2020-11-04T03:51:01.343Z" }, "ovenJobState": { "value": "ready", "timestamp": "2025-02-07T19:04:45.910Z" }, "operationTime": { "value": 0, "timestamp": "2025-02-07T19:04:44.815Z" } }, "samsungce.ovenMode": { "supportedOvenModes": { "value": ["Convection", "LargeGrill", "TopConvection"], "timestamp": "2025-02-07T19:04:44.989Z" }, "ovenMode": { "value": "NoOperation", "timestamp": "2025-02-07T19:04:45.835Z" } }, "samsungce.lamp": { "brightnessLevel": { "value": null }, "supportedBrightnessLevel": { "value": null } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-07T19:04:45.734Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ref_normal_000001.json000066400000000000000000000433061511701743400320300ustar00rootroot00000000000000{ "components": { "pantry-01": { "samsungce.fridgePantryInfo": { "name": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-02-07T10:47:54.524Z" } }, "samsungce.fridgePantryMode": { "mode": { "value": null }, "supportedModes": { "value": null } } }, "pantry-02": { "samsungce.fridgePantryInfo": { "name": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-02-07T10:47:54.524Z" } }, "samsungce.fridgePantryMode": { "mode": { "value": null }, "supportedModes": { "value": null } } }, "icemaker": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2024-10-12T13:55:04.008Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T13:55:01.720Z" } } }, "onedoor": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": null } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2024-11-08T04:14:59.899Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungce.freezerConvertMode", "custom.fridgeMode"], "timestamp": "2024-11-12T08:23:59.944Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": null }, "maximumSetpoint": { "value": null } }, "samsungce.freezerConvertMode": { "supportedFreezerConvertModes": { "value": null }, "freezerConvertMode": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } } }, "cooler": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-09T16:26:21.425Z" } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2024-11-08T04:14:59.899Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["custom.fridgeMode"], "timestamp": "2024-10-12T13:55:04.008Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 37, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 34, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" }, "maximumSetpoint": { "value": 44, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": 34, "maximum": 44, "step": 1 }, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" }, "coolingSetpoint": { "value": 37, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" } } }, "freezer": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-09T14:48:16.247Z" } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2024-11-08T04:14:59.899Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["custom.fridgeMode", "samsungce.freezerConvertMode"], "timestamp": "2024-11-08T01:09:17.382Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 0, "unit": "F", "timestamp": "2025-01-23T04:42:18.178Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": -8, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" }, "maximumSetpoint": { "value": 5, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" } }, "samsungce.freezerConvertMode": { "supportedFreezerConvertModes": { "value": null }, "freezerConvertMode": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": -8, "maximum": 5, "step": 1 }, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" }, "coolingSetpoint": { "value": 0, "unit": "F", "timestamp": "2025-01-19T21:07:55.764Z" } } }, "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-09T16:26:21.425Z" } }, "samsungce.dongleSoftwareInstallation": { "status": { "value": "completed", "timestamp": "2022-02-07T10:47:54.524Z" } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": 20, "timestamp": "2024-11-08T01:09:17.382Z" }, "binaryId": { "value": "TP2X_REF_20K", "timestamp": "2025-02-09T13:55:01.720Z" } }, "samsungce.quickControl": { "version": { "value": null } }, "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "A-RFWW-TP2-21-COMMON_20220110", "timestamp": "2024-12-21T22:04:22.037Z" }, "mnhw": { "value": "MediaTek", "timestamp": "2024-12-21T22:04:22.037Z" }, "di": { "value": "7db87911-7dce-1cf2-7119-b953432a2f09", "timestamp": "2024-12-21T22:04:22.037Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2024-12-21T22:04:22.037Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-12-21T22:04:22.037Z" }, "n": { "value": "[refrigerator] Samsung", "timestamp": "2024-12-21T22:04:22.037Z" }, "mnmo": { "value": "TP2X_REF_20K|00115641|0004014D011411200103000020000000", "timestamp": "2024-12-21T22:04:22.037Z" }, "vid": { "value": "DA-REF-NORMAL-000001", "timestamp": "2024-12-21T22:04:22.037Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-12-21T22:04:22.037Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2024-12-21T22:04:22.037Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2024-12-21T22:04:22.037Z" }, "mnos": { "value": "TizenRT 1.0 + IPv6", "timestamp": "2024-12-21T22:04:22.037Z" }, "pi": { "value": "7db87911-7dce-1cf2-7119-b953432a2f09", "timestamp": "2024-12-21T22:04:22.037Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-12-21T22:04:22.037Z" } }, "samsungce.fridgeVacationMode": { "vacationMode": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "temperatureMeasurement", "thermostatCoolingSetpoint", "custom.fridgeMode", "custom.deodorFilter", "samsungce.dongleSoftwareInstallation", "samsungce.quickControl", "samsungce.deviceInfoPrivate", "demandResponseLoadControl", "samsungce.fridgeVacationMode", "sec.diagnosticsInformation" ], "timestamp": "2025-02-09T13:55:01.720Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24100101, "timestamp": "2024-11-08T04:14:59.025Z" } }, "sec.diagnosticsInformation": { "logType": { "value": null }, "endpoint": { "value": null }, "minVersion": { "value": null }, "signinPermission": { "value": null }, "setupId": { "value": null }, "protocolType": { "value": null }, "tsId": { "value": null }, "mnId": { "value": null }, "dumpType": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": null }, "reportStateRealtime": { "value": { "state": "disabled" }, "timestamp": "2025-01-19T21:07:55.703Z" }, "reportStatePeriod": { "value": "enabled", "timestamp": "2025-01-19T21:07:55.703Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } }, "custom.disabledComponents": { "disabledComponents": { "value": [ "icemaker-02", "pantry-01", "pantry-02", "cvroom", "onedoor" ], "timestamp": "2024-11-08T01:09:17.382Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "duration": 0, "override": false }, "timestamp": "2025-01-19T21:07:55.691Z" } }, "samsungce.sabbathMode": { "supportedActions": { "value": ["on", "off"], "timestamp": "2025-01-19T21:07:55.799Z" }, "status": { "value": "off", "timestamp": "2025-01-19T21:07:55.799Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 1568087, "deltaEnergy": 7, "power": 6, "powerEnergy": 13.555977778169844, "persistedEnergy": 0, "energySaved": 0, "start": "2025-02-09T17:38:01Z", "end": "2025-02-09T17:49:00Z" }, "timestamp": "2025-02-09T17:49:00.507Z" } }, "refresh": {}, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.rm.micomdata"], "if": ["oic.if.baseline", "oic.if.a"], "x.com.samsung.rm.micomdata": "D0C0022B00000000000DFE15051F5AA54400000000000000000000000000000000000000000000000001F04A00C5E0", "x.com.samsung.rm.micomdataLength": 94 } }, "data": { "href": "/rm/micomdata/vs/0" }, "timestamp": "2023-07-19T05:25:39.852Z" } }, "refrigeration": { "defrost": { "value": "off", "timestamp": "2025-01-19T21:07:55.772Z" }, "rapidCooling": { "value": "off", "timestamp": "2025-01-19T21:07:55.725Z" }, "rapidFreezing": { "value": "off", "timestamp": "2025-01-19T21:07:55.725Z" } }, "custom.deodorFilter": { "deodorFilterCapacity": { "value": null }, "deodorFilterLastResetDate": { "value": null }, "deodorFilterStatus": { "value": null }, "deodorFilterResetType": { "value": null }, "deodorFilterUsage": { "value": null }, "deodorFilterUsageStep": { "value": null } }, "samsungce.powerCool": { "activated": { "value": false, "timestamp": "2025-01-19T21:07:55.725Z" } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2022-02-07T10:47:54.524Z" }, "energySavingSupport": { "value": false, "timestamp": "2022-02-07T10:47:54.524Z" }, "drMaxDuration": { "value": 1440, "unit": "min", "timestamp": "2022-02-07T11:39:47.504Z" }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": false, "timestamp": "2022-02-07T11:39:47.504Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-01-19T21:07:55.725Z" }, "otnDUID": { "value": "P7CNQWBWM3XBW", "timestamp": "2025-01-19T21:07:55.744Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-01-19T21:07:55.744Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-01-19T21:07:55.725Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "samsungce.powerFreeze": { "activated": { "value": false, "timestamp": "2025-01-19T21:07:55.725Z" } }, "custom.waterFilter": { "waterFilterUsageStep": { "value": 1, "timestamp": "2025-01-19T21:07:55.758Z" }, "waterFilterResetType": { "value": ["replaceable"], "timestamp": "2025-01-19T21:07:55.758Z" }, "waterFilterCapacity": { "value": null }, "waterFilterLastResetDate": { "value": null }, "waterFilterUsage": { "value": 100, "timestamp": "2025-02-09T04:02:12.910Z" }, "waterFilterStatus": { "value": "replace", "timestamp": "2025-02-09T04:02:12.910Z" } } }, "cvroom": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["temperatureMeasurement", "thermostatCoolingSetpoint"], "timestamp": "2022-02-07T11:39:42.105Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } } }, "icemaker-02": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-02-07T11:39:42.105Z" } }, "switch": { "switch": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ref_normal_01001.json000066400000000000000000000574301511701743400317540ustar00rootroot00000000000000{ "components": { "pantry-01": { "samsungce.foodDefrost": { "supportedOptions": { "value": null }, "foodType": { "value": null }, "weight": { "value": null }, "operationTime": { "value": null }, "remainingTime": { "value": null } }, "samsungce.fridgePantryInfo": { "name": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungce.meatAging", "samsungce.foodDefrost"], "timestamp": "2022-02-07T10:54:05.580Z" } }, "samsungce.meatAging": { "zoneInfo": { "value": null }, "supportedMeatTypes": { "value": null }, "supportedAgingMethods": { "value": null }, "status": { "value": null } }, "samsungce.fridgePantryMode": { "mode": { "value": null }, "supportedModes": { "value": null } } }, "icemaker": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-02-07T10:54:05.580Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-07T12:01:52.528Z" } } }, "scale-10": { "samsungce.connectionState": { "connectionState": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-02-07T10:54:05.580Z" } }, "samsungce.weightMeasurement": { "weight": { "value": null } }, "samsungce.scaleSettings": { "enabled": { "value": null } }, "samsungce.weightMeasurementCalibration": {} }, "scale-11": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-02-07T10:54:05.580Z" } }, "samsungce.weightMeasurement": { "weight": { "value": null } } }, "camera-01": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["switch"], "timestamp": "2023-12-17T11:19:18.845Z" } }, "switch": { "switch": { "value": null } } }, "cooler": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-09T00:23:41.655Z" } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2024-11-06T12:35:50.411Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2024-06-17T06:16:33.918Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 37, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 34, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" }, "maximumSetpoint": { "value": 44, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": 34, "maximum": 44, "step": 1 }, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" }, "coolingSetpoint": { "value": 37, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" } } }, "freezer": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-09T00:00:44.267Z" } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2024-11-06T12:35:50.411Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungce.freezerConvertMode"], "timestamp": "2024-11-06T09:00:29.743Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 0, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": -8, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" }, "maximumSetpoint": { "value": 5, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" } }, "samsungce.freezerConvertMode": { "supportedFreezerConvertModes": { "value": [], "timestamp": "2025-02-01T19:39:00.448Z" }, "freezerConvertMode": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": -8, "maximum": 5, "step": 1 }, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" }, "coolingSetpoint": { "value": 0, "unit": "F", "timestamp": "2025-02-01T19:39:00.493Z" } } }, "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-09T00:23:41.655Z" } }, "samsungce.viewInside": { "supportedFocusAreas": { "value": ["mainShelves"], "timestamp": "2025-02-01T19:39:00.946Z" }, "contents": { "value": [ { "fileId": "d3e1f875-f8b3-a031-737b-366eaa227773", "mimeType": "image/jpeg", "expiredTime": "2025-01-20T16:17:04Z", "focusArea": "mainShelves" }, { "fileId": "9fccb6b4-e71f-6c7f-9935-f6082bb6ccfe", "mimeType": "image/jpeg", "expiredTime": "2025-01-20T16:17:04Z", "focusArea": "mainShelves" }, { "fileId": "20b57a4d-b7fc-17fc-3a03-0fb84fb4efab", "mimeType": "image/jpeg", "expiredTime": "2025-01-20T16:17:05Z", "focusArea": "mainShelves" } ], "timestamp": "2025-01-20T16:07:05.423Z" }, "lastUpdatedTime": { "value": "2025-02-07T12:01:52Z", "timestamp": "2025-02-07T12:01:52.585Z" } }, "samsungce.fridgeFoodList": { "outOfSyncChanges": { "value": null }, "refreshResult": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": 19, "timestamp": "2024-11-06T09:00:29.743Z" }, "binaryId": { "value": "24K_REF_LCD_FHUB9.0", "timestamp": "2025-02-07T12:01:53.067Z" } }, "samsungce.quickControl": { "version": { "value": "1.0", "timestamp": "2025-02-01T19:39:01.848Z" } }, "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "ocf": { "st": { "value": "2024-11-08T11:56:59Z", "timestamp": "2025-01-02T12:37:43.756Z" }, "mndt": { "value": "", "timestamp": "2025-01-02T12:37:43.756Z" }, "mnfv": { "value": "20240616.213423", "timestamp": "2025-01-02T12:37:43.756Z" }, "mnhw": { "value": "", "timestamp": "2025-01-02T12:37:43.756Z" }, "di": { "value": "7d3feb98-8a36-4351-c362-5e21ad3a78dd", "timestamp": "2025-01-02T12:37:43.756Z" }, "mnsl": { "value": "", "timestamp": "2025-01-02T12:37:43.756Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-02T12:37:43.756Z" }, "n": { "value": "Family Hub", "timestamp": "2025-01-02T12:37:43.756Z" }, "mnmo": { "value": "24K_REF_LCD_FHUB9.0|00113141|0002034e051324200103000000000000", "timestamp": "2025-01-02T12:37:43.756Z" }, "vid": { "value": "DA-REF-NORMAL-01001", "timestamp": "2025-01-02T12:37:43.756Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-02T12:37:43.756Z" }, "mnml": { "value": "", "timestamp": "2025-01-02T12:37:43.756Z" }, "mnpv": { "value": "7.0", "timestamp": "2025-01-02T12:37:43.756Z" }, "mnos": { "value": "Tizen", "timestamp": "2025-01-02T12:37:43.756Z" }, "pi": { "value": "7d3feb98-8a36-4351-c362-5e21ad3a78dd", "timestamp": "2025-01-02T12:37:43.756Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-02T12:37:43.756Z" } }, "samsungce.fridgeVacationMode": { "vacationMode": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "thermostatCoolingSetpoint", "temperatureMeasurement", "custom.fridgeMode", "custom.deviceReportStateConfiguration", "samsungce.fridgeFoodList", "samsungce.runestoneHomeContext", "demandResponseLoadControl", "samsungce.fridgeVacationMode", "samsungce.sabbathMode" ], "timestamp": "2025-02-08T23:57:45.739Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24090102, "timestamp": "2024-11-06T09:00:29.743Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-01T19:39:00.523Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-01T19:39:00.523Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-01T19:39:00.523Z" }, "signinPermission": { "value": null }, "setupId": { "value": "500", "timestamp": "2025-02-01T19:39:00.523Z" }, "protocolType": { "value": "wifi_https", "timestamp": "2025-02-01T19:39:00.523Z" }, "tsId": { "value": null }, "mnId": { "value": "0AJT", "timestamp": "2025-02-01T19:39:00.523Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-01T19:39:00.523Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": null }, "reportStateRealtime": { "value": { "state": "disabled" }, "timestamp": "2025-02-01T19:39:00.345Z" }, "reportStatePeriod": { "value": "enabled", "timestamp": "2025-02-01T19:39:00.345Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } }, "custom.disabledComponents": { "disabledComponents": { "value": [ "icemaker-02", "icemaker-03", "pantry-01", "camera-01", "scale-10", "scale-11" ], "timestamp": "2025-02-07T12:01:52.638Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "duration": 0, "override": false }, "timestamp": "2025-02-01T19:38:59.899Z" } }, "samsungce.sabbathMode": { "supportedActions": { "value": null }, "status": { "value": null } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 4381422, "deltaEnergy": 27, "power": 144, "powerEnergy": 27.01890500307083, "persistedEnergy": 0, "energySaved": 0, "start": "2025-02-09T00:13:39Z", "end": "2025-02-09T00:25:23Z" }, "timestamp": "2025-02-09T00:25:23.843Z" } }, "refresh": {}, "samsungce.runestoneHomeContext": { "supportedContexts": { "value": [ { "context": "HOME_IN", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "ASLEEP", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "AWAKE", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "COOKING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_COOKING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "EATING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_EATING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "DOING_LAUNDRY", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_DOING_LAUNDRY", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "CLEANING_HOUSE", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_CLEANING_HOUSE", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "MUSIC_LISTENING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_MUSIC_LISTENING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "AIR_CONDITIONING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_AIR_CONDITIONING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "WASHING_DISHES", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_WASHING_DISHES", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "CARING_CLOTHING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_CARING_CLOTHING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "WATCHING_TV", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_WATCHING_TV", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "BEFORE_BEDTIME", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "BEFORE_COOKING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "BEFORE_HOME_OUT", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "ORDERING_DELIVERY_FOOD", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_ORDERING_DELIVERY_FOOD", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "ONLINE_GROCERY_SHOPPING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" }, { "context": "FINISH_ONLINE_GROCERY_SHOPPING", "place": "HOME", "startTime": "99:99", "endTime": "99:99" } ], "timestamp": "2025-02-01T19:39:02.150Z" } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.fridge"], "if": ["oic.if.a"], "x.com.samsung.da.rapidFridge": "Off", "x.com.samsung.da.rapidFreezing": "Off" } }, "data": { "href": "/refrigeration/vs/0" }, "timestamp": "2024-03-26T09:06:17.169Z" } }, "sec.wifiConfiguration": { "autoReconnection": { "value": true, "timestamp": "2025-02-01T19:39:01.951Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-01T19:39:01.951Z" }, "supportedWiFiFreq": { "value": ["2.4G", "5G"], "timestamp": "2025-02-01T19:39:01.951Z" }, "supportedAuthType": { "value": ["OPEN", "WEP", "WPA-PSK", "WPA2-PSK"], "timestamp": "2025-02-01T19:39:01.951Z" }, "protocolType": { "value": ["helper_hotspot"], "timestamp": "2025-02-01T19:39:01.951Z" } }, "refrigeration": { "defrost": { "value": "off", "timestamp": "2025-02-01T19:38:59.276Z" }, "rapidCooling": { "value": "off", "timestamp": "2025-02-01T19:39:00.497Z" }, "rapidFreezing": { "value": "off", "timestamp": "2025-02-01T19:39:00.497Z" } }, "samsungce.powerCool": { "activated": { "value": false, "timestamp": "2025-02-01T19:39:00.497Z" } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2022-02-07T10:54:05.580Z" }, "energySavingSupport": { "value": false, "timestamp": "2022-02-07T10:57:35.490Z" }, "drMaxDuration": { "value": 1440, "unit": "min", "timestamp": "2022-02-07T11:50:40.228Z" }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": false, "timestamp": "2022-02-07T11:50:40.228Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-02-01T19:39:00.200Z" }, "otnDUID": { "value": "2DCEZFTFQZPMO", "timestamp": "2025-02-01T19:39:00.523Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-01T19:39:00.523Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-01T19:39:00.200Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "samsungce.powerFreeze": { "activated": { "value": false, "timestamp": "2025-02-01T19:39:00.497Z" } }, "custom.waterFilter": { "waterFilterUsageStep": { "value": 1, "timestamp": "2025-02-01T19:38:59.973Z" }, "waterFilterResetType": { "value": ["replaceable"], "timestamp": "2025-02-01T19:38:59.973Z" }, "waterFilterCapacity": { "value": null }, "waterFilterLastResetDate": { "value": null }, "waterFilterUsage": { "value": 52, "timestamp": "2025-02-08T05:06:45.769Z" }, "waterFilterStatus": { "value": "normal", "timestamp": "2025-02-01T19:38:59.973Z" } } }, "cvroom": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": "CV_FDR_DELI", "timestamp": "2025-02-01T19:39:00.448Z" }, "supportedFridgeModes": { "value": [ "CV_FDR_WINE", "CV_FDR_DELI", "CV_FDR_BEVERAGE", "CV_FDR_MEAT" ], "timestamp": "2025-02-01T19:39:00.448Z" } }, "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-08T23:22:04.631Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2021-07-27T01:19:43.145Z" } } }, "icemaker-02": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2022-07-28T18:47:07.039Z" } }, "switch": { "switch": { "value": null } } }, "icemaker-03": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2023-12-15T01:05:09.803Z" } }, "switch": { "switch": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ref_normal_01011.json000066400000000000000000000544031511701743400317520ustar00rootroot00000000000000{ "components": { "pantry-01": { "samsungce.foodDefrost": { "supportedOptions": { "value": null }, "foodType": { "value": null }, "weight": { "value": null }, "operationTime": { "value": null }, "remainingTime": { "value": null } }, "samsungce.fridgePantryInfo": { "name": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "samsungce.meatAging": { "zoneInfo": { "value": null }, "supportedMeatTypes": { "value": null }, "supportedAgingMethods": { "value": null }, "status": { "value": null } }, "samsungce.fridgePantryMode": { "mode": { "value": null }, "supportedModes": { "value": null } } }, "pantry-02": { "samsungce.foodDefrost": { "supportedOptions": { "value": null }, "foodType": { "value": null }, "weight": { "value": null }, "operationTime": { "value": null }, "remainingTime": { "value": null } }, "samsungce.fridgePantryInfo": { "name": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "samsungce.meatAging": { "zoneInfo": { "value": null }, "supportedMeatTypes": { "value": null }, "supportedAgingMethods": { "value": null }, "status": { "value": null } }, "samsungce.fridgePantryMode": { "mode": { "value": null }, "supportedModes": { "value": null } } }, "icemaker": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2025-02-02T13:55:47.067Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-10T07:25:45.714Z" } } }, "onedoor": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": null } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungce.freezerConvertMode", "custom.fridgeMode"], "timestamp": "2025-02-02T13:55:49.569Z" } }, "samsungce.temperatureSetting": { "supportedDesiredTemperatures": { "value": null }, "desiredTemperature": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": null }, "maximumSetpoint": { "value": null } }, "samsungce.freezerConvertMode": { "supportedFreezerConvertModes": { "value": null }, "freezerConvertMode": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } } }, "scale-10": { "samsungce.connectionState": { "connectionState": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "samsungce.weightMeasurement": { "weight": { "value": null } }, "samsungce.weightMeasurementCalibration": {} }, "scale-11": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "samsungce.weightMeasurement": { "weight": { "value": null } } }, "cooler": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-10T09:18:48.798Z" } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["custom.fridgeMode", "samsungce.temperatureSetting"], "timestamp": "2025-02-02T13:55:51.343Z" } }, "samsungce.temperatureSetting": { "supportedDesiredTemperatures": { "value": null }, "desiredTemperature": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 4, "unit": "C", "timestamp": "2025-02-02T13:55:47.062Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 1, "unit": "C", "timestamp": "2025-02-02T13:55:47.062Z" }, "maximumSetpoint": { "value": 7, "unit": "C", "timestamp": "2025-02-02T13:55:47.062Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": 1, "maximum": 7, "step": 1 }, "unit": "C", "timestamp": "2025-02-02T13:55:47.062Z" }, "coolingSetpoint": { "value": 4, "unit": "C", "timestamp": "2025-02-02T13:55:47.062Z" } } }, "freezer": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-10T08:45:49.322Z" } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "custom.fridgeMode", "samsungce.temperatureSetting", "samsungce.freezerConvertMode" ], "timestamp": "2025-02-02T13:55:51.343Z" } }, "samsungce.temperatureSetting": { "supportedDesiredTemperatures": { "value": null }, "desiredTemperature": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": -18, "unit": "C", "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": -23, "unit": "C", "timestamp": "2025-02-02T13:55:47.067Z" }, "maximumSetpoint": { "value": -15, "unit": "C", "timestamp": "2025-02-02T13:55:47.067Z" } }, "samsungce.freezerConvertMode": { "supportedFreezerConvertModes": { "value": null }, "freezerConvertMode": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": -23, "maximum": -15, "step": 1 }, "unit": "C", "timestamp": "2025-02-02T13:55:47.067Z" }, "coolingSetpoint": { "value": -18, "unit": "C", "timestamp": "2025-02-02T13:55:47.067Z" } } }, "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-10T09:18:48.798Z" } }, "samsungce.fridgeWelcomeLighting": { "detectionProximity": { "value": null }, "supportedDetectionProximities": { "value": null }, "status": { "value": null } }, "samsungce.viewInside": { "supportedFocusAreas": { "value": null }, "contents": { "value": null }, "lastUpdatedTime": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "TP1X_REF_21K", "timestamp": "2025-02-09T19:35:11.422Z" } }, "samsungce.quickControl": { "version": { "value": "1.0", "timestamp": "2025-02-02T13:55:47.062Z" } }, "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "A-RFWW-TP1-24-T4-COM_20240908", "timestamp": "2025-02-02T13:55:47.920Z" }, "mnhw": { "value": "Realtek", "timestamp": "2025-02-02T13:55:47.920Z" }, "di": { "value": "aafdee8c-4ede-2ed7-9d29-d596b84d65aa", "timestamp": "2025-02-02T13:55:47.920Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2025-02-02T13:55:47.920Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-02-02T13:55:47.920Z" }, "n": { "value": "Samsung-Refrigerator", "timestamp": "2025-02-02T13:55:47.920Z" }, "mnmo": { "value": "TP1X_REF_21K|00175041|00040141041811304104000020010000", "timestamp": "2025-02-02T13:55:47.920Z" }, "vid": { "value": "DA-REF-NORMAL-01011", "timestamp": "2025-02-02T13:55:47.920Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-02-02T13:55:47.920Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2025-02-02T13:55:47.920Z" }, "mnpv": { "value": "SYSTEM 2.0", "timestamp": "2025-02-02T13:55:47.920Z" }, "mnos": { "value": "TizenRT 4.0", "timestamp": "2025-02-02T13:55:47.920Z" }, "pi": { "value": "aafdee8c-4ede-2ed7-9d29-d596b84d65aa", "timestamp": "2025-02-02T13:55:47.920Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-02-02T13:55:47.920Z" } }, "samsungce.fridgeVacationMode": { "vacationMode": { "value": "off", "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "temperatureMeasurement", "thermostatCoolingSetpoint", "custom.fridgeMode", "custom.deodorFilter", "custom.dustFilter", "samsungce.viewInside", "samsungce.fridgeWelcomeLighting", "samsungce.sabbathMode" ], "timestamp": "2025-02-02T13:55:51.343Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24090102, "timestamp": "2025-02-02T13:55:47.067Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-02T13:55:47.067Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-02T13:55:47.067Z" }, "minVersion": { "value": "3.0", "timestamp": "2025-02-02T13:55:47.067Z" }, "signinPermission": { "value": null }, "setupId": { "value": "RA2", "timestamp": "2025-02-02T13:55:47.067Z" }, "protocolType": { "value": "ble_ocf", "timestamp": "2025-02-02T13:55:47.067Z" }, "tsId": { "value": "DA01", "timestamp": "2025-02-02T13:55:47.067Z" }, "mnId": { "value": "0AJT", "timestamp": "2025-02-02T13:55:47.067Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-02T13:55:47.067Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": null }, "reportStateRealtime": { "value": { "state": "disabled" }, "timestamp": "2025-02-02T13:55:47.067Z" }, "reportStatePeriod": { "value": "enabled", "timestamp": "2025-02-02T13:55:47.067Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } }, "custom.disabledComponents": { "disabledComponents": { "value": [ "icemaker-02", "icemaker-03", "pantry-01", "pantry-02", "scale-10", "scale-11", "cvroom", "onedoor" ], "timestamp": "2025-02-02T13:55:47.067Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "duration": 0, "override": false }, "timestamp": "2025-02-02T13:55:47.067Z" } }, "samsungce.sabbathMode": { "supportedActions": { "value": null }, "status": { "value": null } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 12123, "deltaEnergy": 7, "power": 3, "powerEnergy": 7.828951666355133, "persistedEnergy": 0, "energySaved": 0, "persistedSavedEnergy": 0, "start": "2025-02-10T11:21:15Z", "end": "2025-02-10T11:32:26Z" }, "timestamp": "2025-02-10T11:32:26.061Z" } }, "refresh": {}, "execute": { "data": { "value": null } }, "sec.wifiConfiguration": { "autoReconnection": { "value": true, "timestamp": "2025-02-02T13:55:47.062Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-02T13:55:47.062Z" }, "supportedWiFiFreq": { "value": ["2.4G"], "timestamp": "2025-02-02T13:55:47.062Z" }, "supportedAuthType": { "value": ["OPEN", "WEP", "WPA-PSK", "WPA2-PSK", "SAE"], "timestamp": "2025-02-02T13:55:47.062Z" }, "protocolType": { "value": ["helper_hotspot", "ble_ocf"], "timestamp": "2025-02-02T13:55:47.062Z" } }, "samsungce.selfCheck": { "result": { "value": "passed", "timestamp": "2025-02-02T13:55:47.067Z" }, "supportedActions": { "value": ["start"], "timestamp": "2025-02-02T13:55:47.067Z" }, "progress": { "value": null }, "errors": { "value": [], "timestamp": "2025-02-02T13:55:47.067Z" }, "status": { "value": "ready", "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.dustFilter": { "dustFilterUsageStep": { "value": null }, "dustFilterUsage": { "value": null }, "dustFilterLastResetDate": { "value": null }, "dustFilterStatus": { "value": null }, "dustFilterCapacity": { "value": null }, "dustFilterResetType": { "value": null } }, "refrigeration": { "defrost": { "value": null }, "rapidCooling": { "value": "off", "timestamp": "2025-02-02T13:55:47.067Z" }, "rapidFreezing": { "value": "off", "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.deodorFilter": { "deodorFilterCapacity": { "value": null }, "deodorFilterLastResetDate": { "value": null }, "deodorFilterStatus": { "value": null }, "deodorFilterResetType": { "value": null }, "deodorFilterUsage": { "value": null }, "deodorFilterUsageStep": { "value": null } }, "samsungce.powerCool": { "activated": { "value": false, "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2025-02-02T13:55:47.067Z" }, "energySavingSupport": { "value": true, "timestamp": "2025-02-02T13:55:47.067Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2025-02-02T13:55:49.679Z" }, "energySavingLevel": { "value": 1, "timestamp": "2025-02-02T13:55:47.067Z" }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": [1, 2], "timestamp": "2025-02-02T13:55:47.067Z" }, "energySavingOperation": { "value": false, "timestamp": "2025-02-02T13:55:47.067Z" }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": true, "timestamp": "2025-02-02T13:55:47.067Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-02-02T13:55:49.502Z" }, "otnDUID": { "value": "RLCFUCFW3Q724", "timestamp": "2025-02-02T13:55:47.067Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-02T13:55:47.067Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-02T13:55:47.067Z" }, "operatingState": { "value": "none", "timestamp": "2025-02-02T13:55:49.502Z" }, "progress": { "value": 0, "unit": "%", "timestamp": "2025-02-02T13:55:49.502Z" } }, "samsungce.powerFreeze": { "activated": { "value": false, "timestamp": "2025-02-02T13:55:47.067Z" } }, "custom.waterFilter": { "waterFilterUsageStep": { "value": 1, "timestamp": "2025-02-02T13:55:47.067Z" }, "waterFilterResetType": { "value": ["replaceable"], "timestamp": "2025-02-02T13:55:47.067Z" }, "waterFilterCapacity": { "value": null }, "waterFilterLastResetDate": { "value": null }, "waterFilterUsage": { "value": 5, "timestamp": "2025-02-09T10:14:16.505Z" }, "waterFilterStatus": { "value": "normal", "timestamp": "2025-02-02T13:55:47.067Z" } } }, "cvroom": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } } }, "icemaker-02": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "switch": { "switch": { "value": null } } }, "icemaker-03": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "switch": { "switch": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_ref_normal_01011_1.json000066400000000000000000000540241511701743400321710ustar00rootroot00000000000000{ "components": { "pantry-01": { "samsungce.foodDefrost": { "supportedOptions": { "value": null }, "foodType": { "value": null }, "weight": { "value": null }, "operationTime": { "value": null }, "remainingTime": { "value": null } }, "samsungce.fridgePantryInfo": { "name": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "samsungce.meatAging": { "zoneInfo": { "value": null }, "supportedMeatTypes": { "value": null }, "supportedAgingMethods": { "value": null }, "status": { "value": null } }, "samsungce.fridgePantryMode": { "mode": { "value": null }, "supportedModes": { "value": null } } }, "pantry-02": { "samsungce.foodDefrost": { "supportedOptions": { "value": null }, "foodType": { "value": null }, "weight": { "value": null }, "operationTime": { "value": null }, "remainingTime": { "value": null } }, "samsungce.fridgePantryInfo": { "name": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "samsungce.meatAging": { "zoneInfo": { "value": null }, "supportedMeatTypes": { "value": null }, "supportedAgingMethods": { "value": null }, "status": { "value": null } }, "samsungce.fridgePantryMode": { "mode": { "value": null }, "supportedModes": { "value": null } } }, "icemaker": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "switch": { "switch": { "value": null } } }, "onedoor": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": null } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2024-11-08T03:20:51.831Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungce.freezerConvertMode", "custom.fridgeMode"], "timestamp": "2024-11-09T03:04:30.800Z" } }, "samsungce.temperatureSetting": { "supportedDesiredTemperatures": { "value": null }, "desiredTemperature": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": null }, "maximumSetpoint": { "value": null } }, "samsungce.freezerConvertMode": { "supportedFreezerConvertModes": { "value": null }, "freezerConvertMode": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } } }, "scale-10": { "samsungce.connectionState": { "connectionState": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "samsungce.weightMeasurement": { "weight": { "value": null } }, "samsungce.weightMeasurementCalibration": {} }, "scale-11": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "samsungce.weightMeasurement": { "weight": { "value": null } } }, "cooler": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-11T19:15:11.911Z" } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2024-11-08T03:20:51.831Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["custom.fridgeMode", "samsungce.temperatureSetting"], "timestamp": "2024-05-26T09:29:05.144Z" } }, "samsungce.temperatureSetting": { "supportedDesiredTemperatures": { "value": null }, "desiredTemperature": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 4, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 1, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" }, "maximumSetpoint": { "value": 7, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": 1, "maximum": 7, "step": 1 }, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" }, "coolingSetpoint": { "value": 4, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" } } }, "freezer": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": "closed", "timestamp": "2024-05-26T09:29:02.882Z" } }, "samsungce.unavailableCapabilities": { "unavailableCommands": { "value": [], "timestamp": "2024-11-08T03:20:51.831Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "custom.fridgeMode", "samsungce.temperatureSetting", "samsungce.freezerConvertMode" ], "timestamp": "2024-11-08T03:20:51.831Z" } }, "samsungce.temperatureSetting": { "supportedDesiredTemperatures": { "value": null }, "desiredTemperature": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": -19, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": -23, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" }, "maximumSetpoint": { "value": -15, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" } }, "samsungce.freezerConvertMode": { "supportedFreezerConvertModes": { "value": null }, "freezerConvertMode": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "minimum": -23, "maximum": -15, "step": 1 }, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" }, "coolingSetpoint": { "value": -19, "unit": "C", "timestamp": "2024-12-05T07:30:41.080Z" } } }, "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-11T19:15:11.911Z" } }, "samsungce.fridgeWelcomeLighting": { "detectionProximity": { "value": null }, "supportedDetectionProximities": { "value": null }, "status": { "value": null } }, "samsungce.viewInside": { "supportedFocusAreas": { "value": null }, "contents": { "value": null }, "lastUpdatedTime": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": 22, "timestamp": "2024-11-08T03:20:51.831Z" }, "binaryId": { "value": "TP1X_REF_21K", "timestamp": "2025-02-11T08:21:17.617Z" } }, "samsungce.quickControl": { "version": { "value": null } }, "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "A-RFWW-TP1-22-REV1_20240912", "timestamp": "2024-11-09T03:04:29.566Z" }, "mnhw": { "value": "Realtek", "timestamp": "2024-11-09T03:04:29.566Z" }, "di": { "value": "8d2d636b-8e36-e97b-5628-5f2fa27bc344", "timestamp": "2024-11-09T03:04:29.566Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2024-11-09T03:04:29.566Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-11-09T03:04:29.566Z" }, "n": { "value": "Samsung-Refrigerator", "timestamp": "2024-11-09T03:04:29.566Z" }, "mnmo": { "value": "TP1X_REF_21K|00156941|00050126001611304100000030010000", "timestamp": "2024-11-09T03:04:29.566Z" }, "vid": { "value": "DA-REF-NORMAL-01011", "timestamp": "2024-11-09T03:04:29.566Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-11-09T03:04:29.566Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2024-11-09T03:04:29.566Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2024-11-09T03:04:29.566Z" }, "mnos": { "value": "TizenRT 3.1", "timestamp": "2024-11-09T03:04:29.566Z" }, "pi": { "value": "8d2d636b-8e36-e97b-5628-5f2fa27bc344", "timestamp": "2024-11-09T03:04:29.566Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-11-09T03:04:29.566Z" } }, "samsungce.fridgeVacationMode": { "vacationMode": { "value": "off", "timestamp": "2024-12-05T07:30:40.989Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "temperatureMeasurement", "thermostatCoolingSetpoint", "custom.fridgeMode", "custom.deodorFilter", "custom.waterFilter", "custom.dustFilter", "samsungce.viewInside", "samsungce.fridgeWelcomeLighting", "samsungce.quickControl", "samsungce.deviceInfoPrivate", "samsungce.sabbathMode" ], "timestamp": "2024-11-08T22:20:12.270Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24090102, "timestamp": "2024-11-08T03:20:51.831Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2024-12-05T07:30:40.904Z" }, "endpoint": { "value": "SSM", "timestamp": "2024-12-05T07:30:40.904Z" }, "minVersion": { "value": "1.0", "timestamp": "2024-12-05T07:30:40.904Z" }, "signinPermission": { "value": null }, "setupId": { "value": "RB0", "timestamp": "2024-12-05T07:30:40.904Z" }, "protocolType": { "value": "wifi_https", "timestamp": "2024-12-05T07:30:40.904Z" }, "tsId": { "value": null }, "mnId": { "value": "0AJT", "timestamp": "2024-12-05T07:30:40.904Z" }, "dumpType": { "value": "file", "timestamp": "2024-12-05T07:30:40.904Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": null }, "reportStateRealtime": { "value": { "state": "disabled" }, "timestamp": "2024-12-05T07:30:40.961Z" }, "reportStatePeriod": { "value": "enabled", "timestamp": "2024-12-05T07:30:40.961Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } }, "custom.disabledComponents": { "disabledComponents": { "value": [ "icemaker", "icemaker-02", "icemaker-03", "pantry-01", "pantry-02", "scale-10", "scale-11", "cvroom", "onedoor" ], "timestamp": "2024-11-08T03:20:51.831Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "duration": 0, "override": false }, "timestamp": "2024-12-05T07:30:40.812Z" } }, "samsungce.sabbathMode": { "supportedActions": { "value": null }, "status": { "value": null } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 165156, "deltaEnergy": 1, "power": 1, "powerEnergy": 10.563493334319856, "persistedEnergy": 0, "energySaved": 0, "persistedSavedEnergy": 0, "start": "2025-02-11T18:48:09Z", "end": "2025-02-11T19:04:49Z" }, "timestamp": "2025-02-11T19:04:49.761Z" } }, "refresh": {}, "execute": { "data": { "value": null } }, "sec.wifiConfiguration": { "autoReconnection": { "value": true, "timestamp": "2024-12-05T07:30:41.979Z" }, "minVersion": { "value": "1.0", "timestamp": "2024-12-05T07:30:41.979Z" }, "supportedWiFiFreq": { "value": ["2.4G"], "timestamp": "2024-12-05T07:30:41.979Z" }, "supportedAuthType": { "value": ["OPEN", "WEP", "WPA-PSK", "WPA2-PSK", "SAE"], "timestamp": "2024-12-05T07:30:41.979Z" }, "protocolType": { "value": ["helper_hotspot"], "timestamp": "2024-12-05T07:30:41.979Z" } }, "samsungce.selfCheck": { "result": { "value": "passed", "timestamp": "2024-12-05T07:30:40.995Z" }, "supportedActions": { "value": ["start"], "timestamp": "2024-12-05T07:30:40.995Z" }, "progress": { "value": null }, "errors": { "value": [], "timestamp": "2024-12-05T07:30:40.995Z" }, "status": { "value": "ready", "timestamp": "2024-12-05T07:30:40.995Z" } }, "custom.dustFilter": { "dustFilterUsageStep": { "value": null }, "dustFilterUsage": { "value": null }, "dustFilterLastResetDate": { "value": null }, "dustFilterStatus": { "value": null }, "dustFilterCapacity": { "value": null }, "dustFilterResetType": { "value": null } }, "refrigeration": { "defrost": { "value": null }, "rapidCooling": { "value": "off", "timestamp": "2024-12-05T07:30:40.861Z" }, "rapidFreezing": { "value": "off", "timestamp": "2024-12-05T07:30:40.861Z" } }, "custom.deodorFilter": { "deodorFilterCapacity": { "value": null }, "deodorFilterLastResetDate": { "value": null }, "deodorFilterStatus": { "value": null }, "deodorFilterResetType": { "value": null }, "deodorFilterUsage": { "value": null }, "deodorFilterUsageStep": { "value": null } }, "samsungce.powerCool": { "activated": { "value": false, "timestamp": "2024-12-05T07:30:40.861Z" } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2024-05-26T09:29:02.882Z" }, "energySavingSupport": { "value": true, "timestamp": "2024-10-31T11:55:32.553Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2024-05-26T09:29:03.768Z" }, "energySavingLevel": { "value": 1, "timestamp": "2024-05-26T09:29:02.882Z" }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": [1, 2], "timestamp": "2024-05-26T09:29:02.882Z" }, "energySavingOperation": { "value": false, "timestamp": "2024-12-05T07:30:40.812Z" }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": true, "timestamp": "2024-05-26T09:29:02.882Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2024-12-05T07:30:40.989Z" }, "otnDUID": { "value": "U7CPH4AITNP5W", "timestamp": "2024-12-05T07:30:40.904Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2024-12-05T07:30:40.904Z" }, "newVersionAvailable": { "value": false, "timestamp": "2024-12-05T07:30:40.904Z" }, "operatingState": { "value": "none", "timestamp": "2024-12-05T07:30:40.989Z" }, "progress": { "value": 0, "unit": "%", "timestamp": "2024-06-03T09:57:26.337Z" } }, "samsungce.powerFreeze": { "activated": { "value": false, "timestamp": "2024-12-05T07:30:40.861Z" } }, "custom.waterFilter": { "waterFilterUsageStep": { "value": null }, "waterFilterResetType": { "value": null }, "waterFilterCapacity": { "value": null }, "waterFilterLastResetDate": { "value": null }, "waterFilterUsage": { "value": null }, "waterFilterStatus": { "value": null } } }, "cvroom": { "custom.fridgeMode": { "fridgeModeValue": { "value": null }, "fridgeMode": { "value": null }, "supportedFridgeModes": { "value": null } }, "contactSensor": { "contact": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": null } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": null } } }, "icemaker-02": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "switch": { "switch": { "value": null } } }, "icemaker-03": { "custom.disabledCapabilities": { "disabledCapabilities": { "value": null } }, "switch": { "switch": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_rvc_normal_000001.json000066400000000000000000000163521511701743400320470ustar00rootroot00000000000000{ "components": { "main": { "custom.disabledComponents": { "disabledComponents": { "value": ["station"], "timestamp": "2020-11-03T04:43:07.114Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": null, "timestamp": "2020-11-03T04:43:07.092Z" } }, "refresh": {}, "samsungce.robotCleanerOperatingState": { "supportedOperatingState": { "value": [ "homing", "error", "idle", "charging", "chargingForRemainingJob", "paused", "cleaning" ], "timestamp": "2020-11-03T04:43:06.547Z" }, "operatingState": { "value": "idle", "timestamp": "2023-06-18T15:59:24.580Z" }, "cleaningStep": { "value": null }, "homingReason": { "value": "none", "timestamp": "2020-11-03T04:43:22.926Z" }, "isMapBasedOperationAvailable": { "value": null } }, "battery": { "quantity": { "value": null }, "battery": { "value": 100, "unit": "%", "timestamp": "2022-09-09T22:55:13.962Z" }, "type": { "value": null } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.alarms"], "if": ["oic.if.baseline", "oic.if.a"], "x.com.samsung.da.items": [ { "x.com.samsung.da.code": "4", "x.com.samsung.da.alarmType": "Device", "x.com.samsung.da.triggeredTime": "2023-06-18T15:59:30", "x.com.samsung.da.state": "deleted" } ] } }, "data": { "href": "/alarms/vs/0" }, "timestamp": "2023-06-18T15:59:28.267Z" } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2023-06-18T15:59:27.658Z" } }, "robotCleanerTurboMode": { "robotCleanerTurboMode": { "value": "off", "timestamp": "2022-09-08T02:53:49.826Z" } }, "ocf": { "st": { "value": null, "timestamp": "2020-06-02T23:30:52.793Z" }, "mndt": { "value": null, "timestamp": "2020-06-03T13:34:18.508Z" }, "mnfv": { "value": "1.0", "timestamp": "2019-07-07T19:45:19.771Z" }, "mnhw": { "value": "1.0", "timestamp": "2019-07-07T19:45:19.771Z" }, "di": { "value": "3442dfc6-17c0-a65f-dae0-4c6e01786f44", "timestamp": "2019-07-07T19:45:19.771Z" }, "mnsl": { "value": null, "timestamp": "2020-06-03T00:49:53.813Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2021-12-23T07:09:40.610Z" }, "n": { "value": "[robot vacuum] Samsung", "timestamp": "2019-07-07T19:45:19.771Z" }, "mnmo": { "value": "powerbot_7000_17M|50016055|80010404011141000100000000000000", "timestamp": "2022-09-07T06:42:36.551Z" }, "vid": { "value": "DA-RVC-NORMAL-000001", "timestamp": "2019-07-07T19:45:19.771Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2019-07-07T19:45:19.771Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2019-07-07T19:45:19.771Z" }, "mnpv": { "value": "00", "timestamp": "2019-07-07T19:45:19.771Z" }, "mnos": { "value": "Tizen(3/0)", "timestamp": "2019-07-07T19:45:19.771Z" }, "pi": { "value": "3442dfc6-17c0-a65f-dae0-4c6e01786f44", "timestamp": "2019-07-07T19:45:19.771Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2019-07-07T19:45:19.771Z" } }, "samsungce.robotCleanerCleaningMode": { "supportedCleaningMode": { "value": ["auto", "spot", "manual", "stop"], "timestamp": "2020-11-03T04:43:06.547Z" }, "repeatModeEnabled": { "value": false, "timestamp": "2020-12-21T01:32:56.245Z" }, "supportRepeatMode": { "value": true, "timestamp": "2020-11-03T04:43:06.547Z" }, "cleaningMode": { "value": "stop", "timestamp": "2022-09-09T21:25:20.601Z" } }, "robotCleanerMovement": { "robotCleanerMovement": { "value": "idle", "timestamp": "2023-06-18T15:59:24.580Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "samsungce.robotCleanerMapAreaInfo", "samsungce.robotCleanerMapCleaningInfo", "samsungce.robotCleanerPatrol", "samsungce.robotCleanerPetMonitoring", "samsungce.robotCleanerPetMonitoringReport", "samsungce.robotCleanerPetCleaningSchedule", "soundDetection", "samsungce.soundDetectionSensitivity", "samsungce.musicPlaylist", "mediaPlayback", "mediaTrackControl", "imageCapture", "videoCapture", "audioVolume", "audioMute", "audioNotification", "powerConsumptionReport", "custom.hepaFilter", "samsungce.robotCleanerMotorFilter", "samsungce.robotCleanerRelayCleaning", "audioTrackAddressing", "samsungce.robotCleanerWelcome" ], "timestamp": "2022-09-08T01:03:48.820Z" } }, "robotCleanerCleaningMode": { "robotCleanerCleaningMode": { "value": "stop", "timestamp": "2022-09-09T21:25:20.601Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": null }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": null }, "newVersionAvailable": { "value": null }, "operatingState": { "value": null }, "progress": { "value": null } }, "samsungce.driverVersion": { "versionNumber": { "value": 22100101, "timestamp": "2022-11-01T09:26:07.107Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_sac_indoor_00001_sub.json000066400000000000000000000270171511701743400326160ustar00rootroot00000000000000{ "components": { "main": { "relativeHumidityMeasurement": { "humidity": { "value": null } }, "custom.thermostatSetpointControl": { "minimumSetpoint": { "value": 16, "unit": "C", "timestamp": "2025-02-03T18:06:13.570Z" }, "maximumSetpoint": { "value": 30, "unit": "C", "timestamp": "2025-01-29T22:00:58.071Z" } }, "airConditionerMode": { "availableAcModes": { "value": null }, "supportedAcModes": { "value": ["auto", "cool", "dry", "wind", "heat"], "timestamp": "2025-01-29T22:00:58.071Z" }, "airConditionerMode": { "value": "cool", "timestamp": "2025-02-09T15:42:13.241Z" } }, "custom.spiMode": { "spiMode": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "SAC_RAC", "timestamp": "2025-02-09T15:42:13.241Z" } }, "airQualitySensor": { "airQuality": { "value": null } }, "custom.airConditionerOptionalMode": { "supportedAcOptionalMode": { "value": ["windFree", "off"], "timestamp": "2025-02-09T15:42:13.241Z" }, "acOptionalMode": { "value": "off", "timestamp": "2025-02-09T15:42:13.241Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T15:42:13.241Z" } }, "ocf": { "st": { "value": "2025-02-05T04:20:51Z", "timestamp": "2025-02-09T15:42:12.710Z" }, "mndt": { "value": "", "timestamp": "2025-02-09T15:42:12.710Z" }, "mnfv": { "value": "20240611.1", "timestamp": "2025-02-09T15:42:12.710Z" }, "mnhw": { "value": "", "timestamp": "2025-02-09T15:42:12.710Z" }, "di": { "value": "0e168539-061a-5f02-2beb-000001200000", "timestamp": "2025-02-09T15:42:12.711Z" }, "mnsl": { "value": "", "timestamp": "2025-02-09T15:42:12.710Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-02-09T15:42:12.711Z" }, "n": { "value": "Air Conditioner", "timestamp": "2025-02-09T15:42:12.711Z" }, "mnmo": { "value": "SAC_RAC|230127|610C0A00001700890400010000000000", "timestamp": "2025-02-09T15:42:12.710Z" }, "vid": { "value": "DA-SAC-INDOOR-000001-SUB", "timestamp": "2025-02-09T15:42:12.710Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-02-09T15:42:12.710Z" }, "mnml": { "value": "", "timestamp": "2025-02-09T15:42:12.710Z" }, "mnpv": { "value": "4.0", "timestamp": "2025-02-09T15:42:12.710Z" }, "mnos": { "value": "Tizen", "timestamp": "2025-02-09T15:42:12.710Z" }, "pi": { "value": "0e168539-061a-5f02-2beb-000001200000", "timestamp": "2025-02-09T15:42:12.710Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-02-09T15:42:12.711Z" } }, "airConditionerFanMode": { "fanMode": { "value": "auto", "timestamp": "2025-02-09T15:42:13.241Z" }, "supportedAcFanModes": { "value": ["auto", "low", "medium", "high", "turbo"], "timestamp": "2025-01-29T22:00:58.071Z" }, "availableAcFanModes": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "custom.spiMode", "remoteControlStatus", "relativeHumidityMeasurement", "demandResponseLoadControl", "custom.veryFineDustFilter", "custom.hepaFilter", "custom.deodorFilter", "airQualitySensor", "dustSensor", "veryFineDustSensor" ], "timestamp": "2025-02-09T15:42:13.241Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 23060101, "timestamp": "2025-01-29T22:00:57.325Z" } }, "fanOscillationMode": { "supportedFanOscillationModes": { "value": ["horizontal", "vertical", "all", "fixed"], "timestamp": "2025-01-29T22:00:58.071Z" }, "availableFanOscillationModes": { "value": null }, "fanOscillationMode": { "value": "fixed", "timestamp": "2025-02-09T15:42:13.241Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 30.2, "unit": "C", "timestamp": "2025-02-09T15:41:08.097Z" } }, "custom.hepaFilter": { "hepaFilterCapacity": { "value": null }, "hepaFilterStatus": { "value": null }, "hepaFilterResetType": { "value": null }, "hepaFilterUsageStep": { "value": null }, "hepaFilterUsage": { "value": null }, "hepaFilterLastResetDate": { "value": null } }, "dustSensor": { "dustLevel": { "value": null }, "fineDustLevel": { "value": null } }, "custom.deviceReportStateConfiguration": { "reportStateRealtimePeriod": { "value": "enabled", "timestamp": "2025-02-06T04:09:42.772Z" }, "reportStateRealtime": { "value": { "state": "disabled" }, "timestamp": "2025-02-06T04:22:09.184Z" }, "reportStatePeriod": { "value": "enabled", "timestamp": "2025-02-06T04:09:42.772Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": 24, "unit": "C", "timestamp": "2025-02-09T15:41:08.097Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": -1, "start": "1970-01-01T00:00:00Z", "duration": 0, "override": false }, "timestamp": "2025-02-09T15:42:13.241Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 7076.0, "deltaEnergy": 0, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 7076.0, "energySaved": 0, "start": "2025-02-08T15:42:08Z", "end": "2025-02-09T15:42:13Z" }, "timestamp": "2025-02-09T15:42:13.241Z" } }, "custom.autoCleaningMode": { "supportedAutoCleaningModes": { "value": null }, "timedCleanDuration": { "value": null }, "operatingState": { "value": null }, "timedCleanDurationRange": { "value": null }, "supportedOperatingStates": { "value": null }, "progress": { "value": null }, "autoCleaningMode": { "value": "on", "timestamp": "2025-02-09T15:42:13.241Z" } }, "refresh": {}, "execute": { "data": { "value": null } }, "samsungce.sacDisplayCondition": { "switch": { "value": "enabled", "timestamp": "2025-02-09T15:42:13.241Z" } }, "custom.dustFilter": { "dustFilterUsageStep": { "value": null }, "dustFilterUsage": { "value": 0, "timestamp": "2025-02-09T15:42:13.241Z" }, "dustFilterLastResetDate": { "value": null }, "dustFilterStatus": { "value": "normal", "timestamp": "2025-02-09T15:42:13.241Z" }, "dustFilterCapacity": { "value": 500, "unit": "Hour", "timestamp": "2025-02-09T15:42:13.241Z" }, "dustFilterResetType": { "value": ["washable"], "timestamp": "2025-02-09T15:42:13.241Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "true", "timestamp": "2025-02-09T15:42:13.241Z" } }, "custom.deodorFilter": { "deodorFilterCapacity": { "value": null }, "deodorFilterLastResetDate": { "value": null }, "deodorFilterStatus": { "value": null }, "deodorFilterResetType": { "value": null }, "deodorFilterUsage": { "value": null }, "deodorFilterUsageStep": { "value": null } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2025-02-09T15:42:13.241Z" }, "energySavingSupport": { "value": false, "timestamp": "2025-01-29T22:04:02.369Z" }, "drMaxDuration": { "value": null }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": null } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": null }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-09T15:42:13.241Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-09T15:42:13.241Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "veryFineDustSensor": { "veryFineDustLevel": { "value": null } }, "custom.veryFineDustFilter": { "veryFineDustFilterStatus": { "value": null }, "veryFineDustFilterResetType": { "value": null }, "veryFineDustFilterUsage": { "value": null }, "veryFineDustFilterLastResetDate": { "value": null }, "veryFineDustFilterUsageStep": { "value": null }, "veryFineDustFilterCapacity": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_sac_wifikit_000001.json000066400000000000000000000101061511701743400321700ustar00rootroot00000000000000{ "components": { "main": { "ocf": { "st": { "value": "2021-01-01T00:01:01Z", "timestamp": "2025-01-29T22:00:56.209Z" }, "mndt": { "value": "", "timestamp": "2025-01-29T22:00:56.209Z" }, "mnfv": { "value": "20240611.1", "timestamp": "2025-01-29T22:00:56.209Z" }, "mnhw": { "value": "", "timestamp": "2025-01-29T22:00:56.209Z" }, "di": { "value": "0e168539-061a-5f02-2beb-cc5cb6bb3b7b", "timestamp": "2025-01-29T22:00:56.209Z" }, "mnsl": { "value": "", "timestamp": "2025-01-29T22:00:56.209Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-29T22:00:56.209Z" }, "n": { "value": "[system a/c] Samsung", "timestamp": "2025-01-29T22:00:56.209Z" }, "mnmo": { "value": "MIM-H04N|240611|61FFFF00001411000000000000000000", "timestamp": "2025-01-29T22:00:56.209Z" }, "vid": { "value": "DA-SAC-WIFIKIT-000001", "timestamp": "2025-01-29T22:00:56.209Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-29T22:00:56.209Z" }, "mnml": { "value": "", "timestamp": "2025-01-29T22:00:56.209Z" }, "mnpv": { "value": "4.0", "timestamp": "2025-01-29T22:00:56.209Z" }, "mnos": { "value": "Tizen", "timestamp": "2025-01-29T22:00:56.209Z" }, "pi": { "value": "0e168539-061a-5f02-2beb-cc5cb6bb3b7b", "timestamp": "2025-01-29T22:00:56.209Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-29T22:00:56.209Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2025-02-09T15:42:12.955Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": null }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2025-02-09T15:42:12.955Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-09T15:42:12.955Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "samsungce.driverVersion": { "versionNumber": { "value": 22100101, "timestamp": "2025-01-29T22:00:56.311Z" } }, "refresh": {}, "execute": { "data": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "MIM-H04N", "timestamp": "2025-02-09T15:42:12.955Z" } }, "samsungce.wifiKitSubDevices": { "numberOfConnectedDevices": { "value": 1, "timestamp": "2025-02-09T15:42:12.955Z" }, "subDevices": { "value": [ { "deviceId": "0e168539-061a-5f02-2beb-000001200000", "connected": true, "name": "Air Conditioner", "description": "RAC" } ], "timestamp": "2025-02-09T15:42:12.955Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T15:42:12.955Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_wm_dw_00001.json000066400000000000000000000512471511701743400307440ustar00rootroot00000000000000{ "components": { "main": { "samsungce.dishwasherWashingCourse": { "customCourseCandidates": { "value": null }, "washingCourse": { "value": "normal", "timestamp": "2025-02-08T20:21:26.497Z" }, "supportedCourses": { "value": [ "auto", "normal", "heavy", "delicate", "express", "rinseOnly", "selfClean" ], "timestamp": "2025-02-08T18:00:37.194Z" } }, "dishwasherOperatingState": { "completionTime": { "value": "2025-02-08T22:49:26Z", "timestamp": "2025-02-08T20:21:26.452Z" }, "machineState": { "value": "stop", "timestamp": "2025-02-08T20:21:26.452Z" }, "progress": { "value": null }, "supportedMachineStates": { "value": ["stop", "run", "pause"], "timestamp": "2024-09-10T10:21:02.853Z" }, "dishwasherJobState": { "value": "unknown", "timestamp": "2025-02-08T20:21:26.452Z" } }, "samsungce.dishwasherWashingOptions": { "dryPlus": { "value": null }, "stormWash": { "value": null }, "hotAirDry": { "value": null }, "selectedZone": { "value": { "value": "all", "settable": ["none", "upper", "lower", "all"] }, "timestamp": "2022-11-09T00:20:42.461Z" }, "speedBooster": { "value": { "value": false, "settable": [false, true] }, "timestamp": "2023-11-24T14:46:55.375Z" }, "highTempWash": { "value": { "value": false, "settable": [false, true] }, "timestamp": "2025-02-08T07:39:54.739Z" }, "sanitizingWash": { "value": null }, "heatedDry": { "value": null }, "zoneBooster": { "value": { "value": "none", "settable": ["none", "left", "right", "all"] }, "timestamp": "2022-11-20T07:10:27.445Z" }, "addRinse": { "value": null }, "supportedList": { "value": [ "selectedZone", "zoneBooster", "speedBooster", "sanitize", "highTempWash" ], "timestamp": "2021-06-27T01:19:38.000Z" }, "rinsePlus": { "value": null }, "sanitize": { "value": { "value": false, "settable": [false, true] }, "timestamp": "2025-01-18T23:49:09.964Z" }, "steamSoak": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": null }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": null }, "description": { "value": null }, "releaseYear": { "value": null }, "binaryId": { "value": "DA_DW_A51_20_COMMON", "timestamp": "2025-02-08T19:29:30.987Z" } }, "custom.dishwasherOperatingProgress": { "dishwasherOperatingProgress": { "value": "none", "timestamp": "2025-02-08T20:21:26.452Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-08T20:21:26.386Z" } }, "samsungce.quickControl": { "version": { "value": null } }, "samsungce.waterConsumptionReport": { "waterConsumption": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "DA_DW_A51_20_COMMON_30230714", "timestamp": "2023-11-02T15:58:55.699Z" }, "mnhw": { "value": "ARTIK051", "timestamp": "2021-06-27T01:19:37.615Z" }, "di": { "value": "f36dc7ce-cac0-0667-dc14-a3704eb5e676", "timestamp": "2021-06-27T01:19:37.615Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2021-06-27T01:19:37.615Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-07-04T13:53:32.032Z" }, "n": { "value": "[dishwasher] Samsung", "timestamp": "2021-06-27T01:19:37.615Z" }, "mnmo": { "value": "DA_DW_A51_20_COMMON|30007242|40010201001311000101000000000000", "timestamp": "2021-06-27T01:19:37.615Z" }, "vid": { "value": "DA-WM-DW-000001", "timestamp": "2021-06-27T01:19:37.615Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2021-06-27T01:19:37.615Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2021-06-27T01:19:37.615Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2021-06-27T01:19:37.615Z" }, "mnos": { "value": "TizenRT 1.0 + IPv6", "timestamp": "2021-06-27T01:19:37.615Z" }, "pi": { "value": "f36dc7ce-cac0-0667-dc14-a3704eb5e676", "timestamp": "2021-06-27T01:19:37.615Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2021-06-27T01:19:37.615Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "samsungce.waterConsumptionReport", "sec.wifiConfiguration", "samsungce.quickControl", "samsungce.deviceInfoPrivate", "demandResponseLoadControl", "sec.diagnosticsInformation", "custom.waterFilter" ], "timestamp": "2025-02-08T19:29:32.447Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24040105, "timestamp": "2024-07-02T02:56:22.508Z" } }, "sec.diagnosticsInformation": { "logType": { "value": null }, "endpoint": { "value": null }, "minVersion": { "value": null }, "signinPermission": { "value": null }, "setupId": { "value": null }, "protocolType": { "value": null }, "tsId": { "value": null }, "mnId": { "value": null }, "dumpType": { "value": null } }, "samsungce.dishwasherOperation": { "supportedOperatingState": { "value": ["ready", "running", "paused"], "timestamp": "2024-09-10T10:21:02.853Z" }, "operatingState": { "value": "ready", "timestamp": "2025-02-08T20:21:26.452Z" }, "reservable": { "value": false, "timestamp": "2025-02-08T18:00:37.194Z" }, "progressPercentage": { "value": 1, "timestamp": "2025-02-08T20:21:26.452Z" }, "remainingTimeStr": { "value": "02:28", "timestamp": "2025-02-08T20:21:26.452Z" }, "operationTime": { "value": null }, "remainingTime": { "value": 148.0, "unit": "min", "timestamp": "2025-02-08T20:21:26.452Z" }, "timeLeftToStart": { "value": 0.0, "unit": "min", "timestamp": "2025-02-08T18:00:37.482Z" } }, "samsungce.dishwasherJobState": { "scheduledJobs": { "value": [ { "jobName": "washing", "timeInSec": 3600 }, { "jobName": "rinsing", "timeInSec": 1020 }, { "jobName": "drying", "timeInSec": 1200 } ], "timestamp": "2025-02-08T20:21:26.928Z" }, "dishwasherJobState": { "value": "none", "timestamp": "2025-02-08T20:21:26.452Z" } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-08T18:00:37.450Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": null } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 101600, "deltaEnergy": 0, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 0, "energySaved": 0, "persistedSavedEnergy": 0, "start": "2025-02-08T20:21:21Z", "end": "2025-02-08T20:21:26Z" }, "timestamp": "2025-02-08T20:21:26.596Z" } }, "refresh": {}, "samsungce.dishwasherWashingCourseDetails": { "predefinedCourses": { "value": [ { "courseName": "auto", "energyUsage": 3, "waterUsage": 3, "temperature": { "min": 50, "max": 60, "unit": "C" }, "expectedTime": { "time": 136, "unit": "min" }, "options": { "highTempWash": { "default": false, "settable": [false, true] }, "sanitize": { "default": false, "settable": [false, true] }, "speedBooster": { "default": false, "settable": [false, true] }, "zoneBooster": { "default": "none", "settable": ["none", "left"] }, "selectedZone": { "default": "all", "settable": ["none", "lower", "all"] } } }, { "courseName": "normal", "energyUsage": 3, "waterUsage": 4, "temperature": { "min": 45, "max": 62, "unit": "C" }, "expectedTime": { "time": 148, "unit": "min" }, "options": { "highTempWash": { "default": false, "settable": [false, true] }, "sanitize": { "default": false, "settable": [false, true] }, "speedBooster": { "default": false, "settable": [false, true] }, "zoneBooster": { "default": "none", "settable": ["none", "left"] }, "selectedZone": { "default": "all", "settable": ["none", "lower", "all"] } } }, { "courseName": "heavy", "energyUsage": 4, "waterUsage": 5, "temperature": { "min": 65, "max": 65, "unit": "C" }, "expectedTime": { "time": 155, "unit": "min" }, "options": { "highTempWash": { "default": false, "settable": [false, true] }, "sanitize": { "default": false, "settable": [false, true] }, "speedBooster": { "default": false, "settable": [false, true] }, "zoneBooster": { "default": "none", "settable": ["none", "left"] }, "selectedZone": { "default": "all", "settable": ["none", "lower", "all"] } } }, { "courseName": "delicate", "energyUsage": 2, "waterUsage": 3, "temperature": { "min": 50, "max": 50, "unit": "C" }, "expectedTime": { "time": 112, "unit": "min" }, "options": { "highTempWash": { "default": false, "settable": [] }, "sanitize": { "default": false, "settable": [] }, "speedBooster": { "default": false, "settable": [false, true] }, "zoneBooster": { "default": "none", "settable": [] }, "selectedZone": { "default": "all", "settable": ["none", "lower", "all"] } } }, { "courseName": "express", "energyUsage": 2, "waterUsage": 2, "temperature": { "min": 52, "max": 52, "unit": "C" }, "expectedTime": { "time": 60, "unit": "min" }, "options": { "highTempWash": { "default": false, "settable": [false, true] }, "sanitize": { "default": false, "settable": [false, true] }, "speedBooster": { "default": false, "settable": [] }, "zoneBooster": { "default": "none", "settable": ["none", "left"] }, "selectedZone": { "default": "all", "settable": ["none", "lower", "all"] } } }, { "courseName": "rinseOnly", "energyUsage": 1, "waterUsage": 1, "temperature": { "min": 40, "max": 40, "unit": "C" }, "expectedTime": { "time": 14, "unit": "min" }, "options": { "highTempWash": { "default": false, "settable": [] }, "sanitize": { "default": false, "settable": [] }, "speedBooster": { "default": false, "settable": [] }, "zoneBooster": { "default": "none", "settable": [] }, "selectedZone": { "default": "all", "settable": ["none", "lower", "all"] } } }, { "courseName": "selfClean", "energyUsage": 5, "waterUsage": 4, "temperature": { "min": 70, "max": 70, "unit": "C" }, "expectedTime": { "time": 139, "unit": "min" }, "options": { "highTempWash": { "default": false, "settable": [] }, "sanitize": { "default": false, "settable": [] }, "speedBooster": { "default": false, "settable": [] }, "zoneBooster": { "default": "none", "settable": [] }, "selectedZone": { "default": "all", "settable": ["none", "all"] } } } ], "timestamp": "2025-02-08T18:00:37.194Z" }, "waterUsageMax": { "value": 5, "timestamp": "2025-02-08T18:00:37.194Z" }, "energyUsageMax": { "value": 5, "timestamp": "2025-02-08T18:00:37.194Z" } }, "execute": { "data": { "value": { "payload": { "rt": ["oic.r.operational.state"], "if": ["oic.if.baseline", "oic.if.a"], "currentMachineState": "idle", "machineStates": ["pause", "active", "idle"], "jobStates": [ "None", "Predrain", "Prewash", "Wash", "Rinse", "Drying", "Finish" ], "currentJobState": "None", "remainingTime": "02:16:00", "progressPercentage": "1" } }, "data": { "href": "/operational/state/0" }, "timestamp": "2023-07-19T04:23:15.606Z" } }, "sec.wifiConfiguration": { "autoReconnection": { "value": null }, "minVersion": { "value": null }, "supportedWiFiFreq": { "value": null }, "supportedAuthType": { "value": null }, "protocolType": { "value": null } }, "custom.dishwasherOperatingPercentage": { "dishwasherOperatingPercentage": { "value": 1, "timestamp": "2025-02-08T20:21:26.452Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-08T18:00:37.555Z" } }, "custom.supportedOptions": { "course": { "value": null }, "referenceTable": { "value": null }, "supportedCourses": { "value": ["82", "83", "84", "85", "86", "87", "88"], "timestamp": "2025-02-08T18:00:37.194Z" } }, "custom.dishwasherDelayStartTime": { "dishwasherDelayStartTime": { "value": "00:00:00", "timestamp": "2025-02-08T18:00:37.482Z" } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2023-08-25T03:23:06.667Z" }, "energySavingSupport": { "value": true, "timestamp": "2024-10-01T00:08:09.813Z" }, "drMaxDuration": { "value": null }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": null } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": "MTCNQWBWIV6TS", "timestamp": "2025-02-08T18:00:37.538Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2022-07-20T03:37:30.706Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-08T18:00:37.538Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "custom.waterFilter": { "waterFilterUsageStep": { "value": null }, "waterFilterResetType": { "value": null }, "waterFilterCapacity": { "value": null }, "waterFilterLastResetDate": { "value": null }, "waterFilterUsage": { "value": null }, "waterFilterStatus": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_wm_sc_000001.json000066400000000000000000000632631511701743400310200ustar00rootroot00000000000000{ "components": { "main": { "samsungce.welcomeMessage": { "welcomeMessage": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": "20299141", "timestamp": "2025-02-11T08:21:17.534Z" }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": "3801010200151107020100FF00000000", "timestamp": "2025-02-11T08:21:17.534Z" }, "description": { "value": "DA_DF_TP2_20_COMMON_DF8500A/DC92-02995A_0010", "timestamp": "2025-02-11T08:21:17.534Z" }, "releaseYear": { "value": null }, "binaryId": { "value": "DA_DF_TP2_20_COMMON", "timestamp": "2025-02-11T08:21:17.534Z" } }, "samsungce.steamClosetCycle": { "supportedCycles": { "value": [ { "cycle": "22", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6106", "default": "off", "options": ["off", "on"] } } }, { "cycle": "23", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "32", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "09", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "12", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "0C", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "31", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "0B", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "10", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "0A", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6106", "default": "off", "options": ["off", "on"] } } }, { "cycle": "14", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "13", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6106", "default": "off", "options": ["off", "on"] } } }, { "cycle": "16", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "24", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6206", "default": "on", "options": ["off", "on"] } } }, { "cycle": "25", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6206", "default": "on", "options": ["off", "on"] } } }, { "cycle": "2F", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6206", "default": "on", "options": ["off", "on"] } } }, { "cycle": "20", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6204", "default": "on", "options": ["on"] } } }, { "cycle": "0F", "supportedOptions": { "keepFresh": { "raw": "66F0", "default": "off", "options": ["on", "off"] }, "sanitize": { "raw": "6204", "default": "on", "options": ["on"] } } }, { "cycle": "27", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "30", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "15", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "1A", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "1B", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "1C", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "2D", "supportedOptions": { "keepFresh": { "raw": "660F", "default": "on", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "07", "supportedOptions": { "keepFresh": { "raw": "66F0", "default": "off", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } }, { "cycle": "08", "supportedOptions": { "keepFresh": { "raw": "66F0", "default": "off", "options": ["on", "off"] }, "sanitize": { "raw": "6102", "default": "off", "options": ["off"] } } } ], "timestamp": "2025-02-11T08:21:17.534Z" }, "steamClosetCycle": { "value": "Table_00_Course_22", "timestamp": "2025-02-11T08:21:17.534Z" }, "referenceTable": { "value": { "id": "Table_00" }, "timestamp": "2025-02-11T08:21:17.534Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-11T08:21:17.534Z" } }, "samsungce.quickControl": { "version": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "DA_DF_TP2_20_COMMON_30230807", "timestamp": "2025-01-14T01:42:53.834Z" }, "mnhw": { "value": "MediaTek", "timestamp": "2025-01-14T01:42:53.834Z" }, "di": { "value": "b93211bf-9d96-bd21-3b2f-964fcc87f5cc", "timestamp": "2025-01-14T01:42:53.834Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2025-01-14T01:42:53.834Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-14T01:42:53.834Z" }, "n": { "value": "[airdresser] Samsung", "timestamp": "2025-01-14T01:42:53.834Z" }, "mnmo": { "value": "DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000", "timestamp": "2025-01-14T01:42:53.834Z" }, "vid": { "value": "DA-WM-SC-000001", "timestamp": "2025-01-14T01:42:53.834Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-14T01:42:53.834Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2025-01-14T01:42:53.834Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2025-01-14T01:42:53.834Z" }, "mnos": { "value": "TizenRT 2.0 + IPv6", "timestamp": "2025-01-14T01:42:53.834Z" }, "pi": { "value": "b93211bf-9d96-bd21-3b2f-964fcc87f5cc", "timestamp": "2025-01-14T01:42:53.834Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-14T01:42:53.834Z" } }, "samsungce.steamClosetCyclePreset": { "maxNumberOfPresets": { "value": 10, "timestamp": "2025-02-11T08:21:17.534Z" }, "presets": { "value": { "F1": {}, "F2": {}, "F3": {}, "F4": {}, "F5": {}, "F6": {}, "F7": {}, "F8": {}, "F9": {}, "FA": {} }, "timestamp": "2025-02-11T08:21:17.534Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "custom.steamClosetWrinklePrevent", "custom.veryFineDustFilter", "demandResponseLoadControl", "sec.wifiConfiguration", "samsungce.quickControl", "samsungce.deviceInfoPrivate" ], "timestamp": "2025-02-11T08:21:17.534Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24110101, "timestamp": "2024-12-02T07:55:47.237Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-11T08:21:17.534Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-11T08:21:17.534Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-11T08:21:17.534Z" }, "signinPermission": { "value": null }, "setupId": { "value": "A00", "timestamp": "2025-02-11T08:21:17.534Z" }, "protocolType": { "value": "wifi_https", "timestamp": "2025-02-11T08:21:17.534Z" }, "tsId": { "value": null }, "mnId": { "value": "0AJT", "timestamp": "2025-02-11T08:21:17.534Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-11T08:21:17.534Z" } }, "samsungce.steamClosetKeepFreshMode": { "operatingState": { "value": "ready", "timestamp": "2025-02-11T08:21:17.534Z" }, "status": { "value": "off", "timestamp": "2025-02-11T08:21:17.534Z" } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-11T08:21:17.534Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": null } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 207500, "deltaEnergy": 0, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 0, "energySaved": 0, "start": "2025-02-10T22:51:59Z", "end": "2025-02-11T08:21:17Z" }, "timestamp": "2025-02-11T08:21:17.534Z" } }, "dryerOperatingState": { "completionTime": { "value": "2025-02-11T09:00:17Z", "timestamp": "2025-02-11T08:21:17.534Z" }, "machineState": { "value": "stop", "timestamp": "2025-02-11T08:21:17.534Z" }, "supportedMachineStates": { "value": ["stop", "run", "pause"], "timestamp": "2025-02-11T08:21:17.534Z" }, "dryerJobState": { "value": "none", "timestamp": "2025-02-11T08:21:17.534Z" } }, "refresh": {}, "samsungce.steamClosetSanitizeMode": { "status": { "value": "off", "timestamp": "2025-02-11T08:21:17.534Z" } }, "custom.jobBeginningStatus": { "jobBeginningStatus": { "value": null } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.information"], "if": ["oic.if.baseline", "oic.if.a"], "x.com.samsung.da.modelNum": "DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000", "x.com.samsung.da.description": "DA_DF_TP2_20_COMMON_DF8500A/DC92-02995A_0010", "x.com.samsung.da.serialNum": "1EG158TW400002M", "x.com.samsung.da.otnDUID": "MTCHUODP5V4FA", "x.com.samsung.da.diagProtocolType": "WIFI_HTTPS", "x.com.samsung.da.diagLogType": ["errCode", "dump"], "x.com.samsung.da.diagDumpType": "file", "x.com.samsung.da.diagEndPoint": "SSM", "x.com.samsung.da.diagMnid": "0AJT", "x.com.samsung.da.diagSetupid": "A00", "x.com.samsung.da.diagMinVersion": "1.0", "x.com.samsung.da.items": [ { "x.com.samsung.da.id": "0", "x.com.samsung.da.description": "DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000", "x.com.samsung.da.type": "Software", "x.com.samsung.da.number": "02673A230807(F821)", "x.com.samsung.da.newVersionAvailable": "0" }, { "x.com.samsung.da.id": "1", "x.com.samsung.da.description": "Firmware_1_DB_20299141210618090FFFFF202995412203111604FFFF(015E2029914120299541_30000000)(FileDown:0)(Type:0)", "x.com.samsung.da.type": "Firmware", "x.com.samsung.da.number": "21061809,22031116", "x.com.samsung.da.newVersionAvailable": "0" }, { "x.com.samsung.da.id": "2", "x.com.samsung.da.description": "Firmware_2_DB_2023564319111852041FFFFFFFFFFFFFFFFFFFFFFFFE(015E20235643FFFFFFFF_30000000)(FileDown:0)(Type:0)", "x.com.samsung.da.type": "Firmware", "x.com.samsung.da.number": "19111852,FFFFFFFF" } ] } }, "data": { "href": "/information/vs/0" }, "timestamp": "2024-03-06T11:24:05.312Z" } }, "samsungce.steamClosetDelayEnd": { "remainingTime": { "value": 0, "unit": "min", "timestamp": "2025-02-11T08:21:17.534Z" } }, "samsungce.steamClosetAutoCycleLink": { "steamClosetAutoCycleLink": { "value": "on", "timestamp": "2025-02-11T08:21:17.534Z" } }, "sec.wifiConfiguration": { "autoReconnection": { "value": null }, "minVersion": { "value": null }, "supportedWiFiFreq": { "value": null }, "supportedAuthType": { "value": null }, "protocolType": { "value": null } }, "custom.steamClosetWrinklePrevent": { "steamClosetWrinklePrevent": { "value": "off", "timestamp": "2025-02-11T08:21:17.534Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-11T08:21:17.534Z" } }, "custom.supportedOptions": { "course": { "value": null }, "referenceTable": { "value": { "id": "Table_00" }, "timestamp": "2025-02-11T08:21:17.534Z" }, "supportedCourses": { "value": [ "22", "23", "32", "09", "12", "0C", "31", "0B", "10", "0A", "14", "13", "16", "24", "25", "2F", "20", "0F", "27", "30", "15", "1A", "1B", "1C", "2D", "07", "08" ], "timestamp": "2025-02-11T08:21:17.534Z" } }, "custom.steamClosetOperatingState": { "supportedSteamClosetJobState": { "value": ["none", "steaming", "airwashing", "drying", "finish"], "timestamp": "2025-02-09T22:16:19.221Z" }, "completionTime": { "value": "2025-02-11T09:00:17Z", "timestamp": "2025-02-11T08:21:17.534Z" }, "steamClosetMachineState": { "value": "stop", "timestamp": "2025-02-11T08:21:17.534Z" }, "supportedSteamClosetMachineState": { "value": ["stop", "run", "pause"], "timestamp": "2023-06-23T16:00:41.238Z" }, "steamClosetJobState": { "value": "none", "timestamp": "2025-02-11T08:21:17.534Z" }, "progress": { "value": 1, "unit": "%", "timestamp": "2025-02-10T22:53:25.928Z" }, "remainingTimeStr": { "value": "00:39", "timestamp": "2025-02-10T22:53:25.928Z" }, "steamClosetDelayEndTime": { "value": null }, "remainingTime": { "value": 39, "unit": "min", "timestamp": "2025-02-10T22:53:25.928Z" } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2024-03-06T11:24:06.106Z" }, "energySavingSupport": { "value": false, "timestamp": "2024-03-06T11:24:06.106Z" }, "drMaxDuration": { "value": null }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": null } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-02-09T17:33:28.019Z" }, "otnDUID": { "value": "MTCHUODP5V4FA", "timestamp": "2025-02-11T08:21:17.534Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2023-06-23T16:00:41.636Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-09T17:33:28.019Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "custom.veryFineDustFilter": { "veryFineDustFilterStatus": { "value": null }, "veryFineDustFilterResetType": { "value": null }, "veryFineDustFilterUsage": { "value": null }, "veryFineDustFilterLastResetDate": { "value": null }, "veryFineDustFilterUsageStep": { "value": null }, "veryFineDustFilterCapacity": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_wm_wd_00001.json000066400000000000000000000472221511701743400307420ustar00rootroot00000000000000{ "components": { "hca.main": { "hca.dryerMode": { "mode": { "value": "normal", "timestamp": "2025-02-08T18:10:11.023Z" }, "supportedModes": { "value": ["normal", "timeDry", "quickDry"], "timestamp": "2025-02-08T18:10:10.497Z" } } }, "main": { "custom.dryerWrinklePrevent": { "operatingState": { "value": "ready", "timestamp": "2025-02-08T18:10:10.497Z" }, "dryerWrinklePrevent": { "value": "off", "timestamp": "2025-02-08T18:10:10.840Z" } }, "samsungce.dryerDryingTemperature": { "dryingTemperature": { "value": "medium", "timestamp": "2025-02-08T18:10:10.840Z" }, "supportedDryingTemperature": { "value": ["none", "extraLow", "low", "mediumLow", "medium", "high"], "timestamp": "2025-01-04T22:52:14.884Z" } }, "samsungce.welcomeMessage": { "welcomeMessage": { "value": null } }, "samsungce.dongleSoftwareInstallation": { "status": { "value": "completed", "timestamp": "2022-06-14T06:49:02.183Z" } }, "samsungce.dryerCyclePreset": { "maxNumberOfPresets": { "value": 10, "timestamp": "2025-02-08T18:10:10.990Z" }, "presets": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": "20233741", "timestamp": "2025-02-08T18:10:11.113Z" }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": "3000000100111100020B000000000000", "timestamp": "2025-02-08T18:10:11.113Z" }, "description": { "value": "DA_WM_A51_20_COMMON_DV6300R/DC92-02385A_0090", "timestamp": "2025-02-08T18:10:11.113Z" }, "releaseYear": { "value": null }, "binaryId": { "value": "DA_WM_A51_20_COMMON", "timestamp": "2025-02-08T18:10:11.113Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-08T18:10:10.911Z" } }, "samsungce.quickControl": { "version": { "value": null } }, "samsungce.dryerFreezePrevent": { "operatingState": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "DA_WM_A51_20_COMMON_30230708", "timestamp": "2025-01-04T22:52:14.222Z" }, "mnhw": { "value": "ARTIK051", "timestamp": "2025-01-04T22:52:14.222Z" }, "di": { "value": "02f7256e-8353-5bdd-547f-bd5b1647e01b", "timestamp": "2025-01-04T22:52:14.222Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2025-01-04T22:52:14.222Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-04T22:52:14.222Z" }, "n": { "value": "[dryer] Samsung", "timestamp": "2025-01-04T22:52:14.222Z" }, "mnmo": { "value": "DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000", "timestamp": "2025-01-04T22:52:14.222Z" }, "vid": { "value": "DA-WM-WD-000001", "timestamp": "2025-01-04T22:52:14.222Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-04T22:52:14.222Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2025-01-04T22:52:14.222Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2025-01-04T22:52:14.222Z" }, "mnos": { "value": "TizenRT 1.0 + IPv6", "timestamp": "2025-01-04T22:52:14.222Z" }, "pi": { "value": "02f7256e-8353-5bdd-547f-bd5b1647e01b", "timestamp": "2025-01-04T22:52:14.222Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-04T22:52:14.222Z" } }, "custom.dryerDryLevel": { "dryerDryLevel": { "value": "normal", "timestamp": "2025-02-08T18:10:10.840Z" }, "supportedDryerDryLevel": { "value": ["none", "damp", "less", "normal", "more", "very"], "timestamp": "2021-06-01T22:54:28.224Z" } }, "samsungce.dryerAutoCycleLink": { "dryerAutoCycleLink": { "value": "on", "timestamp": "2025-02-08T18:10:11.986Z" } }, "samsungce.dryerCycle": { "dryerCycle": { "value": "Table_00_Course_01", "timestamp": "2025-02-08T18:10:11.023Z" }, "supportedCycles": { "value": [ { "cycle": "01", "supportedOptions": { "dryingLevel": { "raw": "D33E", "default": "normal", "options": ["damp", "less", "normal", "more", "very"] }, "dryingTemperature": { "raw": "8410", "default": "medium", "options": ["medium"] } } }, { "cycle": "9C", "supportedOptions": { "dryingLevel": { "raw": "D33E", "default": "normal", "options": ["damp", "less", "normal", "more", "very"] }, "dryingTemperature": { "raw": "8520", "default": "high", "options": ["high"] } } }, { "cycle": "A5", "supportedOptions": { "dryingLevel": { "raw": "D33E", "default": "normal", "options": ["damp", "less", "normal", "more", "very"] }, "dryingTemperature": { "raw": "8520", "default": "high", "options": ["high"] } } }, { "cycle": "9E", "supportedOptions": { "dryingLevel": { "raw": "D33E", "default": "normal", "options": ["damp", "less", "normal", "more", "very"] }, "dryingTemperature": { "raw": "8308", "default": "mediumLow", "options": ["mediumLow"] } } }, { "cycle": "9B", "supportedOptions": { "dryingLevel": { "raw": "D520", "default": "very", "options": ["very"] }, "dryingTemperature": { "raw": "8520", "default": "high", "options": ["high"] } } }, { "cycle": "27", "supportedOptions": { "dryingLevel": { "raw": "D000", "default": "none", "options": [] }, "dryingTemperature": { "raw": "8520", "default": "high", "options": ["high"] } } }, { "cycle": "E5", "supportedOptions": { "dryingLevel": { "raw": "D000", "default": "none", "options": [] }, "dryingTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "A0", "supportedOptions": { "dryingLevel": { "raw": "D000", "default": "none", "options": [] }, "dryingTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "A4", "supportedOptions": { "dryingLevel": { "raw": "D000", "default": "none", "options": [] }, "dryingTemperature": { "raw": "853E", "default": "high", "options": ["extraLow", "low", "mediumLow", "medium", "high"] } } }, { "cycle": "A6", "supportedOptions": { "dryingLevel": { "raw": "D000", "default": "none", "options": [] }, "dryingTemperature": { "raw": "8520", "default": "high", "options": ["high"] } } }, { "cycle": "A3", "supportedOptions": { "dryingLevel": { "raw": "D308", "default": "normal", "options": ["normal"] }, "dryingTemperature": { "raw": "8410", "default": "medium", "options": ["medium"] } } }, { "cycle": "A2", "supportedOptions": { "dryingLevel": { "raw": "D33E", "default": "normal", "options": ["damp", "less", "normal", "more", "very"] }, "dryingTemperature": { "raw": "8102", "default": "extraLow", "options": ["extraLow"] } } } ], "timestamp": "2025-01-04T22:52:14.884Z" }, "referenceTable": { "value": { "id": "Table_00" }, "timestamp": "2025-02-08T18:10:11.023Z" }, "specializedFunctionClassification": { "value": 4, "timestamp": "2025-02-08T18:10:10.497Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "samsungce.dryerCyclePreset", "samsungce.welcomeMessage", "samsungce.dongleSoftwareInstallation", "sec.wifiConfiguration", "samsungce.quickControl", "samsungce.deviceInfoPrivate", "demandResponseLoadControl", "samsungce.dryerFreezePrevent", "sec.diagnosticsInformation" ], "timestamp": "2024-07-05T16:04:06.674Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24110101, "timestamp": "2024-12-03T02:59:11.115Z" } }, "sec.diagnosticsInformation": { "logType": { "value": null }, "endpoint": { "value": null }, "minVersion": { "value": null }, "signinPermission": { "value": null }, "setupId": { "value": null }, "protocolType": { "value": null }, "tsId": { "value": null }, "mnId": { "value": null }, "dumpType": { "value": null } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-08T18:10:10.825Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": null } }, "samsungce.detergentOrder": { "alarmEnabled": { "value": false, "timestamp": "2025-02-08T18:10:10.497Z" }, "orderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T18:10:10.497Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 4495500, "deltaEnergy": 0, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 0, "energySaved": 0, "start": "2025-02-07T04:00:19Z", "end": "2025-02-08T18:10:11Z" }, "timestamp": "2025-02-08T18:10:11.053Z" } }, "dryerOperatingState": { "completionTime": { "value": "2025-02-08T19:25:10Z", "timestamp": "2025-02-08T18:10:10.962Z" }, "machineState": { "value": "stop", "timestamp": "2025-02-08T18:10:10.962Z" }, "supportedMachineStates": { "value": ["stop", "run", "pause"], "timestamp": "2025-02-08T18:10:10.962Z" }, "dryerJobState": { "value": "none", "timestamp": "2025-02-08T18:10:10.962Z" } }, "samsungce.detergentState": { "remainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T18:10:10.497Z" }, "dosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T18:10:10.497Z" }, "initialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T18:10:10.497Z" }, "detergentType": { "value": "none", "timestamp": "2021-06-01T22:54:28.372Z" } }, "samsungce.dryerDelayEnd": { "remainingTime": { "value": 0, "unit": "min", "timestamp": "2025-02-08T18:10:10.962Z" } }, "refresh": {}, "custom.jobBeginningStatus": { "jobBeginningStatus": { "value": null } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.information"], "if": ["oic.if.baseline", "oic.if.a"], "x.com.samsung.da.modelNum": "DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000", "x.com.samsung.da.description": "DA_WM_A51_20_COMMON_DV6300R/DC92-02385A_0090", "x.com.samsung.da.serialNum": "FFFFFFFFFFFFFFF", "x.com.samsung.da.otnDUID": "7XCDM6YAIRCGM", "x.com.samsung.da.items": [ { "x.com.samsung.da.id": "0", "x.com.samsung.da.description": "DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000", "x.com.samsung.da.type": "Software", "x.com.samsung.da.number": "02198A220728(E256)", "x.com.samsung.da.newVersionAvailable": "0" }, { "x.com.samsung.da.id": "1", "x.com.samsung.da.description": "DA_WM_A51_20_COMMON", "x.com.samsung.da.type": "Firmware", "x.com.samsung.da.number": "18112816,20112625", "x.com.samsung.da.newVersionAvailable": "0" } ] } }, "data": { "href": "/information/vs/0" }, "timestamp": "2023-08-06T22:48:43.192Z" } }, "sec.wifiConfiguration": { "autoReconnection": { "value": null }, "minVersion": { "value": null }, "supportedWiFiFreq": { "value": null }, "supportedAuthType": { "value": null }, "protocolType": { "value": null } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-08T18:10:10.970Z" } }, "custom.supportedOptions": { "course": { "value": null }, "referenceTable": { "value": { "id": "Table_00" }, "timestamp": "2025-02-08T18:10:11.023Z" }, "supportedCourses": { "value": [ "01", "9C", "A5", "9E", "9B", "27", "E5", "A0", "A4", "A6", "A3", "A2" ], "timestamp": "2025-02-08T18:10:10.497Z" } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2022-06-14T06:49:02.183Z" }, "energySavingSupport": { "value": false, "timestamp": "2022-06-14T06:49:02.721Z" }, "drMaxDuration": { "value": null }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": null } }, "samsungce.dryerOperatingState": { "operatingState": { "value": "ready", "timestamp": "2025-02-07T04:00:18.186Z" }, "supportedOperatingStates": { "value": ["ready", "running", "paused"], "timestamp": "2022-11-01T13:43:26.961Z" }, "scheduledJobs": { "value": [ { "jobName": "drying", "timeInMin": 57 }, { "jobName": "cooling", "timeInMin": 3 } ], "timestamp": "2025-02-08T18:10:10.497Z" }, "progress": { "value": 1, "unit": "%", "timestamp": "2025-02-07T04:00:18.186Z" }, "remainingTimeStr": { "value": "01:15", "timestamp": "2025-02-07T04:00:18.186Z" }, "dryerJobState": { "value": "none", "timestamp": "2025-02-07T04:00:18.186Z" }, "remainingTime": { "value": 75, "unit": "min", "timestamp": "2025-02-07T04:00:18.186Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": null }, "otnDUID": { "value": "7XCDM6YAIRCGM", "timestamp": "2025-02-08T18:10:11.113Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2024-12-02T00:29:53.432Z" }, "newVersionAvailable": { "value": false, "timestamp": "2024-12-02T00:29:53.432Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "samsungce.dryerDryingTime": { "supportedDryingTime": { "value": ["0", "20", "30", "40", "50", "60"], "timestamp": "2021-06-01T22:54:28.224Z" }, "dryingTime": { "value": "0", "unit": "min", "timestamp": "2025-02-08T18:10:10.840Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_wm_wm_000001.json000066400000000000000000001045621511701743400310340ustar00rootroot00000000000000{ "components": { "hca.main": { "hca.washerMode": { "mode": { "value": "normal", "timestamp": "2025-02-07T02:29:55.623Z" }, "supportedModes": { "value": ["normal", "quickWash"], "timestamp": "2025-02-07T02:29:55.152Z" } } }, "main": { "samsungce.washerDelayEnd": { "remainingTime": { "value": 0, "unit": "min", "timestamp": "2025-02-07T02:29:55.546Z" }, "minimumReservableTime": { "value": 45, "unit": "min", "timestamp": "2025-02-07T03:09:45.594Z" } }, "samsungce.washerWaterLevel": { "supportedWaterLevel": { "value": null }, "waterLevel": { "value": null } }, "samsungce.welcomeMessage": { "welcomeMessage": { "value": null } }, "custom.washerWaterTemperature": { "supportedWasherWaterTemperature": { "value": ["none", "tapCold", "cold", "warm", "hot", "extraHot"], "timestamp": "2024-12-25T22:13:27.760Z" }, "washerWaterTemperature": { "value": "warm", "timestamp": "2025-02-07T02:29:55.691Z" } }, "samsungce.softenerAutoReplenishment": { "regularSoftenerType": { "value": null }, "regularSoftenerAlarmEnabled": { "value": null }, "regularSoftenerInitialAmount": { "value": null }, "regularSoftenerRemainingAmount": { "value": null }, "regularSoftenerDosage": { "value": null }, "regularSoftenerOrderThreshold": { "value": null } }, "samsungce.autoDispenseSoftener": { "remainingAmount": { "value": null }, "amount": { "value": null }, "supportedDensity": { "value": null }, "density": { "value": null }, "supportedAmount": { "value": null } }, "samsungce.dongleSoftwareInstallation": { "status": { "value": "completed", "timestamp": "2022-06-15T14:11:34.909Z" } }, "samsungce.autoDispenseDetergent": { "remainingAmount": { "value": null }, "amount": { "value": null }, "supportedDensity": { "value": null }, "density": { "value": null }, "supportedAmount": { "value": null }, "availableTypes": { "value": null }, "type": { "value": null }, "recommendedAmount": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": "20233741", "timestamp": "2025-02-07T02:29:55.453Z" }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": "2001000100131100022B010000000000", "timestamp": "2025-02-07T02:29:55.453Z" }, "description": { "value": "DA_WM_TP2_20_COMMON_WF6300R/DC92-02338B_0080", "timestamp": "2025-02-07T02:29:55.453Z" }, "releaseYear": { "value": null }, "binaryId": { "value": "DA_WM_TP2_20_COMMON", "timestamp": "2025-02-07T02:29:55.453Z" } }, "samsungce.washerWaterValve": { "waterValve": { "value": null }, "supportedWaterValve": { "value": null } }, "washerOperatingState": { "completionTime": { "value": "2025-02-07T03:54:45Z", "timestamp": "2025-02-07T03:09:45.534Z" }, "machineState": { "value": "stop", "timestamp": "2025-02-07T03:09:45.534Z" }, "washerJobState": { "value": "none", "timestamp": "2025-02-07T03:09:45.534Z" }, "supportedMachineStates": { "value": ["stop", "run", "pause"], "timestamp": "2025-02-07T02:29:55.546Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-07T03:09:45.456Z" } }, "custom.washerAutoSoftener": { "washerAutoSoftener": { "value": null } }, "samsungce.washerFreezePrevent": { "operatingState": { "value": null } }, "samsungce.quickControl": { "version": { "value": null } }, "samsungce.washerCycle": { "supportedCycles": { "value": [ { "cycle": "01", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C33E", "default": "normal", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A43B", "default": "high", "options": [ "rinseHold", "noSpin", "medium", "high", "extraHigh" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "833E", "default": "warm", "options": ["tapCold", "cold", "warm", "hot", "extraHot"] } } }, { "cycle": "70", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C53E", "default": "extraHeavy", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A53F", "default": "extraHigh", "options": [ "rinseHold", "noSpin", "low", "medium", "high", "extraHigh" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "843E", "default": "hot", "options": ["tapCold", "cold", "warm", "hot", "extraHot"] } } }, { "cycle": "55", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C33E", "default": "normal", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A43F", "default": "high", "options": [ "rinseHold", "noSpin", "low", "medium", "high", "extraHigh" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "warm", "options": ["tapCold", "cold", "warm", "hot"] } } }, { "cycle": "71", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C33E", "default": "normal", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A20F", "default": "low", "options": ["rinseHold", "noSpin", "low", "medium"] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "830E", "default": "warm", "options": ["tapCold", "cold", "warm"] } } }, { "cycle": "72", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C33E", "default": "normal", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A43F", "default": "high", "options": [ "rinseHold", "noSpin", "low", "medium", "high", "extraHigh" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8520", "default": "extraHot", "options": ["extraHot"] } } }, { "cycle": "77", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C33E", "default": "normal", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A21F", "default": "low", "options": ["rinseHold", "noSpin", "low", "medium", "high"] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "830E", "default": "warm", "options": ["tapCold", "cold", "warm"] } } }, { "cycle": "E5", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C53E", "default": "extraHeavy", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A43F", "default": "high", "options": [ "rinseHold", "noSpin", "low", "medium", "high", "extraHigh" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "warm", "options": ["tapCold", "cold", "warm", "hot"] } } }, { "cycle": "57", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C000", "default": "none", "options": [] }, "spinLevel": { "raw": "A520", "default": "extraHigh", "options": ["extraHigh"] }, "rinseCycle": { "raw": "9204", "default": "2", "options": ["2"] }, "waterTemperature": { "raw": "8520", "default": "extraHot", "options": ["extraHot"] } } }, { "cycle": "73", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C000", "default": "none", "options": [] }, "spinLevel": { "raw": "A43F", "default": "high", "options": [ "rinseHold", "noSpin", "low", "medium", "high", "extraHigh" ] }, "rinseCycle": { "raw": "913F", "default": "1", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "74", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C33E", "default": "normal", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A207", "default": "low", "options": ["rinseHold", "noSpin", "low"] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "830E", "default": "warm", "options": ["tapCold", "cold", "warm"] } } }, { "cycle": "75", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C33E", "default": "normal", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A30F", "default": "medium", "options": ["rinseHold", "noSpin", "low", "medium"] }, "rinseCycle": { "raw": "920F", "default": "2", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "810E", "default": "tapCold", "options": ["tapCold", "cold", "warm"] } } }, { "cycle": "78", "cycleType": "washingOnly", "supportedOptions": { "soilLevel": { "raw": "C13E", "default": "extraLight", "options": [ "extraLight", "light", "normal", "heavy", "extraHeavy" ] }, "spinLevel": { "raw": "A53F", "default": "extraHigh", "options": [ "rinseHold", "noSpin", "low", "medium", "high", "extraHigh" ] }, "rinseCycle": { "raw": "913F", "default": "1", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "warm", "options": ["tapCold", "cold", "warm", "hot"] } } } ], "timestamp": "2024-12-25T22:13:27.760Z" }, "washerCycle": { "value": "Table_00_Course_01", "timestamp": "2025-02-07T02:29:55.623Z" }, "referenceTable": { "value": { "id": "Table_00" }, "timestamp": "2021-06-01T22:52:20.068Z" }, "specializedFunctionClassification": { "value": 4, "timestamp": "2025-02-07T02:29:55.152Z" } }, "samsungce.waterConsumptionReport": { "waterConsumption": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "DA_WM_TP2_20_COMMON_30230804", "timestamp": "2024-12-25T22:13:27.131Z" }, "mnhw": { "value": "MediaTek", "timestamp": "2024-12-25T22:13:27.131Z" }, "di": { "value": "f984b91d-f250-9d42-3436-33f09a422a47", "timestamp": "2024-12-25T22:13:27.131Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2024-12-25T22:13:27.131Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-12-25T22:13:27.131Z" }, "n": { "value": "[washer] Samsung", "timestamp": "2024-12-25T22:13:27.131Z" }, "mnmo": { "value": "DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000", "timestamp": "2024-12-25T22:13:27.131Z" }, "vid": { "value": "DA-WM-WM-000001", "timestamp": "2024-12-25T22:13:27.131Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-12-25T22:13:27.131Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2024-12-25T22:13:27.131Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2024-12-25T22:13:27.131Z" }, "mnos": { "value": "TizenRT 2.0 + IPv6", "timestamp": "2024-12-25T22:13:27.131Z" }, "pi": { "value": "f984b91d-f250-9d42-3436-33f09a422a47", "timestamp": "2024-12-25T22:13:27.131Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-12-25T22:13:27.131Z" } }, "custom.dryerDryLevel": { "dryerDryLevel": { "value": null }, "supportedDryerDryLevel": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "samsungce.autoDispenseDetergent", "samsungce.autoDispenseSoftener", "samsungce.waterConsumptionReport", "samsungce.washerCyclePreset", "samsungce.welcomeMessage", "samsungce.dongleSoftwareInstallation", "sec.wifiConfiguration", "samsungce.quickControl", "samsungce.deviceInfoPrivate", "samsungce.energyPlanner", "demandResponseLoadControl", "samsungce.softenerAutoReplenishment", "samsungce.softenerOrder", "samsungce.softenerState", "samsungce.washerBubbleSoak", "samsungce.washerFreezePrevent", "custom.dryerDryLevel", "samsungce.washerWaterLevel", "samsungce.washerWaterValve", "samsungce.washerWashingTime", "custom.washerAutoDetergent", "custom.washerAutoSoftener" ], "timestamp": "2024-07-01T16:13:35.173Z" } }, "custom.washerRinseCycles": { "supportedWasherRinseCycles": { "value": ["0", "1", "2", "3", "4", "5"], "timestamp": "2024-12-25T22:13:27.760Z" }, "washerRinseCycles": { "value": "2", "timestamp": "2025-02-07T02:29:55.691Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24110101, "timestamp": "2024-12-03T02:14:52.963Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-07T02:29:55.453Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-07T02:29:55.453Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-07T02:29:55.453Z" }, "signinPermission": { "value": null }, "setupId": { "value": "210", "timestamp": "2025-02-07T02:29:55.453Z" }, "protocolType": { "value": "wifi_https", "timestamp": "2025-02-07T02:29:55.453Z" }, "tsId": { "value": null }, "mnId": { "value": "0AJT", "timestamp": "2025-02-07T02:29:55.453Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-07T02:29:55.453Z" } }, "samsungce.washerOperatingState": { "washerJobState": { "value": "none", "timestamp": "2025-02-07T03:09:45.534Z" }, "operatingState": { "value": "ready", "timestamp": "2025-02-07T03:09:45.534Z" }, "supportedOperatingStates": { "value": ["ready", "running", "paused"], "timestamp": "2022-11-04T14:21:57.546Z" }, "scheduledJobs": { "value": [ { "jobName": "wash", "timeInMin": 23 }, { "jobName": "rinse", "timeInMin": 10 }, { "jobName": "spin", "timeInMin": 9 } ], "timestamp": "2025-02-07T02:30:43.851Z" }, "scheduledPhases": { "value": [ { "phaseName": "wash", "timeInMin": 23 }, { "phaseName": "rinse", "timeInMin": 10 }, { "phaseName": "spin", "timeInMin": 9 } ], "timestamp": "2025-02-07T02:30:43.851Z" }, "progress": { "value": 1, "unit": "%", "timestamp": "2025-02-07T03:09:45.534Z" }, "remainingTimeStr": { "value": "00:45", "timestamp": "2025-02-07T03:09:45.534Z" }, "washerJobPhase": { "value": "none", "timestamp": "2025-02-07T03:09:45.534Z" }, "operationTime": { "value": 45, "unit": "min", "timestamp": "2025-02-07T03:09:45.594Z" }, "remainingTime": { "value": 45, "unit": "min", "timestamp": "2025-02-07T03:09:45.534Z" } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-07T02:29:55.407Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": null } }, "samsungce.detergentOrder": { "alarmEnabled": { "value": false, "timestamp": "2025-02-07T02:29:55.152Z" }, "orderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-07T02:29:55.152Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 352800, "deltaEnergy": 0, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 0, "energySaved": 0, "start": "2025-02-07T03:09:24Z", "end": "2025-02-07T03:09:45Z" }, "timestamp": "2025-02-07T03:09:45.703Z" } }, "samsungce.detergentAutoReplenishment": { "neutralDetergentType": { "value": null }, "regularDetergentRemainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-07T02:29:55.152Z" }, "babyDetergentRemainingAmount": { "value": null }, "neutralDetergentRemainingAmount": { "value": null }, "neutralDetergentAlarmEnabled": { "value": null }, "neutralDetergentOrderThreshold": { "value": null }, "babyDetergentInitialAmount": { "value": null }, "babyDetergentType": { "value": null }, "neutralDetergentInitialAmount": { "value": null }, "regularDetergentDosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-07T02:29:55.152Z" }, "babyDetergentDosage": { "value": null }, "regularDetergentOrderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-07T02:29:55.152Z" }, "regularDetergentType": { "value": "none", "timestamp": "2025-02-07T02:29:55.152Z" }, "regularDetergentInitialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-07T02:29:55.152Z" }, "regularDetergentAlarmEnabled": { "value": false, "timestamp": "2025-02-07T02:29:55.152Z" }, "neutralDetergentDosage": { "value": null }, "babyDetergentOrderThreshold": { "value": null }, "babyDetergentAlarmEnabled": { "value": null } }, "samsungce.softenerOrder": { "alarmEnabled": { "value": null }, "orderThreshold": { "value": null } }, "custom.washerSoilLevel": { "supportedWasherSoilLevel": { "value": [ "none", "extraLight", "light", "normal", "heavy", "extraHeavy" ], "timestamp": "2024-12-25T22:13:27.760Z" }, "washerSoilLevel": { "value": "normal", "timestamp": "2025-02-07T02:29:55.691Z" } }, "samsungce.washerBubbleSoak": { "status": { "value": null } }, "samsungce.washerCyclePreset": { "maxNumberOfPresets": { "value": 10, "timestamp": "2025-02-07T02:29:55.805Z" }, "presets": { "value": null } }, "samsungce.detergentState": { "remainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-07T02:29:55.152Z" }, "dosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-07T02:29:55.152Z" }, "initialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-07T02:29:55.152Z" }, "detergentType": { "value": "none", "timestamp": "2021-06-01T22:52:19.999Z" } }, "refresh": {}, "custom.jobBeginningStatus": { "jobBeginningStatus": { "value": null } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.information"], "if": ["oic.if.baseline", "oic.if.a"], "x.com.samsung.da.modelNum": "DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000", "x.com.samsung.da.description": "DA_WM_TP2_20_COMMON_WF6300R/DC92-02338B_0080", "x.com.samsung.da.serialNum": "01FW57AR401623N", "x.com.samsung.da.otnDUID": "U7CNQWBWJM5U4", "x.com.samsung.da.diagProtocolType": "WIFI_HTTPS", "x.com.samsung.da.diagLogType": ["errCode", "dump"], "x.com.samsung.da.diagDumpType": "file", "x.com.samsung.da.diagEndPoint": "SSM", "x.com.samsung.da.diagMnid": "0AJT", "x.com.samsung.da.diagSetupid": "210", "x.com.samsung.da.diagMinVersion": "1.0", "x.com.samsung.da.items": [ { "x.com.samsung.da.id": "0", "x.com.samsung.da.description": "DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000", "x.com.samsung.da.type": "Software", "x.com.samsung.da.number": "02674A220725(F541)", "x.com.samsung.da.newVersionAvailable": "0" }, { "x.com.samsung.da.id": "1", "x.com.samsung.da.description": "DA_WM_TP2_20_COMMON", "x.com.samsung.da.type": "Firmware", "x.com.samsung.da.number": "18112816,20050607", "x.com.samsung.da.newVersionAvailable": "0" } ] } }, "data": { "href": "/information/vs/0" }, "timestamp": "2023-08-06T16:52:15.994Z" } }, "samsungce.softenerState": { "remainingAmount": { "value": null }, "dosage": { "value": null }, "softenerType": { "value": null }, "initialAmount": { "value": null } }, "samsungce.energyPlanner": { "data": { "value": null }, "plan": { "value": null } }, "sec.wifiConfiguration": { "autoReconnection": { "value": null }, "minVersion": { "value": null }, "supportedWiFiFreq": { "value": null }, "supportedAuthType": { "value": null }, "protocolType": { "value": null } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-07T02:29:55.634Z" } }, "custom.supportedOptions": { "course": { "value": null }, "referenceTable": { "value": { "id": "Table_00" }, "timestamp": "2025-02-07T02:29:55.623Z" }, "supportedCourses": { "value": [ "01", "70", "55", "71", "72", "77", "E5", "57", "73", "74", "75", "78" ], "timestamp": "2025-02-07T02:29:55.152Z" } }, "samsungce.washerWashingTime": { "supportedWashingTimes": { "value": null }, "washingTime": { "value": null } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2022-06-15T14:11:34.909Z" }, "energySavingSupport": { "value": false, "timestamp": "2022-06-15T14:26:38.584Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2022-06-15T14:11:37.255Z" }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": false, "timestamp": "2022-06-15T14:11:37.255Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-02-07T02:29:55.548Z" }, "otnDUID": { "value": "U7CNQWBWJM5U4", "timestamp": "2025-02-07T02:29:55.453Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2024-12-01T23:36:22.798Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-07T02:29:55.548Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "custom.washerAutoDetergent": { "washerAutoDetergent": { "value": null } }, "custom.washerSpinLevel": { "washerSpinLevel": { "value": "high", "timestamp": "2025-02-07T02:29:55.691Z" }, "supportedWasherSpinLevel": { "value": [ "rinseHold", "noSpin", "low", "medium", "high", "extraHigh" ], "timestamp": "2024-12-25T22:13:27.760Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_wm_wm_000001_2.json000066400000000000000000001250771511701743400312610ustar00rootroot00000000000000{ "components": { "hca.main": { "hca.washerMode": { "mode": { "value": "others", "timestamp": "2025-02-09T10:02:08.764Z" }, "supportedModes": { "value": ["normal", "quickWash", "eco", "mix", "spinOnly"], "timestamp": "2025-02-09T10:02:08.668Z" } } }, "main": { "samsungce.washerDelayEnd": { "remainingTime": { "value": 0, "unit": "min", "timestamp": "2025-02-09T10:02:00.743Z" }, "minimumReservableTime": { "value": 104, "unit": "min", "timestamp": "2025-02-09T10:03:17.534Z" } }, "samsungce.washerWaterLevel": { "supportedWaterLevel": { "value": null }, "waterLevel": { "value": null } }, "samsungce.welcomeMessage": { "welcomeMessage": { "value": null } }, "custom.washerWaterTemperature": { "supportedWasherWaterTemperature": { "value": ["none", "cold", "20", "30", "40", "60", "90"], "timestamp": "2025-01-14T06:59:14.070Z" }, "washerWaterTemperature": { "value": "60", "timestamp": "2025-02-09T10:02:08.873Z" } }, "samsungce.softenerAutoReplenishment": { "regularSoftenerType": { "value": "none", "timestamp": "2025-02-08T10:04:32.651Z" }, "regularSoftenerAlarmEnabled": { "value": false, "timestamp": "2025-02-08T10:04:32.651Z" }, "regularSoftenerInitialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "regularSoftenerRemainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "regularSoftenerDosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "regularSoftenerOrderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" } }, "samsungce.autoDispenseSoftener": { "remainingAmount": { "value": "unknown", "timestamp": "2025-02-09T10:02:14.457Z" }, "amount": { "value": "none", "timestamp": "2025-02-08T10:04:32.651Z" }, "supportedDensity": { "value": ["normal", "high", "extraHigh"], "timestamp": "2025-02-08T10:04:32.651Z" }, "density": { "value": "normal", "timestamp": "2025-02-08T10:04:32.651Z" }, "supportedAmount": { "value": ["none", "less", "standard", "extra"], "timestamp": "2025-02-08T10:04:32.651Z" } }, "samsungce.dongleSoftwareInstallation": { "status": { "value": "completed", "timestamp": "2022-06-14T05:20:48.494Z" } }, "samsungce.autoDispenseDetergent": { "remainingAmount": { "value": "unknown", "timestamp": "2025-02-09T10:02:14.457Z" }, "amount": { "value": "standard", "timestamp": "2025-02-08T13:23:55.432Z" }, "supportedDensity": { "value": ["normal", "high", "extraHigh"], "timestamp": "2025-02-08T10:04:32.651Z" }, "density": { "value": "high", "timestamp": "2025-02-08T10:04:32.651Z" }, "supportedAmount": { "value": ["none", "less", "standard", "extra"], "timestamp": "2025-02-08T10:04:32.651Z" }, "availableTypes": { "value": null }, "type": { "value": null }, "recommendedAmount": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": "20260041", "timestamp": "2025-02-08T10:04:32.949Z" }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": "200100020014112302A3020700000000", "timestamp": "2025-02-08T10:04:32.949Z" }, "description": { "value": "DA_WM_TP2_20_COMMON_WW90T65/DC92-02613A_B04D", "timestamp": "2025-02-08T10:04:32.949Z" }, "releaseYear": { "value": null }, "binaryId": { "value": "DA_WM_TP2_20_COMMON", "timestamp": "2025-02-08T10:04:32.949Z" } }, "samsungce.washerWaterValve": { "waterValve": { "value": null }, "supportedWaterValve": { "value": null } }, "washerOperatingState": { "completionTime": { "value": "2025-02-09T11:47:17Z", "timestamp": "2025-02-09T10:03:17.548Z" }, "machineState": { "value": "run", "timestamp": "2025-02-09T10:02:14.471Z" }, "washerJobState": { "value": "wash", "timestamp": "2025-02-09T10:03:17.548Z" }, "supportedMachineStates": { "value": ["stop", "run", "pause"], "timestamp": "2025-02-09T10:02:00.743Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-09T10:02:00.737Z" } }, "custom.washerAutoSoftener": { "washerAutoSoftener": { "value": null } }, "samsungce.washerFreezePrevent": { "operatingState": { "value": null } }, "samsungce.quickControl": { "version": { "value": null } }, "samsungce.washerCycle": { "supportedCycles": { "value": [ { "cycle": "1C", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "1B", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "837E", "default": "30", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "1E", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A33F", "default": "800", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "1F", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8102", "default": "cold", "options": ["cold"] } } }, { "cycle": "25", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "833E", "default": "30", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "26", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A207", "default": "400", "options": ["rinseHold", "noSpin", "400"] }, "rinseCycle": { "raw": "920F", "default": "2", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "33", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "857E", "default": "60", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "24", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "930F", "default": "3", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "32", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A37F", "default": "800", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "833E", "default": "30", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "20", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "943F", "default": "4", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "857E", "default": "60", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "22", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "920F", "default": "2", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "23", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "930F", "default": "3", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "2F", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "21", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "943F", "default": "4", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "2A", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "2E", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "943F", "default": "4", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "867E", "default": "90", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "2D", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "34", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "843E", "default": "40", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "30", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "833E", "default": "30", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "27", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A17F", "default": "noSpin", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "28", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A67E", "default": "1400", "options": ["noSpin", "400", "800", "1000", "1200", "1400"] }, "rinseCycle": { "raw": "9000", "default": "0", "options": [] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "3A", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "waterTemperature": { "raw": "8520", "default": "70", "options": ["70"] }, "spinLevel": { "raw": "A520", "default": "1200", "options": ["1200"] }, "rinseCycle": { "raw": "9204", "default": "2", "options": ["2"] } } } ], "timestamp": "2025-02-08T13:23:52.896Z" }, "washerCycle": { "value": "Table_02_Course_33", "timestamp": "2025-02-09T10:02:08.764Z" }, "referenceTable": { "value": { "id": "Table_02" }, "timestamp": "2021-11-22T16:51:06.929Z" }, "specializedFunctionClassification": { "value": 4, "timestamp": "2025-02-08T10:04:32.651Z" } }, "samsungce.waterConsumptionReport": { "waterConsumption": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "DA_WM_TP2_20_COMMON_30230804", "timestamp": "2025-01-14T06:59:13.858Z" }, "mnhw": { "value": "MediaTek", "timestamp": "2025-01-14T06:59:13.858Z" }, "di": { "value": "c34897ca-c077-e3b9-adba-d52a96e47343", "timestamp": "2025-01-14T06:59:13.858Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2025-01-14T06:59:13.858Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-14T06:59:13.858Z" }, "n": { "value": "[washer] Samsung", "timestamp": "2025-01-14T06:59:13.858Z" }, "mnmo": { "value": "DA_WM_TP2_20_COMMON|20260041|200100020014112302A3020700000000", "timestamp": "2025-01-14T06:59:13.858Z" }, "vid": { "value": "DA-WM-WM-000001", "timestamp": "2025-01-14T06:59:13.858Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-14T06:59:13.858Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2025-01-14T06:59:13.858Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2025-01-14T06:59:13.858Z" }, "mnos": { "value": "TizenRT 2.0 + IPv6", "timestamp": "2025-01-14T06:59:13.858Z" }, "pi": { "value": "c34897ca-c077-e3b9-adba-d52a96e47343", "timestamp": "2025-01-14T06:59:13.858Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-14T06:59:13.858Z" } }, "custom.dryerDryLevel": { "dryerDryLevel": { "value": null }, "supportedDryerDryLevel": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "samsungce.waterConsumptionReport", "samsungce.washerCyclePreset", "samsungce.welcomeMessage", "samsungce.dongleSoftwareInstallation", "sec.wifiConfiguration", "samsungce.quickControl", "samsungce.deviceInfoPrivate", "samsungce.energyPlanner", "demandResponseLoadControl", "samsungce.washerFreezePrevent", "custom.dryerDryLevel", "custom.washerSoilLevel", "samsungce.washerWaterLevel", "samsungce.washerWaterValve", "samsungce.washerWashingTime", "custom.washerAutoDetergent", "custom.washerAutoSoftener" ], "timestamp": "2024-07-10T03:08:01.241Z" } }, "custom.washerRinseCycles": { "supportedWasherRinseCycles": { "value": ["0", "1", "2", "3", "4", "5"], "timestamp": "2025-01-14T06:59:14.070Z" }, "washerRinseCycles": { "value": "3", "timestamp": "2025-02-09T10:02:08.891Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24110101, "timestamp": "2024-12-02T14:45:08.395Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-08T10:04:32.949Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-08T10:04:32.949Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-08T10:04:32.949Z" }, "signinPermission": { "value": null }, "setupId": { "value": "210", "timestamp": "2025-02-08T10:04:32.949Z" }, "protocolType": { "value": "wifi_https", "timestamp": "2025-02-08T10:04:32.949Z" }, "tsId": { "value": null }, "mnId": { "value": "0AJT", "timestamp": "2025-02-08T10:04:32.949Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-08T10:04:32.949Z" } }, "samsungce.washerOperatingState": { "washerJobState": { "value": "wash", "timestamp": "2025-02-09T10:03:17.548Z" }, "operatingState": { "value": "running", "timestamp": "2025-02-09T10:02:14.471Z" }, "supportedOperatingStates": { "value": ["ready", "running", "paused"], "timestamp": "2022-11-01T13:41:16.993Z" }, "scheduledJobs": { "value": [ { "jobName": "wash", "timeInMin": 42 }, { "jobName": "rinse", "timeInMin": 48 }, { "jobName": "spin", "timeInMin": 13 } ], "timestamp": "2025-02-09T10:03:17.734Z" }, "scheduledPhases": { "value": [ { "phaseName": "wash", "timeInMin": 42 }, { "phaseName": "rinse", "timeInMin": 48 }, { "phaseName": "spin", "timeInMin": 13 } ], "timestamp": "2025-02-09T10:03:17.734Z" }, "progress": { "value": 14, "unit": "%", "timestamp": "2025-02-09T10:16:45.809Z" }, "remainingTimeStr": { "value": "01:30", "timestamp": "2025-02-09T10:16:45.809Z" }, "washerJobPhase": { "value": "wash", "timestamp": "2025-02-09T10:03:17.548Z" }, "operationTime": { "value": 104, "unit": "min", "timestamp": "2025-02-09T10:03:17.534Z" }, "remainingTime": { "value": 90, "unit": "min", "timestamp": "2025-02-09T10:16:45.809Z" } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-09T10:02:00.750Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": null } }, "samsungce.detergentOrder": { "alarmEnabled": { "value": false, "timestamp": "2025-02-08T10:04:32.651Z" }, "orderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 988800, "deltaEnergy": 300, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 0, "energySaved": 0, "start": "2025-02-09T10:09:42Z", "end": "2025-02-09T10:24:40Z" }, "timestamp": "2025-02-09T10:24:40.969Z" } }, "samsungce.detergentAutoReplenishment": { "neutralDetergentType": { "value": null }, "regularDetergentRemainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "babyDetergentRemainingAmount": { "value": null }, "neutralDetergentRemainingAmount": { "value": null }, "neutralDetergentAlarmEnabled": { "value": null }, "neutralDetergentOrderThreshold": { "value": null }, "babyDetergentInitialAmount": { "value": null }, "babyDetergentType": { "value": null }, "neutralDetergentInitialAmount": { "value": null }, "regularDetergentDosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "babyDetergentDosage": { "value": null }, "regularDetergentOrderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "regularDetergentType": { "value": "none", "timestamp": "2025-02-08T10:04:32.651Z" }, "regularDetergentInitialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "regularDetergentAlarmEnabled": { "value": false, "timestamp": "2025-02-08T10:04:32.651Z" }, "neutralDetergentDosage": { "value": null }, "babyDetergentOrderThreshold": { "value": null }, "babyDetergentAlarmEnabled": { "value": null } }, "samsungce.softenerOrder": { "alarmEnabled": { "value": false, "timestamp": "2025-02-08T10:04:32.651Z" }, "orderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" } }, "custom.washerSoilLevel": { "supportedWasherSoilLevel": { "value": null }, "washerSoilLevel": { "value": null } }, "samsungce.washerBubbleSoak": { "status": { "value": "off", "timestamp": "2025-02-08T10:04:32.651Z" } }, "samsungce.washerCyclePreset": { "maxNumberOfPresets": { "value": 10, "timestamp": "2025-02-08T10:04:32.841Z" }, "presets": { "value": null } }, "samsungce.detergentState": { "remainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "dosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "initialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "detergentType": { "value": "none", "timestamp": "2021-11-22T16:51:07.493Z" } }, "refresh": {}, "custom.jobBeginningStatus": { "jobBeginningStatus": { "value": "None", "timestamp": "2025-02-08T10:04:32.923Z" } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.da.operation"], "if": ["oic.if.baseline", "oic.if.a"], "x.com.samsung.da.state": "Run", "x.com.samsung.da.remainingTime": "00:01:00", "x.com.samsung.da.progressPercentage": "100", "x.com.samsung.da.progress": "Finish", "x.com.samsung.da.delayEndTime": "00:00:00", "x.com.samsung.da.supportedProgress": [ "None", "Weightsensing", "Wash", "Rinse", "Spin", "Finish" ] } }, "data": { "href": "/operational/state/vs/0" }, "timestamp": "2024-11-24T14:42:31.049Z" } }, "samsungce.softenerState": { "remainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "dosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" }, "softenerType": { "value": "none", "timestamp": "2023-01-19T14:47:08.342Z" }, "initialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-08T10:04:32.651Z" } }, "samsungce.energyPlanner": { "data": { "value": null }, "plan": { "value": null } }, "sec.wifiConfiguration": { "autoReconnection": { "value": null }, "minVersion": { "value": null }, "supportedWiFiFreq": { "value": null }, "supportedAuthType": { "value": null }, "protocolType": { "value": null } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-08T10:04:33.931Z" } }, "custom.supportedOptions": { "course": { "value": null }, "referenceTable": { "value": { "id": "Table_02" }, "timestamp": "2025-02-09T10:02:08.764Z" }, "supportedCourses": { "value": [ "1C", "1B", "1E", "1F", "25", "26", "33", "24", "32", "20", "22", "23", "2F", "21", "2A", "2E", "2D", "34", "30", "27", "28", "3A" ], "timestamp": "2025-02-09T10:02:08.668Z" } }, "samsungce.washerWashingTime": { "supportedWashingTimes": { "value": null }, "washingTime": { "value": null } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2022-06-14T05:20:48.494Z" }, "energySavingSupport": { "value": false, "timestamp": "2022-06-14T15:36:13.295Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2022-06-17T17:42:12.954Z" }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": false, "timestamp": "2022-06-17T17:42:12.954Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-02-08T10:04:32.729Z" }, "otnDUID": { "value": "7XCNQWBWQJKRA", "timestamp": "2025-02-08T10:04:32.949Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2024-11-28T07:49:28.334Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-08T10:04:32.729Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "custom.washerAutoDetergent": { "washerAutoDetergent": { "value": null } }, "custom.washerSpinLevel": { "washerSpinLevel": { "value": "1400", "timestamp": "2025-02-08T13:22:49.246Z" }, "supportedWasherSpinLevel": { "value": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ], "timestamp": "2025-01-14T06:59:14.070Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_wm_wm_000001_3.json000066400000000000000000001355761511701743400312670ustar00rootroot00000000000000{ "components": { "hca.main": { "hca.washerMode": { "mode": { "value": "others", "timestamp": "2025-02-07T13:06:23.375Z" }, "supportedModes": { "value": ["normal", "quickWash", "mix", "eco", "spinOnly"], "timestamp": "2025-02-06T12:55:13.708Z" } } }, "main": { "samsungce.washerDelayEnd": { "remainingTime": { "value": 0, "unit": "min", "timestamp": "2025-02-06T12:55:13.676Z" }, "minimumReservableTime": { "value": 159, "unit": "min", "timestamp": "2025-02-07T13:06:23.441Z" } }, "samsungce.washerWaterLevel": { "supportedWaterLevel": { "value": null }, "waterLevel": { "value": null } }, "samsungce.welcomeMessage": { "welcomeMessage": { "value": null } }, "custom.washerWaterTemperature": { "supportedWasherWaterTemperature": { "value": ["none", "cold", "20", "30", "40", "60", "90"], "timestamp": "2025-02-06T12:56:10.591Z" }, "washerWaterTemperature": { "value": "none", "timestamp": "2025-02-07T13:06:23.375Z" } }, "samsungce.softenerAutoReplenishment": { "regularSoftenerType": { "value": "liquid", "timestamp": "2025-02-06T12:55:13.708Z" }, "regularSoftenerAlarmEnabled": { "value": false, "timestamp": "2025-02-06T12:55:13.708Z" }, "regularSoftenerInitialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "regularSoftenerRemainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "regularSoftenerDosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "regularSoftenerOrderThreshold": { "value": 350, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" } }, "samsungce.autoDispenseSoftener": { "remainingAmount": { "value": "unknown", "timestamp": "2025-02-06T12:55:13.754Z" }, "amount": { "value": "standard", "timestamp": "2025-02-06T12:56:24.362Z" }, "supportedDensity": { "value": ["normal", "high", "extraHigh"], "timestamp": "2025-02-06T12:55:13.708Z" }, "density": { "value": "normal", "timestamp": "2025-02-06T12:55:13.708Z" }, "supportedAmount": { "value": ["none", "less", "standard", "extra"], "timestamp": "2025-02-06T12:55:13.708Z" } }, "samsungce.dongleSoftwareInstallation": { "status": { "value": "completed", "timestamp": "2024-06-07T08:43:28.951Z" } }, "samsungce.autoDispenseDetergent": { "remainingAmount": { "value": "unknown", "timestamp": "2025-02-06T12:55:13.754Z" }, "amount": { "value": "standard", "timestamp": "2025-02-06T12:55:13.708Z" }, "supportedDensity": { "value": ["normal", "high", "extraHigh"], "timestamp": "2025-02-06T12:55:13.708Z" }, "density": { "value": "high", "timestamp": "2025-02-06T12:55:13.708Z" }, "supportedAmount": { "value": ["none", "less", "standard", "extra"], "timestamp": "2025-02-06T12:55:13.708Z" }, "availableTypes": { "value": null }, "type": { "value": null }, "recommendedAmount": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": "20260041", "timestamp": "2025-02-06T12:55:14.641Z" }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": "20010002011411A702A3020700000000", "timestamp": "2025-02-06T12:55:14.641Z" }, "description": { "value": "DA_WM_TP2_20_COMMON_WW6600R/DC92-02617A_B04C", "timestamp": "2025-02-06T12:55:14.641Z" }, "releaseYear": { "value": null }, "binaryId": { "value": "DA_WM_TP2_20_COMMON", "timestamp": "2025-02-07T12:56:12.018Z" } }, "samsungce.washerWaterValve": { "waterValve": { "value": null }, "supportedWaterValve": { "value": null } }, "washerOperatingState": { "completionTime": { "value": "2025-02-07T15:45:23Z", "timestamp": "2025-02-07T13:06:23.490Z" }, "machineState": { "value": "stop", "timestamp": "2025-02-06T12:56:24.190Z" }, "washerJobState": { "value": "none", "timestamp": "2025-02-06T12:55:13.676Z" }, "supportedMachineStates": { "value": ["stop", "run", "pause"], "timestamp": "2025-02-06T12:55:13.676Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-07T13:06:23.271Z" } }, "custom.washerAutoSoftener": { "washerAutoSoftener": { "value": null } }, "samsungce.washerFreezePrevent": { "operatingState": { "value": null } }, "samsungce.quickControl": { "version": { "value": null } }, "samsungce.washerCycle": { "supportedCycles": { "value": [ { "cycle": "1C", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "1B", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "847E", "default": "40", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "1E", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A53F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "1D", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "1F", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8102", "default": "cold", "options": ["cold"] } } }, { "cycle": "25", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "843E", "default": "40", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "26", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A207", "default": "400", "options": ["rinseHold", "noSpin", "400"] }, "rinseCycle": { "raw": "920F", "default": "2", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "33", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "857E", "default": "60", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "24", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "930F", "default": "3", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "32", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A37F", "default": "800", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "833E", "default": "30", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "20", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "943F", "default": "4", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "857E", "default": "60", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "22", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "920F", "default": "2", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "23", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "930F", "default": "3", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "2F", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "21", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "943F", "default": "4", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "2D", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "30", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "843E", "default": "40", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "27", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "913F", "default": "1", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "28", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B01F", "default": "none", "options": ["none", "cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A67E", "default": "1400", "options": ["noSpin", "400", "800", "1000", "1200", "1400"] }, "rinseCycle": { "raw": "9000", "default": "0", "options": [] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "36", "cycleType": "allInOne", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "dryingLevel": { "raw": "B11E", "default": "cupboard", "options": ["cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A640", "default": "1400", "options": ["1400"] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "38", "cycleType": "dryingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B11E", "default": "cupboard", "options": ["cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A000", "default": "rinseHold", "options": [] }, "rinseCycle": { "raw": "9000", "default": "0", "options": [] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "39", "cycleType": "dryingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B11E", "default": "cupboard", "options": ["cupboard", "30", "60", "90"] }, "spinLevel": { "raw": "A000", "default": "rinseHold", "options": [] }, "rinseCycle": { "raw": "9000", "default": "0", "options": [] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "37", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A000", "default": "rinseHold", "options": [] }, "rinseCycle": { "raw": "9000", "default": "0", "options": [] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "29", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "waterTemperature": { "raw": "8520", "default": "70", "options": ["70"] }, "dryingLevel": { "raw": "B000", "default": "none", "options": [] }, "spinLevel": { "raw": "A520", "default": "1200", "options": ["1200"] }, "rinseCycle": { "raw": "9204", "default": "2", "options": ["2"] } } } ], "timestamp": "2025-02-06T12:56:10.591Z" }, "washerCycle": { "value": "Table_02_Course_1C", "timestamp": "2025-02-07T13:06:23.375Z" }, "referenceTable": { "value": { "id": "Table_02" }, "timestamp": "2024-06-07T08:43:30.083Z" }, "specializedFunctionClassification": { "value": 4, "timestamp": "2025-02-06T12:55:13.708Z" } }, "samsungce.waterConsumptionReport": { "waterConsumption": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "DA_WM_TP2_20_COMMON_30230804", "timestamp": "2024-12-03T22:05:08.468Z" }, "mnhw": { "value": "MediaTek", "timestamp": "2024-12-03T22:05:08.468Z" }, "di": { "value": "5f595079-fe6c-f441-49eb-008324a7acde", "timestamp": "2024-12-03T22:05:08.468Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2024-12-03T22:05:08.468Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-12-03T22:05:08.468Z" }, "n": { "value": "[washer] Samsung", "timestamp": "2024-12-03T22:05:08.468Z" }, "mnmo": { "value": "DA_WM_TP2_20_COMMON|20260041|20010002011411A702A3020700000000", "timestamp": "2024-12-03T22:05:08.468Z" }, "vid": { "value": "DA-WM-WM-000001", "timestamp": "2024-12-03T22:05:08.468Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-12-03T22:05:08.468Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2024-12-03T22:05:08.468Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2024-12-03T22:05:08.468Z" }, "mnos": { "value": "TizenRT 2.0 + IPv6", "timestamp": "2024-12-03T22:05:08.468Z" }, "pi": { "value": "5f595079-fe6c-f441-49eb-008324a7acde", "timestamp": "2024-12-03T22:05:08.468Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-12-03T22:05:08.468Z" } }, "custom.dryerDryLevel": { "dryerDryLevel": { "value": "none", "timestamp": "2025-02-06T12:55:13.754Z" }, "supportedDryerDryLevel": { "value": ["none", "cupboard", "30", "60", "90", "120", "180", "240"], "timestamp": "2025-02-06T12:56:10.591Z" } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "samsungce.waterConsumptionReport", "samsungce.washerCyclePreset", "samsungce.welcomeMessage", "samsungce.dongleSoftwareInstallation", "sec.wifiConfiguration", "samsungce.quickControl", "samsungce.deviceInfoPrivate", "samsungce.energyPlanner", "demandResponseLoadControl", "samsungce.washerFreezePrevent", "custom.washerSoilLevel", "samsungce.washerWaterLevel", "samsungce.washerWaterValve", "samsungce.washerWashingTime", "custom.washerAutoDetergent", "custom.washerAutoSoftener" ], "timestamp": "2024-07-09T13:48:14.959Z" } }, "custom.washerRinseCycles": { "supportedWasherRinseCycles": { "value": ["0", "1", "2", "3", "4", "5"], "timestamp": "2025-02-06T12:56:10.591Z" }, "washerRinseCycles": { "value": "2", "timestamp": "2025-02-06T12:56:24.266Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24110101, "timestamp": "2024-12-02T12:56:05.393Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-06T12:55:14.641Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-06T12:55:14.641Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-06T12:55:14.641Z" }, "signinPermission": { "value": null }, "setupId": { "value": "210", "timestamp": "2025-02-06T12:55:14.641Z" }, "protocolType": { "value": "wifi_https", "timestamp": "2025-02-06T12:55:14.641Z" }, "tsId": { "value": null }, "mnId": { "value": "0AJT", "timestamp": "2025-02-06T12:55:14.641Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-06T12:55:14.641Z" } }, "samsungce.washerOperatingState": { "washerJobState": { "value": "none", "timestamp": "2025-01-26T09:44:38.648Z" }, "operatingState": { "value": "ready", "timestamp": "2025-02-06T12:56:24.190Z" }, "supportedOperatingStates": { "value": ["ready", "running", "paused"], "timestamp": "2024-06-07T08:43:30.238Z" }, "scheduledJobs": { "value": [ { "jobName": "wash", "timeInMin": 4 }, { "jobName": "spin", "timeInMin": 6 } ], "timestamp": "2025-02-06T12:56:17.179Z" }, "scheduledPhases": { "value": [ { "phaseName": "wash", "timeInMin": 4 }, { "phaseName": "spin", "timeInMin": 6 } ], "timestamp": "2025-02-06T12:56:17.179Z" }, "progress": { "value": 1, "unit": "%", "timestamp": "2025-01-26T09:44:38.648Z" }, "remainingTimeStr": { "value": "02:39", "timestamp": "2025-02-07T13:06:23.490Z" }, "washerJobPhase": { "value": "none", "timestamp": "2025-02-06T12:55:13.676Z" }, "operationTime": { "value": 159, "unit": "min", "timestamp": "2025-02-07T13:06:23.441Z" }, "remainingTime": { "value": 159, "unit": "min", "timestamp": "2025-02-07T13:06:23.490Z" } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-06T12:55:13.687Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": null } }, "samsungce.detergentOrder": { "alarmEnabled": { "value": false, "timestamp": "2025-02-06T12:55:13.708Z" }, "orderThreshold": { "value": 350, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 61900, "deltaEnergy": 0, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 0, "energySaved": 0, "start": "2025-02-07T13:05:28Z", "end": "2025-02-07T13:06:23Z" }, "timestamp": "2025-02-07T13:06:23.649Z" } }, "samsungce.detergentAutoReplenishment": { "neutralDetergentType": { "value": null }, "regularDetergentRemainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "babyDetergentRemainingAmount": { "value": null }, "neutralDetergentRemainingAmount": { "value": null }, "neutralDetergentAlarmEnabled": { "value": null }, "neutralDetergentOrderThreshold": { "value": null }, "babyDetergentInitialAmount": { "value": null }, "babyDetergentType": { "value": null }, "neutralDetergentInitialAmount": { "value": null }, "regularDetergentDosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "babyDetergentDosage": { "value": null }, "regularDetergentOrderThreshold": { "value": 350, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "regularDetergentType": { "value": "liquid", "timestamp": "2025-02-06T12:55:13.708Z" }, "regularDetergentInitialAmount": { "value": 500, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "regularDetergentAlarmEnabled": { "value": false, "timestamp": "2025-02-06T12:55:13.708Z" }, "neutralDetergentDosage": { "value": null }, "babyDetergentOrderThreshold": { "value": null }, "babyDetergentAlarmEnabled": { "value": null } }, "samsungce.softenerOrder": { "alarmEnabled": { "value": false, "timestamp": "2025-02-06T12:55:13.708Z" }, "orderThreshold": { "value": 350, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" } }, "custom.washerSoilLevel": { "supportedWasherSoilLevel": { "value": null }, "washerSoilLevel": { "value": null } }, "samsungce.washerBubbleSoak": { "status": { "value": "off", "timestamp": "2025-02-06T12:55:13.708Z" } }, "samsungce.washerCyclePreset": { "maxNumberOfPresets": { "value": 10, "timestamp": "2025-02-06T12:55:14.812Z" }, "presets": { "value": null } }, "samsungce.detergentState": { "remainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "dosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "initialAmount": { "value": 500, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "detergentType": { "value": "liquid", "timestamp": "2024-08-10T06:44:34.124Z" } }, "refresh": {}, "custom.jobBeginningStatus": { "jobBeginningStatus": { "value": "None", "timestamp": "2025-02-06T12:55:14.827Z" } }, "execute": { "data": { "value": null } }, "samsungce.softenerState": { "remainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "dosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" }, "softenerType": { "value": "liquid", "timestamp": "2024-08-10T06:44:34.312Z" }, "initialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-06T12:55:13.708Z" } }, "samsungce.energyPlanner": { "data": { "value": null }, "plan": { "value": null } }, "sec.wifiConfiguration": { "autoReconnection": { "value": null }, "minVersion": { "value": null }, "supportedWiFiFreq": { "value": null }, "supportedAuthType": { "value": null }, "protocolType": { "value": null } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-07T13:06:23.323Z" } }, "custom.supportedOptions": { "course": { "value": null }, "referenceTable": { "value": { "id": "Table_02" }, "timestamp": "2025-02-06T12:55:13.820Z" }, "supportedCourses": { "value": [ "1C", "1B", "1E", "1D", "1F", "25", "26", "33", "24", "32", "20", "22", "23", "2F", "21", "2D", "30", "27", "28", "36", "38", "39", "37", "29" ], "timestamp": "2025-02-06T12:55:13.708Z" } }, "samsungce.washerWashingTime": { "supportedWashingTimes": { "value": null }, "washingTime": { "value": null } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2024-06-07T08:43:28.951Z" }, "energySavingSupport": { "value": false, "timestamp": "2024-06-07T08:45:56.020Z" }, "drMaxDuration": { "value": null }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": null }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": null } }, "samsungce.softwareUpdate": { "targetModule": { "value": {}, "timestamp": "2025-02-06T12:55:14.586Z" }, "otnDUID": { "value": "XTCGCEMPMAXYO", "timestamp": "2025-02-06T12:55:14.641Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2024-11-29T16:21:43.702Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-06T12:55:14.586Z" }, "operatingState": { "value": null }, "progress": { "value": null } }, "custom.washerAutoDetergent": { "washerAutoDetergent": { "value": null } }, "custom.washerSpinLevel": { "washerSpinLevel": { "value": "1400", "timestamp": "2025-02-07T13:06:23.547Z" }, "supportedWasherSpinLevel": { "value": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ], "timestamp": "2025-02-06T12:56:10.591Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/da_wm_wm_01011.json000066400000000000000000001711231511701743400307530ustar00rootroot00000000000000{ "components": { "hca.main": { "hca.washerMode": { "mode": { "value": "quickWash", "timestamp": "2025-02-10T03:12:05.816Z" }, "supportedModes": { "value": ["normal", "quickWash", "mix", "eco", "spinOnly"], "timestamp": "2025-02-10T03:12:04.669Z" } } }, "main": { "custom.dryerWrinklePrevent": { "operatingState": { "value": null }, "dryerWrinklePrevent": { "value": null } }, "samsungce.washerWaterLevel": { "supportedWaterLevel": { "value": null }, "waterLevel": { "value": null } }, "custom.washerWaterTemperature": { "supportedWasherWaterTemperature": { "value": ["none", "cold", "20", "30", "40", "60", "90"], "timestamp": "2025-02-09T00:09:15.877Z" }, "washerWaterTemperature": { "value": "30", "timestamp": "2025-02-10T03:12:05.784Z" } }, "samsungce.softenerAutoReplenishment": { "regularSoftenerType": { "value": "none", "timestamp": "2025-02-10T03:12:04.669Z" }, "regularSoftenerAlarmEnabled": { "value": false, "timestamp": "2025-02-10T03:12:04.669Z" }, "regularSoftenerInitialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "regularSoftenerRemainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "regularSoftenerDosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "regularSoftenerOrderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" } }, "samsungce.autoDispenseSoftener": { "remainingAmount": { "value": "normal", "timestamp": "2025-02-10T03:12:05.784Z" }, "amount": { "value": "none", "timestamp": "2025-02-10T03:12:04.669Z" }, "supportedDensity": { "value": ["normal", "high", "extraHigh"], "timestamp": "2025-02-10T03:12:04.669Z" }, "density": { "value": "normal", "timestamp": "2025-02-10T03:12:04.669Z" }, "supportedAmount": { "value": ["none", "less", "standard", "extra"], "timestamp": "2025-02-10T03:12:04.669Z" } }, "samsungce.autoDispenseDetergent": { "remainingAmount": { "value": "normal", "timestamp": "2025-02-10T03:12:05.784Z" }, "amount": { "value": "standard", "timestamp": "2025-02-10T03:12:04.669Z" }, "supportedDensity": { "value": ["normal", "high", "extraHigh"], "timestamp": "2025-02-10T03:12:04.669Z" }, "density": { "value": "high", "timestamp": "2025-02-10T03:12:04.669Z" }, "supportedAmount": { "value": ["none", "less", "standard", "extra"], "timestamp": "2025-02-10T03:12:04.669Z" }, "availableTypes": { "value": null }, "type": { "value": null }, "recommendedAmount": { "value": null } }, "samsungce.washerWaterValve": { "waterValve": { "value": null }, "supportedWaterValve": { "value": null } }, "washerOperatingState": { "completionTime": { "value": "2025-02-10T04:25:54Z", "timestamp": "2025-02-10T03:51:54.503Z" }, "machineState": { "value": "stop", "timestamp": "2025-02-10T03:12:05.433Z" }, "washerJobState": { "value": "none", "timestamp": "2025-02-10T03:12:05.433Z" }, "supportedMachineStates": { "value": ["stop", "run", "pause"], "timestamp": "2025-02-10T03:12:05.433Z" } }, "custom.washerAutoSoftener": { "washerAutoSoftener": { "value": null } }, "samsungce.washerCycle": { "supportedCycles": { "value": [ { "cycle": "1B", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "847E", "default": "40", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "2B", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8410", "default": "40", "options": ["40"] } } }, { "cycle": "1E", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A53F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200" ] }, "rinseCycle": { "raw": "953F", "default": "5", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "1D", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "96", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A37F", "default": "800", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "920F", "default": "2", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "8E", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8102", "default": "cold", "options": ["cold"] } } }, { "cycle": "35", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8430", "default": "40", "options": ["40", "60"] } } }, { "cycle": "25", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "843E", "default": "40", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "26", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A207", "default": "400", "options": ["rinseHold", "noSpin", "400"] }, "rinseCycle": { "raw": "920F", "default": "2", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "33", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "857E", "default": "60", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "24", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "930F", "default": "3", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "32", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A37F", "default": "800", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "833E", "default": "30", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "20", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "943F", "default": "4", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "857E", "default": "60", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "22", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "920F", "default": "2", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "23", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "930F", "default": "3", "options": ["0", "1", "2", "3"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "2F", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "21", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A57F", "default": "1200", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "943F", "default": "4", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "92", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "933F", "default": "3", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "831E", "default": "30", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "2E", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "943F", "default": "4", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "867E", "default": "90", "options": ["cold", "20", "30", "40", "60", "90"] } } }, { "cycle": "2D", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A30F", "default": "800", "options": ["rinseHold", "noSpin", "400", "800"] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "841E", "default": "40", "options": ["cold", "20", "30", "40"] } } }, { "cycle": "30", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "35F0", "default": "off", "options": ["on", "off"] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "923F", "default": "2", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "843E", "default": "40", "options": ["cold", "20", "30", "40", "60"] } } }, { "cycle": "29", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "waterTemperature": { "raw": "8520", "default": "70", "options": ["70"] }, "spinLevel": { "raw": "A520", "default": "1200", "options": ["1200"] }, "rinseCycle": { "raw": "9204", "default": "2", "options": ["2"] } } }, { "cycle": "27", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A67F", "default": "1400", "options": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ] }, "rinseCycle": { "raw": "913F", "default": "1", "options": ["0", "1", "2", "3", "4", "5"] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } }, { "cycle": "28", "cycleType": "washingOnly", "supportedOptions": { "bubbleSoak": { "raw": "3500", "default": "off", "options": [] }, "spinLevel": { "raw": "A67E", "default": "1400", "options": ["noSpin", "400", "800", "1000", "1200", "1400"] }, "rinseCycle": { "raw": "9000", "default": "0", "options": [] }, "waterTemperature": { "raw": "8000", "default": "none", "options": [] } } } ], "timestamp": "2025-02-09T00:09:15.877Z" }, "washerCycle": { "value": "Table_02_Course_1E", "timestamp": "2025-02-10T03:12:05.816Z" }, "referenceTable": { "value": { "id": "Table_02" }, "timestamp": "2024-03-07T08:20:01.519Z" }, "specializedFunctionClassification": { "value": 4, "timestamp": "2025-02-10T03:12:04.669Z" } }, "samsungce.waterConsumptionReport": { "waterConsumption": { "value": null } }, "ocf": { "st": { "value": null }, "mndt": { "value": null }, "mnfv": { "value": "DA_WM_TP1_21_COMMON_30240927", "timestamp": "2025-01-16T13:45:03.971Z" }, "mnhw": { "value": "Realtek", "timestamp": "2025-01-16T13:45:03.971Z" }, "di": { "value": "b905ade6-4f96-b00e-3292-0703f5866809", "timestamp": "2025-01-16T13:45:03.971Z" }, "mnsl": { "value": "http://www.samsung.com", "timestamp": "2025-01-16T13:45:03.971Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-16T13:45:03.971Z" }, "n": { "value": "[washer] Samsung", "timestamp": "2025-01-16T13:45:03.971Z" }, "mnmo": { "value": "DA_WM_TP1_21_COMMON|20334241|20010002001711664AA3025700000000", "timestamp": "2025-01-16T13:45:03.971Z" }, "vid": { "value": "DA-WM-WM-01011", "timestamp": "2025-01-16T13:45:03.971Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-16T13:45:03.971Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2025-01-16T13:45:03.971Z" }, "mnpv": { "value": "DAWIT 2.0", "timestamp": "2025-01-16T13:45:03.971Z" }, "mnos": { "value": "TizenRT 3.1", "timestamp": "2025-01-16T13:45:03.971Z" }, "pi": { "value": "b905ade6-4f96-b00e-3292-0703f5866809", "timestamp": "2025-01-16T13:45:03.971Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-16T13:45:03.971Z" } }, "custom.dryerDryLevel": { "dryerDryLevel": { "value": null }, "supportedDryerDryLevel": { "value": null } }, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "samsungce.flexibleAutoDispenseDetergent", "samsungce.washerLabelScanCyclePreset", "samsungce.waterConsumptionReport", "samsungce.energyPlanner", "samsungce.washerFreezePrevent", "samsungce.clothingExtraCare", "custom.dryerDryLevel", "samsungce.dryerDryingTime", "custom.washerSoilLevel", "samsungce.washerWaterLevel", "samsungce.washerWaterValve", "samsungce.washerWashingTime", "custom.dryerWrinklePrevent", "custom.washerAutoDetergent", "custom.washerAutoSoftener" ], "timestamp": "2024-07-17T04:52:17.704Z" } }, "samsungce.driverVersion": { "versionNumber": { "value": 24110101, "timestamp": "2024-12-03T06:08:48.427Z" } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-10T03:12:05.621Z" }, "endpoint": { "value": "SSM", "timestamp": "2025-02-10T03:12:05.621Z" }, "minVersion": { "value": "3.0", "timestamp": "2025-02-10T03:12:05.621Z" }, "signinPermission": { "value": null }, "setupId": { "value": "WF1", "timestamp": "2025-02-10T03:12:05.621Z" }, "protocolType": { "value": "ble_ocf", "timestamp": "2025-02-10T03:12:05.621Z" }, "tsId": { "value": "DA01", "timestamp": "2025-02-10T03:12:05.621Z" }, "mnId": { "value": "0AJT", "timestamp": "2025-02-10T03:12:05.621Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-10T03:12:05.621Z" } }, "samsungce.washerOperatingState": { "washerJobState": { "value": "none", "timestamp": "2025-02-08T07:37:13.370Z" }, "operatingState": { "value": "ready", "timestamp": "2025-02-08T07:37:13.370Z" }, "supportedOperatingStates": { "value": ["ready", "running", "paused"], "timestamp": "2024-03-07T08:20:01.519Z" }, "scheduledJobs": { "value": [ { "jobName": "wash", "timeInMin": 8 }, { "jobName": "rinse", "timeInMin": 18 }, { "jobName": "spin", "timeInMin": 6 } ], "timestamp": "2025-02-10T03:12:04.669Z" }, "scheduledPhases": { "value": [ { "phaseName": "wash", "timeInMin": 8 }, { "phaseName": "rinse", "timeInMin": 18 }, { "phaseName": "spin", "timeInMin": 6 } ], "timestamp": "2025-02-10T03:12:04.669Z" }, "progress": { "value": 1, "unit": "%", "timestamp": "2025-02-08T07:37:13.370Z" }, "remainingTimeStr": { "value": "00:34", "timestamp": "2025-02-08T07:37:13.370Z" }, "washerJobPhase": { "value": "none", "timestamp": "2025-02-10T03:12:05.433Z" }, "operationTime": { "value": 34, "unit": "min", "timestamp": "2025-02-06T08:25:19.137Z" }, "remainingTime": { "value": 34, "unit": "min", "timestamp": "2025-02-08T07:37:13.370Z" } }, "samsungce.kidsLock": { "lockState": { "value": "unlocked", "timestamp": "2025-02-10T03:12:05.628Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "start": "1970-01-01T00:00:00Z", "duration": 0, "override": false }, "timestamp": "2025-02-10T03:12:04.845Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 247400, "deltaEnergy": 0, "power": 0, "powerEnergy": 0.0, "persistedEnergy": 0, "energySaved": 0, "persistedSavedEnergy": 0, "start": "2025-02-09T00:33:41Z", "end": "2025-02-09T16:33:42Z" }, "timestamp": "2025-02-09T16:33:42.051Z" } }, "samsungce.softenerOrder": { "alarmEnabled": { "value": false, "timestamp": "2025-02-10T03:12:04.669Z" }, "orderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" } }, "custom.washerSoilLevel": { "supportedWasherSoilLevel": { "value": null }, "washerSoilLevel": { "value": null } }, "samsungce.washerBubbleSoak": { "status": { "value": "off", "timestamp": "2025-02-10T03:12:04.669Z" } }, "samsungce.washerLabelScanCyclePreset": { "presets": { "value": null } }, "execute": { "data": { "value": { "payload": [ { "href": "/realtimenotiforclient/vs/0", "rep": { "x.com.samsung.da.timeforshortnoti": "0", "x.com.samsung.da.periodicnotisubscription": "true" } }, { "href": "/alarms/vs/0", "rep": {} }, { "href": "/diagnosis/vs/0", "rep": { "x.com.samsung.da.diagnosisStart": "Ready" } }, { "href": "/energy/consumption/vs/0", "rep": { "x.com.samsung.da.instantaneousPower": "-500", "x.com.samsung.da.instantaneousPowerUnit": "W", "x.com.samsung.da.cumulativePower": "0", "x.com.samsung.da.cumulativeUnit": "Wh", "x.com.samsung.da.cumulativeDate": "1709798400", "x.com.samsung.da.cumulativeDateUTC": "1709798400", "x.com.samsung.da.cumulativeSavedPower": "0" } }, { "href": "/energy/consumption/0", "rep": {} }, { "href": "/course/vs/0", "rep": { "x.com.samsung.da.supportedModes": ["HOMECARE_WIZARD_V2"], "x.com.samsung.da.options": [ "DeviceType_0167", "UpdateAllow_NotAllowed", "Course_1B", "AiOption_On", "LaundryOutTime_0", "SeamlessControl_Disable", "KidsLockBypass_On", "WashingTimes_0", "DrumCleanProposal_40", "DetergentOnce_0", "DetergentLeft_0", "DetergentBase_0", "DetergentAlarm_Off", "DetergentType_0", "DetergentTotal_0", "SoftenerOnce_0", "SoftenerLeft_0", "SoftenerBase_0", "SoftenerAlarm_Off", "SoftenerType_0", "SoftenerTotal_0", "SpecialFunction_4", "AvailableDelayTime_87", "DetergentLevelCtrl_2", "SoftenerLevelCtrl_2", "SupportedDetergentLevelCtrl_00010203", "SupportedSoftenerLevelCtrl_00010203", "DetergentLevel2Ctrl_2", "SoftenerLevel2Ctrl_1", "SupportedDetergentLevel2Ctrl_010203", "SupportedSoftenerLevel2Ctrl_010203", "BubbleSoak_Off", "LaundryPlannerUserSetTime_0", "ProgressTimeSet_420BB8820522A20378", "QuickDrive_Off", "SendToDevice_Off", "GMT_7F", "PreWashSetting_Off", "IntensiveSetting_Off", "BubbleSoakSet_F00000F0000000F000F0F0F0F00000F000F0F0F0F0000000", "EnergyLevelSet_05040301040201030402040402050302020202050303050101", "MostUsed_1B841E923FA67F00000000000000", "DispenserSet_222222222222222222222222220000002222222222FFF2FF", "PreWashAvailableSet_F0F000F000F0F0F000F0F0F0F00000F0F0F00FF0F0000000", "IntensiveAvailableSet_F0F000F000F0F0F000F0F0F0F00000F0F0F0F0F0F0000000", "CustomInputBoxSetting_01", "TextureLevel_None", "SavingModeCondition_010102142B1B1E961D8E25263324322022232F21922E2D30030149035E2830", "SavingMode_Off", "QuickDriveSet_F0000000000000F000F0F0F0F000F000F0F0F0F0F0000000", "GeoFenceAlarm", "UsagesDB_ok", "EnergyKW_396", "DrumCleanLog_Empty", "TimeSync_NotSupported" ], "x.com.samsung.da.supportedOptions": [ "31B847E923FA67F2B8410923FA67F1E811E933FA33F1D841E923FA67F96841E920FA37F8E8102923FA57F358430923FA67F25843E933FA57F26831E920FA20733857E933FA67F24841E930FA30F32833E923FA37F20857E943FA67F22841E920FA30F23831E930FA57F2F831E933FA30F21841E943FA57F92831E933FA30F2E867E943FA67F2D841E923FA30F30843E923FA67F2985209204A520278000913FA67F2880009000A67E" ] } }, { "href": "/power/vs/0", "rep": { "x.com.samsung.da.power": "On" } }, { "href": "/power/0", "rep": { "value": true } }, { "href": "/cycleinterface/vs/0", "rep": {} }, { "href": "/kidslock/vs/0", "rep": { "x.com.samsung.da.kidsLock": "Ready" } }, { "href": "/kidslock/0", "rep": { "value": false } }, { "href": "/operational/state/vs/0", "rep": { "x.com.samsung.da.state": "Ready", "x.com.samsung.da.remainingTime": "01:27:00", "x.com.samsung.da.progressPercentage": "1", "x.com.samsung.da.progress": "None", "x.com.samsung.da.delayEndTime": "00:00:00", "x.com.samsung.da.supportedProgress": [ "None", "Weightsensing", "Wash", "Rinse", "Spin", "Finish" ] } }, { "href": "/operational/state/0", "rep": { "currentMachineState": "idle", "machineStates": ["pause", "active", "idle"], "jobStates": [ "None", "Weightsensing", "Wash", "Rinse", "Spin", "Finish" ], "currentJobState": "None", "remainingTime": "01:27:00", "progressPercentage": "1" } }, { "href": "/information/vs/0", "rep": { "x.com.samsung.da.modelNum": "DA_WM_TP1_21_COMMON|20334241|20010002001711664AA3025700000000", "x.com.samsung.da.description": "DA_WM_TP1_21_COMMON_WW9000B/DC92-03350A_596E", "x.com.samsung.da.serialNum": "0AT15NAX100004B", "x.com.samsung.da.otnDUID": "P7CPH4AID5X5S", "x.com.samsung.da.diagProtocolType": "WIFI_HTTPS", "x.com.samsung.da.diagLogType": ["errCode", "dump"], "x.com.samsung.da.diagDumpType": "file", "x.com.samsung.da.diagEndPoint": "SSM", "x.com.samsung.da.diagMnid": "0AJT", "x.com.samsung.da.diagSetupid": "WF1", "x.com.samsung.da.diagMinVersion": "1.0", "x.com.samsung.da.items": [ { "x.com.samsung.da.id": "0", "x.com.samsung.da.description": "DA_WM_TP1_21_COMMON|20334241|20010002001711664AA3025700000000", "x.com.samsung.da.type": "Software", "x.com.samsung.da.number": "02986A230810(A138)", "x.com.samsung.da.newVersionAvailable": "0" }, { "x.com.samsung.da.id": "1", "x.com.samsung.da.description": "Firmware_1_DB_20334241230918050FFFFF203350412304286104FFFF(01672033424120335041_30000000)(FileDown:0)(Type:0)", "x.com.samsung.da.type": "Firmware", "x.com.samsung.da.number": "23091805,23042861", "x.com.samsung.da.newVersionAvailable": "0" }, { "x.com.samsung.da.id": "2", "x.com.samsung.da.description": "Firmware_2_DB_2025984522122703042FFFFFFFFFFFFFFFFFFFFFFFFE(016720259845FFFFFFFF_30000000)(FileDown:0)(Type:0)", "x.com.samsung.da.type": "Firmware", "x.com.samsung.da.number": "22122703,FFFFFFFF" } ] } }, { "href": "/file/information/vs/0", "rep": { "x.com.samsung.timeoffset": "+00:00" } }, { "href": "/washer/vs/0", "rep": { "x.com.samsung.da.detergentLevel": "1", "x.com.samsung.da.softenerLevel": "2", "x.com.samsung.da.waterTemperature": "20", "x.com.samsung.da.supportedWaterTemperature": [ "None", "Cold", "20", "30", "40", "60", "90" ], "x.com.samsung.da.spinLevel": "1000", "x.com.samsung.da.supportedSpinLevel": [ "RinseHold", "NoSpin", "400", "800", "1000", "1200", "1400" ], "x.com.samsung.da.rinseCycles": "2", "x.com.samsung.da.supportedRinseCycles": [ "0", "1", "2", "3", "4", "5" ] } }, { "href": "/st/washercourse/vs/0", "rep": { "x.com.samsung.da.st.washerMode": "Table_02_Course_1B", "x.com.samsung.da.st.courseTable": "Table_02" } }, { "href": "/water/consumption/vs/0", "rep": { "x.com.samsung.da.cumulativeWater": "0" } }, { "href": "/setting/vs/0", "rep": { "x.com.samsung.da.supportedSetLanguage": ["ko_KR", "en_US"], "x.com.samsung.da.setLanguage": "en_US" } }, { "href": "/wm/editcourse/vs/0", "rep": { "x.com.samsung.da.editCourseList": "EditCourseList_1B2B1E1D968E3525263324322022232F21922E2D30292728", "x.com.samsung.da.fixedCourseList": "FixedCourseList_1C353A29" } }, { "href": "/wm/setinfo/vs/0", "rep": { "x.com.samsung.da.isModelSettingWithoutSC": "true", "x.com.samsung.da.aiCourse": "false", "x.com.samsung.da.isModelSettingPowerOnOff": "false" } }, { "href": "/wm/jobbeginingstatus/vs/0", "rep": { "x.com.samsung.da.currentStatus": "None" } }, { "href": "/wm/welcomemsg/vs/0", "rep": {} }, { "href": "/wm/personalcourse/vs/0", "rep": { "x.com.samsung.da.courses": [ "F1_00", "F2_00", "F3_00", "F4_00", "F5_00", "F6_00", "F7_00", "F8_00", "F9_00", "FA_00" ], "x.com.samsung.da.maxCourseNum": "10" } }, { "href": "/otninformation/vs/0", "rep": { "x.com.samsung.da.target": "", "x.com.samsung.da.newVersionAvailable": "false", "flashingProgress": "" } }, { "href": "/buzzersound/vs/0", "rep": { "supportedBuzzerSound": ["Off", "On"], "setBuzzerSound": "On" } }, { "href": "/remotectrl/vs/0", "rep": { "x.com.samsung.da.remoteControlEnabled": "false" } }, { "href": "/remotectrl/0", "rep": { "value": false } }, { "href": "/configuration/vs/0", "rep": { "x.com.samsung.da.region": "0000000000", "x.com.samsung.da.countryCode": "" } }, { "href": "/drlc/0", "rep": { "DRLevel": 0, "start": "0000-00-00T00:00:00Z", "duration": 0, "override": false } }, { "href": "/drlc/vs/0", "rep": { "x.com.samsung.da.drlcLevel": "0", "x.com.samsung.da.durationminutes": "0", "x.com.samsung.da.start": "0000-00-00T00:00:00Z", "x.com.samsung.da.override": "Off", "x.com.samsung.da.realSaving": "Off" } }, { "href": "/connectionconfig/vs/0", "rep": { "autoReconnectionMinVersion": "1.0", "autoReconnection": "true", "autoReconnectionProtocolType": ["helper_hotspot"], "supportedWiFiAuthType": [ "OPEN", "WEP", "WPA-PSK", "WPA2-PSK", "SAE" ], "supportedWiFiCryptoType": [ "TKIP", "AES", "WEP-64", "WEP-128" ], "supportedWiFiFreq": ["2.4G"] } } ] }, "data": { "href": "/sec/devices" }, "timestamp": "2024-03-07T08:20:06.268Z" } }, "samsungce.softenerState": { "remainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "dosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "softenerType": { "value": "none", "timestamp": "2024-03-07T08:20:01.546Z" }, "initialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" } }, "samsungce.energyPlanner": { "data": { "value": null }, "plan": { "value": null } }, "sec.wifiConfiguration": { "autoReconnection": { "value": true, "timestamp": "2025-02-10T03:12:07.220Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-10T03:12:07.220Z" }, "supportedWiFiFreq": { "value": ["2.4G"], "timestamp": "2025-02-10T03:12:07.220Z" }, "supportedAuthType": { "value": ["OPEN", "WEP", "WPA-PSK", "WPA2-PSK", "SAE"], "timestamp": "2025-02-10T03:12:07.220Z" }, "protocolType": { "value": ["helper_hotspot", "ble_ocf"], "timestamp": "2025-02-10T03:12:07.220Z" } }, "remoteControlStatus": { "remoteControlEnabled": { "value": "false", "timestamp": "2025-02-10T03:12:05.613Z" } }, "custom.supportedOptions": { "course": { "value": null }, "referenceTable": { "value": { "id": "Table_02" }, "timestamp": "2025-02-10T03:12:05.816Z" }, "supportedCourses": { "value": [ "1B", "2B", "1E", "1D", "96", "8E", "35", "25", "26", "33", "24", "32", "20", "22", "23", "2F", "21", "92", "2E", "2D", "30", "29", "27", "28" ], "timestamp": "2025-02-10T03:12:04.669Z" } }, "samsungce.washerWashingTime": { "supportedWashingTimes": { "value": null }, "washingTime": { "value": null } }, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2024-03-07T08:20:01.546Z" }, "energySavingSupport": { "value": true, "timestamp": "2024-03-07T08:20:06.073Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2024-03-07T08:20:01.519Z" }, "energySavingLevel": { "value": null }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": null }, "energySavingOperation": { "value": false, "timestamp": "2025-02-10T03:12:04.845Z" }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": true, "timestamp": "2024-03-07T08:20:01.519Z" } }, "samsungce.softwareUpdate": { "targetModule": { "value": { "newVersion": "00000000", "currentVersion": "00000000", "moduleType": "mainController" }, "timestamp": "2025-02-10T03:12:05.506Z" }, "otnDUID": { "value": "P7CPH4AID5X5S", "timestamp": "2025-02-10T03:12:05.621Z" }, "lastUpdatedDate": { "value": null }, "availableModules": { "value": [], "timestamp": "2024-12-02T02:38:02.604Z" }, "newVersionAvailable": { "value": false, "timestamp": "2025-02-10T03:12:05.506Z" }, "operatingState": { "value": "none", "timestamp": "2025-02-10T03:12:05.506Z" }, "progress": { "value": null } }, "custom.washerSpinLevel": { "washerSpinLevel": { "value": "1200", "timestamp": "2025-02-10T03:12:05.784Z" }, "supportedWasherSpinLevel": { "value": [ "rinseHold", "noSpin", "400", "800", "1000", "1200", "1400" ], "timestamp": "2025-02-09T00:09:15.877Z" } }, "samsungce.dryerDryingTime": { "supportedDryingTime": { "value": null }, "dryingTime": { "value": null } }, "samsungce.washerDelayEnd": { "remainingTime": { "value": 0, "unit": "min", "timestamp": "2025-02-10T03:12:05.433Z" }, "minimumReservableTime": { "value": 34, "unit": "min", "timestamp": "2025-02-10T03:12:04.669Z" } }, "samsungce.welcomeMessage": { "welcomeMessage": { "value": null } }, "samsungce.clothingExtraCare": { "operationMode": { "value": null }, "userLocation": { "value": null } }, "samsungce.deviceIdentification": { "micomAssayCode": { "value": "20334241", "timestamp": "2025-02-10T03:12:05.621Z" }, "modelName": { "value": null }, "serialNumber": { "value": null }, "serialNumberExtra": { "value": null }, "modelClassificationCode": { "value": "20010002001711664AA3025700000000", "timestamp": "2025-02-10T03:12:05.621Z" }, "description": { "value": "DA_WM_TP1_21_COMMON_WW9000B/DC92-03350A_596E", "timestamp": "2025-02-10T03:12:05.621Z" }, "releaseYear": { "value": null }, "binaryId": { "value": "DA_WM_TP1_21_COMMON", "timestamp": "2025-02-10T03:51:54.419Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-10T03:51:54.582Z" } }, "samsungce.washerFreezePrevent": { "operatingState": { "value": null } }, "samsungce.quickControl": { "version": { "value": "1.0", "timestamp": "2025-02-10T03:12:07.009Z" } }, "custom.washerRinseCycles": { "supportedWasherRinseCycles": { "value": ["0", "1", "2", "3", "4", "5"], "timestamp": "2025-02-09T00:09:15.877Z" }, "washerRinseCycles": { "value": "5", "timestamp": "2025-02-10T03:12:05.784Z" } }, "samsungce.detergentOrder": { "alarmEnabled": { "value": false, "timestamp": "2025-02-10T03:12:04.669Z" }, "orderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" } }, "samsungce.detergentAutoReplenishment": { "neutralDetergentType": { "value": null }, "regularDetergentRemainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "babyDetergentRemainingAmount": { "value": null }, "neutralDetergentRemainingAmount": { "value": null }, "neutralDetergentAlarmEnabled": { "value": null }, "neutralDetergentOrderThreshold": { "value": null }, "babyDetergentInitialAmount": { "value": null }, "babyDetergentType": { "value": null }, "neutralDetergentInitialAmount": { "value": null }, "regularDetergentDosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "babyDetergentDosage": { "value": null }, "regularDetergentOrderThreshold": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "regularDetergentType": { "value": "none", "timestamp": "2025-02-10T03:12:04.669Z" }, "regularDetergentInitialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "regularDetergentAlarmEnabled": { "value": false, "timestamp": "2025-02-10T03:12:04.669Z" }, "neutralDetergentDosage": { "value": null }, "babyDetergentOrderThreshold": { "value": null }, "babyDetergentAlarmEnabled": { "value": null } }, "samsungce.washerCyclePreset": { "maxNumberOfPresets": { "value": 10, "timestamp": "2025-02-10T03:12:05.820Z" }, "presets": { "value": { "F1": {}, "F2": {}, "F3": {}, "F4": {}, "F5": {}, "F6": {}, "F7": {}, "F8": {}, "F9": {}, "FA": {} }, "timestamp": "2025-02-10T03:12:05.820Z" } }, "samsungce.detergentState": { "remainingAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "dosage": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "initialAmount": { "value": 0, "unit": "cc", "timestamp": "2025-02-10T03:12:04.669Z" }, "detergentType": { "value": "none", "timestamp": "2024-03-07T08:20:01.546Z" } }, "refresh": {}, "custom.jobBeginningStatus": { "jobBeginningStatus": { "value": "None", "timestamp": "2025-02-10T03:12:05.723Z" } }, "samsungce.flexibleAutoDispenseDetergent": { "remainingAmount": { "value": null }, "amount": { "value": null }, "supportedDensity": { "value": null }, "density": { "value": null }, "supportedAmount": { "value": null }, "availableTypes": { "value": null }, "type": { "value": null }, "recommendedAmount": { "value": null } }, "custom.washerAutoDetergent": { "washerAutoDetergent": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/ecobee_sensor.json000066400000000000000000000021751511701743400312520ustar00rootroot00000000000000{ "components": { "main": { "presenceSensor": { "presence": { "value": "not present", "timestamp": "2025-02-11T13:58:50.044Z" } }, "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2025-01-16T21:14:07.471Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-11T14:23:22.053Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 71, "unit": "F", "timestamp": "2025-02-11T14:36:16.823Z" } }, "refresh": {}, "motionSensor": { "motion": { "value": "inactive", "timestamp": "2025-02-11T13:58:50.044Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/ecobee_thermostat.json000066400000000000000000000047131511701743400321330ustar00rootroot00000000000000{ "components": { "main": { "relativeHumidityMeasurement": { "humidity": { "value": 32, "unit": "%", "timestamp": "2025-02-11T14:36:17.275Z" } }, "thermostatOperatingState": { "thermostatOperatingState": { "value": "heating", "timestamp": "2025-02-11T13:39:58.286Z" } }, "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2025-01-16T21:14:07.448Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-11T13:39:58.286Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 71, "unit": "F", "timestamp": "2025-02-11T14:23:21.556Z" } }, "thermostatHeatingSetpoint": { "heatingSetpoint": { "value": 71, "unit": "F", "timestamp": "2025-02-11T13:39:58.286Z" }, "heatingSetpointRange": { "value": null } }, "thermostatFanMode": { "thermostatFanMode": { "value": "auto", "data": { "supportedThermostatFanModes": ["on", "auto"] }, "timestamp": "2025-02-11T13:39:58.286Z" }, "supportedThermostatFanModes": { "value": ["on", "auto"], "timestamp": "2025-02-11T13:39:58.286Z" } }, "refresh": {}, "thermostatMode": { "thermostatMode": { "value": "heat", "data": { "supportedThermostatModes": ["off", "cool", "auxheatonly", "auto"] }, "timestamp": "2025-02-11T13:39:58.286Z" }, "supportedThermostatModes": { "value": ["off", "cool", "auxheatonly", "auto"], "timestamp": "2025-02-11T13:39:58.286Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": 73, "unit": "F", "timestamp": "2025-02-11T13:39:58.286Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/fake.json000066400000000000000000000003071511701743400273400ustar00rootroot00000000000000{ "components": { "main": { "fakeCapability": { "fakeAttribute": { "value": "BOOOOOOOM", "timestamp": "2024-12-31T09:18:21.859Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/ge_dimmer_assoc.json000066400000000000000000000006401511701743400315520ustar00rootroot00000000000000{ "components": { "main": { "switchLevel": { "levelRange": { "value": null }, "level": { "value": 100, "unit": "%", "timestamp": "2025-02-09T14:48:48.158Z" } }, "refresh": {}, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T17:17:49.842Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/ge_in_wall_smart_dimmer.json000066400000000000000000000006371511701743400333030ustar00rootroot00000000000000{ "components": { "main": { "switchLevel": { "levelRange": { "value": null }, "level": { "value": 39, "unit": "%", "timestamp": "2025-02-07T02:39:25.819Z" } }, "refresh": {}, "switch": { "switch": { "value": "off", "timestamp": "2025-02-08T23:21:22.908Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/hub.json000066400000000000000000000000271511701743400272070ustar00rootroot00000000000000{ "components": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/hue_color_temperature_bulb.json000066400000000000000000000032401511701743400340310ustar00rootroot00000000000000{ "components": { "main": { "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2023-12-17T18:11:41.671Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-07T15:14:53.823Z" } }, "switchLevel": { "levelRange": { "value": { "minimum": 1, "maximum": 100 }, "unit": "%", "timestamp": "2025-02-07T15:14:53.823Z" }, "level": { "value": 70, "unit": "%", "timestamp": "2025-02-07T21:56:04.127Z" } }, "refresh": {}, "synthetic.lightingEffectFade": { "fade": { "value": null } }, "colorTemperature": { "colorTemperatureRange": { "value": { "minimum": 2000, "maximum": 6535 }, "unit": "K", "timestamp": "2025-02-07T15:14:53.823Z" }, "colorTemperature": { "value": 3000, "unit": "K", "timestamp": "2025-02-07T21:56:04.127Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-07T21:56:04.127Z" } }, "synthetic.lightingEffectCircadian": { "circadian": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/hue_rgbw_color_bulb.json000066400000000000000000000041421511701743400324370ustar00rootroot00000000000000{ "components": { "main": { "colorControl": { "saturation": { "value": 60, "timestamp": "2025-02-07T15:14:53.812Z" }, "color": { "value": null }, "hue": { "value": 60.8072, "timestamp": "2025-02-07T15:14:53.812Z" } }, "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2023-12-17T18:11:41.678Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-07T15:14:53.812Z" } }, "switchLevel": { "levelRange": { "value": { "minimum": 1, "maximum": 100 }, "unit": "%", "timestamp": "2025-02-07T15:14:53.812Z" }, "level": { "value": 70, "unit": "%", "timestamp": "2025-02-07T21:56:02.381Z" } }, "refresh": {}, "synthetic.lightingEffectFade": { "fade": { "value": null } }, "samsungim.hueSyncMode": { "mode": { "value": "normal", "timestamp": "2025-02-07T15:14:53.812Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-08T07:08:19.519Z" } }, "colorTemperature": { "colorTemperatureRange": { "value": { "minimum": 2000, "maximum": 6535 }, "unit": "K", "timestamp": "2025-02-06T15:14:52.807Z" }, "colorTemperature": { "value": 3000, "unit": "K", "timestamp": "2025-02-07T21:56:02.381Z" } }, "synthetic.lightingEffectCircadian": { "circadian": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/ikea_e26.json000066400000000000000000000031571511701743400300250ustar00rootroot00000000000000{ "components": { "main": { "switchLevel": { "levelRange": { "value": null }, "level": { "value": 20, "unit": "%", "timestamp": "2025-02-09T16:42:27.457Z" } }, "refresh": {}, "synthetic.lightingEffectFade": { "fade": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "11115720", "timestamp": "2025-02-09T17:09:37.773Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2025-02-09T17:09:37.766Z" }, "updateAvailable": { "value": false, "timestamp": "2025-02-09T17:09:37.767Z" }, "currentVersion": { "value": "11115720", "timestamp": "2025-02-09T17:09:37.760Z" }, "lastUpdateTime": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T17:50:29.195Z" } }, "colorTemperature": { "colorTemperatureRange": { "value": null }, "colorTemperature": { "value": 3395, "unit": "K", "timestamp": "2025-02-09T16:42:27.494Z" } }, "synthetic.lightingEffectCircadian": { "circadian": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/ikea_floor_lamp.json000066400000000000000000000031571511701743400315630ustar00rootroot00000000000000{ "components": { "main": { "switchLevel": { "levelRange": { "value": null }, "level": { "value": 100, "unit": "%", "timestamp": "2024-11-06T22:37:46.588Z" } }, "refresh": {}, "synthetic.lightingEffectFade": { "fade": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "11115720", "timestamp": "2024-11-06T22:39:57.915Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2024-11-06T22:39:57.911Z" }, "updateAvailable": { "value": false, "timestamp": "2024-11-06T22:39:57.913Z" }, "currentVersion": { "value": "11115720", "timestamp": "2024-11-06T22:39:57.609Z" }, "lastUpdateTime": { "value": null } }, "switch": { "switch": { "value": "on", "timestamp": "2024-11-06T22:37:47.016Z" } }, "colorTemperature": { "colorTemperatureRange": { "value": null }, "colorTemperature": { "value": 2857, "unit": "K", "timestamp": "2024-11-06T22:37:47.911Z" } }, "synthetic.lightingEffectCircadian": { "circadian": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/ikea_remote_control.json000066400000000000000000000043761511701743400324700ustar00rootroot00000000000000{ "components": { "button2": { "button": { "button": { "value": "pushed", "timestamp": "2024-08-13T14:57:25.059Z" }, "numberOfButtons": { "value": 1, "timestamp": "2024-08-13T14:50:16.773Z" }, "supportedButtonValues": { "value": ["pushed", "held"], "timestamp": "2024-08-13T14:50:16.736Z" } } }, "main": { "button": { "button": { "value": "pushed", "timestamp": "2024-08-13T14:57:25.055Z" }, "numberOfButtons": { "value": 2, "timestamp": "2024-08-13T14:50:16.730Z" }, "supportedButtonValues": { "value": ["pushed", "held"], "timestamp": "2024-08-13T14:50:16.731Z" } }, "refresh": {}, "battery": { "quantity": { "value": null }, "battery": { "value": 100, "unit": "%", "timestamp": "2024-08-13T14:50:17.333Z" }, "type": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "22010631", "timestamp": "2024-08-13T14:51:33.136Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2024-08-13T14:51:33.133Z" }, "updateAvailable": { "value": false, "timestamp": "2024-08-13T14:51:33.134Z" }, "currentVersion": { "value": "22010631", "timestamp": "2024-08-13T14:51:32.892Z" }, "lastUpdateTime": { "value": null } } }, "button1": { "button": { "button": { "value": "pushed", "timestamp": "2024-08-13T14:57:24.797Z" }, "numberOfButtons": { "value": 1, "timestamp": "2024-08-13T14:50:16.776Z" }, "supportedButtonValues": { "value": ["pushed", "held"], "timestamp": "2024-08-13T14:50:16.772Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/im_smarttag2_ble_uwb.json000066400000000000000000000046661511701743400325360ustar00rootroot00000000000000{ "components": { "main": { "tag.e2eEncryption": { "encryption": { "value": null } }, "audioVolume": { "volume": { "value": null } }, "geofence": { "enableState": { "value": null }, "geofence": { "value": null }, "name": { "value": null } }, "tag.updatedInfo": { "connection": { "value": "connected", "timestamp": "2024-02-27T17:44:57.638Z" } }, "tag.factoryReset": {}, "battery": { "quantity": { "value": null }, "battery": { "value": null }, "type": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": null }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": null }, "updateAvailable": { "value": false, "timestamp": "2024-06-25T05:56:22.227Z" }, "currentVersion": { "value": null }, "lastUpdateTime": { "value": null } }, "tag.searchingStatus": { "searchingStatus": { "value": null } }, "tag.tagStatus": { "connectedUserId": { "value": null }, "tagStatus": { "value": null }, "connectedDeviceId": { "value": null } }, "alarm": { "alarm": { "value": null } }, "tag.tagButton": { "tagButton": { "value": null } }, "tag.uwbActivation": { "uwbActivation": { "value": null } }, "geolocation": { "method": { "value": null }, "heading": { "value": null }, "latitude": { "value": null }, "accuracy": { "value": null }, "altitudeAccuracy": { "value": null }, "speed": { "value": null }, "longitude": { "value": null }, "lastUpdateTime": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/im_smarttag_ble_uwb.json000066400000000000000000000046021511701743400324420ustar00rootroot00000000000000{ "components": { "main": { "tag.e2eEncryption": { "encryption": { "value": null } }, "audioVolume": { "volume": { "value": null } }, "geofence": { "enableState": { "value": null }, "geofence": { "value": null }, "name": { "value": null } }, "tag.updatedInfo": { "connection": { "value": "connected", "timestamp": "2023-05-25T10:05:45.139Z" } }, "tag.factoryReset": {}, "battery": { "quantity": { "value": null }, "battery": { "value": null }, "type": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": null }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": null }, "updateAvailable": { "value": null }, "currentVersion": { "value": null }, "lastUpdateTime": { "value": null } }, "tag.searchingStatus": { "searchingStatus": { "value": null } }, "tag.tagStatus": { "connectedUserId": { "value": null }, "tagStatus": { "value": null }, "connectedDeviceId": { "value": null } }, "alarm": { "alarm": { "value": null } }, "tag.tagButton": { "tagButton": { "value": null } }, "tag.uwbActivation": { "uwbActivation": { "value": null } }, "geolocation": { "method": { "value": null }, "heading": { "value": null }, "latitude": { "value": null }, "accuracy": { "value": null }, "altitudeAccuracy": { "value": null }, "speed": { "value": null }, "longitude": { "value": null }, "lastUpdateTime": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/iphone.json000066400000000000000000000003001511701743400277050ustar00rootroot00000000000000{ "components": { "main": { "presenceSensor": { "presence": { "value": "present", "timestamp": "2023-09-22T18:12:25.012Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/ledvance_switch.json000066400000000000000000000017161511701743400316010ustar00rootroot00000000000000{ "components": { "main": { "refresh": {}, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "00102101", "timestamp": "2025-02-08T19:08:34.692Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2025-02-08T19:08:34.691Z" }, "updateAvailable": { "value": false, "timestamp": "2025-02-08T19:08:34.693Z" }, "currentVersion": { "value": "00102101", "timestamp": "2025-02-08T19:08:34.690Z" }, "lastUpdateTime": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T17:24:49.699Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/main_virtual_device.json000066400000000000000000000003651511701743400324470ustar00rootroot00000000000000{ "components": { "main": { "refresh": {}, "legendabsolute60149.createDevice2": { "createDevice": { "value": "Total Devices: 1", "timestamp": "2025-02-05T18:19:42.010Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/multipurpose_sensor.json000066400000000000000000000034331511701743400325760ustar00rootroot00000000000000{ "components": { "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2025-02-08T14:00:28.332Z" } }, "threeAxis": { "threeAxis": { "value": [20, 8, -1042], "unit": "mG", "timestamp": "2025-02-09T17:27:36.673Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": null }, "temperature": { "value": 67.0, "unit": "F", "timestamp": "2025-02-09T17:56:19.744Z" } }, "refresh": {}, "battery": { "quantity": { "value": null }, "battery": { "value": 50, "unit": "%", "timestamp": "2025-02-09T12:24:02.074Z" }, "type": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "0000001B", "timestamp": "2025-02-09T04:20:25.600Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2025-02-09T04:20:25.600Z" }, "updateAvailable": { "value": false, "timestamp": "2025-02-09T04:20:25.601Z" }, "currentVersion": { "value": "0000001B", "timestamp": "2025-02-09T04:20:25.593Z" }, "lastUpdateTime": { "value": null } }, "accelerationSensor": { "acceleration": { "value": "inactive", "timestamp": "2025-02-09T17:27:46.812Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/sengled.json000066400000000000000000000024141511701743400300540ustar00rootroot00000000000000{ "components": { "main": { "switchLevel": { "levelRange": { "value": null }, "level": { "value": 100, "unit": "%", "timestamp": "2025-02-09T17:40:49.826Z" } }, "refresh": {}, "synthetic.lightingEffectFade": { "fade": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "00000009", "timestamp": "2025-02-09T14:56:17.080Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2025-02-09T14:56:17.080Z" }, "updateAvailable": { "value": false, "timestamp": "2025-02-09T14:56:17.078Z" }, "currentVersion": { "value": "00000009", "timestamp": "2025-02-09T14:56:17.081Z" }, "lastUpdateTime": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T17:09:35.224Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/sensibo_airconditioner_1.json000066400000000000000000000024061511701743400334070ustar00rootroot00000000000000{ "components": { "main": { "healthCheck": { "checkInterval": { "value": 60, "unit": "s", "data": { "deviceScheme": "UNTRACKED", "protocol": "cloud" }, "timestamp": "2024-12-04T10:10:02.934Z" }, "healthStatus": { "value": null }, "DeviceWatch-Enroll": { "value": null }, "DeviceWatch-DeviceStatus": { "value": "online", "data": {}, "timestamp": "2025-02-09T10:09:47.758Z" } }, "refresh": {}, "airConditionerMode": { "availableAcModes": { "value": null }, "supportedAcModes": { "value": null }, "airConditionerMode": { "value": "cool", "timestamp": "2025-02-09T10:09:47.758Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": null }, "coolingSetpoint": { "value": 20, "unit": "C", "timestamp": "2025-02-09T10:09:47.758Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T10:09:47.758Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/sonos_player.json000066400000000000000000000211601511701743400311470ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop"], "timestamp": "2025-02-02T13:18:40.078Z" }, "playbackStatus": { "value": "playing", "timestamp": "2025-02-09T19:53:58.330Z" } }, "mediaPresets": { "presets": { "value": [ { "id": "10", "imageUrl": "https://www.storytel.com//images/320x320/0000059036.jpg", "mediaSource": "Storytel", "name": "Dra \u00e5t skogen Sune!" }, { "id": "22", "imageUrl": "https://www.storytel.com//images/320x320/0000001894.jpg", "mediaSource": "Storytel", "name": "Fy katten Sune" }, { "id": "29", "imageUrl": "https://www.storytel.com//images/320x320/0000001896.jpg", "mediaSource": "Storytel", "name": "Gult \u00e4r fult, Sune" }, { "id": "2", "imageUrl": "https://static.mytuner.mobi/media/tvos_radios/2l5zg6lhjbab.png", "mediaSource": "myTuner Radio", "name": "Kiss" }, { "id": "3", "imageUrl": "https://www.storytel.com//images/320x320/0000046017.jpg", "mediaSource": "Storytel", "name": "L\u00e4skigt Sune!" }, { "id": "16", "imageUrl": "https://www.storytel.com//images/320x320/0002590598.jpg", "mediaSource": "Storytel", "name": "Pluggh\u00e4sten Sune" }, { "id": "14", "imageUrl": "https://www.storytel.com//images/320x320/0000000070.jpg", "mediaSource": "Storytel", "name": "Sagan om Sune" }, { "id": "18", "imageUrl": "https://www.storytel.com//images/320x320/0000006452.jpg", "mediaSource": "Storytel", "name": "Sk\u00e4mtaren Sune" }, { "id": "26", "imageUrl": "https://www.storytel.com//images/320x320/0000001892.jpg", "mediaSource": "Storytel", "name": "Spik och panik, Sune!" }, { "id": "7", "imageUrl": "https://www.storytel.com//images/320x320/0003119145.jpg", "mediaSource": "Storytel", "name": "Sune - T\u00e5gsemestern" }, { "id": "25", "imageUrl": "https://www.storytel.com//images/320x320/0000000071.jpg", "mediaSource": "Storytel", "name": "Sune b\u00f6rjar tv\u00e5an" }, { "id": "9", "imageUrl": "https://www.storytel.com//images/320x320/0000006448.jpg", "mediaSource": "Storytel", "name": "Sune i Grekland" }, { "id": "8", "imageUrl": "https://www.storytel.com//images/320x320/0002492498.jpg", "mediaSource": "Storytel", "name": "Sune i Ullared" }, { "id": "30", "imageUrl": "https://www.storytel.com//images/320x320/0002072946.jpg", "mediaSource": "Storytel", "name": "Sune och familjen Anderssons sjuka jul" }, { "id": "17", "imageUrl": "https://www.storytel.com//images/320x320/0000000475.jpg", "mediaSource": "Storytel", "name": "Sune och klantpappan" }, { "id": "11", "imageUrl": "https://www.storytel.com//images/320x320/0000042688.jpg", "mediaSource": "Storytel", "name": "Sune och Mamma Mysko" }, { "id": "20", "imageUrl": "https://www.storytel.com//images/320x320/0000000072.jpg", "mediaSource": "Storytel", "name": "Sune och syster vampyr" }, { "id": "15", "imageUrl": "https://www.storytel.com//images/320x320/0000039918.jpg", "mediaSource": "Storytel", "name": "Sune slutar f\u00f6rsta klass" }, { "id": "5", "imageUrl": "https://www.storytel.com//images/320x320/0000017431.jpg", "mediaSource": "Storytel", "name": "Sune v\u00e4rsta killen!" }, { "id": "27", "imageUrl": "https://www.storytel.com//images/320x320/0000068900.jpg", "mediaSource": "Storytel", "name": "Sunes halloween" }, { "id": "19", "imageUrl": "https://www.storytel.com//images/320x320/0000000476.jpg", "mediaSource": "Storytel", "name": "Sunes hemligheter" }, { "id": "21", "imageUrl": "https://www.storytel.com//images/320x320/0002370989.jpg", "mediaSource": "Storytel", "name": "Sunes hj\u00e4rnsl\u00e4pp" }, { "id": "24", "imageUrl": "https://www.storytel.com//images/320x320/0000001889.jpg", "mediaSource": "Storytel", "name": "Sunes jul" }, { "id": "28", "imageUrl": "https://www.storytel.com//images/320x320/0000034437.jpg", "mediaSource": "Storytel", "name": "Sunes party" }, { "id": "4", "imageUrl": "https://www.storytel.com//images/320x320/0000006450.jpg", "mediaSource": "Storytel", "name": "Sunes skolresa" }, { "id": "13", "imageUrl": "https://www.storytel.com//images/320x320/0000000477.jpg", "mediaSource": "Storytel", "name": "Sunes sommar" }, { "id": "12", "imageUrl": "https://www.storytel.com//images/320x320/0000046015.jpg", "mediaSource": "Storytel", "name": "Sunes Sommarstuga" }, { "id": "6", "imageUrl": "https://www.storytel.com//images/320x320/0002099327.jpg", "mediaSource": "Storytel", "name": "Supersnuten Sune" }, { "id": "23", "imageUrl": "https://www.storytel.com//images/320x320/0000563738.jpg", "mediaSource": "Storytel", "name": "Zunes stolpskott" } ], "timestamp": "2025-02-02T13:18:48.272Z" } }, "audioVolume": { "volume": { "value": 15, "unit": "%", "timestamp": "2025-02-09T19:57:37.230Z" } }, "mediaGroup": { "groupMute": { "value": "unmuted", "timestamp": "2025-02-07T01:19:54.911Z" }, "groupPrimaryDeviceId": { "value": "RINCON_38420B9108F601400", "timestamp": "2025-02-09T19:52:24.000Z" }, "groupId": { "value": "RINCON_38420B9108F601400:3579458382", "timestamp": "2025-02-09T19:54:06.936Z" }, "groupVolume": { "value": 12, "unit": "%", "timestamp": "2025-02-07T01:19:54.911Z" }, "groupRole": { "value": "ungrouped", "timestamp": "2025-02-09T19:52:23.974Z" } }, "refresh": {}, "mediaTrackControl": { "supportedTrackControlCommands": { "value": ["nextTrack", "previousTrack"], "timestamp": "2025-02-02T13:18:40.123Z" } }, "audioMute": { "mute": { "value": "unmuted", "timestamp": "2025-02-09T19:57:35.487Z" } }, "audioNotification": {}, "audioTrackData": { "totalTime": { "value": null }, "audioTrackData": { "value": { "album": "Forever Young", "albumArtUrl": "http://192.168.1.123:1400/getaa?s=1&u=x-sonos-spotify%3aspotify%253atrack%253a3bg2qahpZmsg5wV2EMPXIk%3fsid%3d9%26flags%3d8232%26sn%3d9", "artist": "David Guetta", "mediaSource": "Spotify", "title": "Forever Young" }, "timestamp": "2025-02-09T19:53:55.615Z" }, "elapsedTime": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/soundbar_hw_q80_r.json000066400000000000000000000111741511701743400317620ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop"], "timestamp": "2025-02-10T04:35:56.245Z" }, "playbackStatus": { "value": "stopped", "timestamp": "2025-02-10T04:35:56.245Z" } }, "samsungvd.groupInfo": { "role": { "value": "none", "timestamp": "2025-02-09T22:04:12.413Z" }, "channel": { "value": "all", "timestamp": "2025-02-09T22:04:12.413Z" }, "masterName": { "value": "", "timestamp": "2025-02-09T22:04:12.413Z" }, "status": { "value": "single", "timestamp": "2025-02-09T22:04:12.413Z" } }, "audioVolume": { "volume": { "value": 6, "unit": "%", "timestamp": "2025-02-10T04:18:07.796Z" } }, "ocf": { "st": { "value": "NONE", "timestamp": "2024-12-18T21:07:25.406Z" }, "mndt": { "value": "2018-01-01", "timestamp": "2024-12-18T21:07:25.406Z" }, "mnfv": { "value": "HW-Q80RWWB-1012.6", "timestamp": "2024-12-18T21:07:25.406Z" }, "mnhw": { "value": "0-0", "timestamp": "2024-12-18T21:07:25.406Z" }, "di": { "value": "12345678-1234-1234-1234-123456789012", "timestamp": "2024-12-18T21:07:25.406Z" }, "mnsl": { "value": "http://www.samsung.com/sec/audio-video/", "timestamp": "2024-12-18T21:07:25.406Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-12-18T21:07:25.406Z" }, "n": { "value": "[AV] Samsung Soundbar Q80R", "timestamp": "2024-12-18T21:07:25.406Z" }, "mnmo": { "value": "Q80R", "timestamp": "2024-12-18T21:07:25.406Z" }, "vid": { "value": "VD-NetworkAudio-001S", "timestamp": "2024-12-18T21:07:25.406Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-12-18T21:07:25.406Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2024-12-18T21:07:25.406Z" }, "mnpv": { "value": "Tizen 4.0", "timestamp": "2024-12-18T21:07:25.406Z" }, "mnos": { "value": "4.1.10", "timestamp": "2024-12-18T21:07:25.406Z" }, "pi": { "value": "12345678-1234-1234-1234-123456789012", "timestamp": "2024-12-18T21:07:25.406Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-12-18T21:07:25.406Z" } }, "mediaInputSource": { "supportedInputSources": { "value": ["wifi", "bluetooth", "HDMI1", "HDMI2", "digital"], "timestamp": "2025-02-10T00:08:44.336Z" }, "inputSource": { "value": "digital", "timestamp": "2025-02-10T00:08:44.336Z" } }, "refresh": {}, "audioNotification": {}, "audioMute": { "mute": { "value": "unmuted", "timestamp": "2025-02-10T04:18:07.796Z" } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.networkaudio.soundmode"], "if": ["oic.if.a", "oic.if.baseline"], "x.com.samsung.networkaudio.soundmode": "standard" } }, "data": { "href": "/sec/networkaudio/soundmode" }, "timestamp": "2023-07-16T23:16:55.582Z" } }, "samsungvd.audioInputSource": { "supportedInputSources": { "value": ["wifi", "bluetooth", "HDMI1", "HDMI2", "digital"], "timestamp": "2025-02-10T00:08:44.336Z" }, "inputSource": { "value": "digital", "timestamp": "2025-02-10T00:08:44.336Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-10T00:08:44.414Z" } }, "audioTrackData": { "totalTime": { "value": null, "timestamp": "2020-07-30T16:09:09.109Z" }, "audioTrackData": { "value": { "title": "", "artist": "" }, "timestamp": "2025-01-05T21:23:40.238Z" }, "elapsedTime": { "value": null, "timestamp": "2020-07-30T16:09:09.109Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/switch_binary_indicator.json000066400000000000000000000003071511701743400333330ustar00rootroot00000000000000{ "components": { "main": { "refresh": {}, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T16:26:22.800Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/switch_level.json000066400000000000000000000060171511701743400311260ustar00rootroot00000000000000{ "components": { "main": { "legendabsolute60149.randomNextStep": { "randomNext": { "value": "Inactive", "timestamp": "2024-09-08T20:28:14.452Z" } }, "legendabsolute60149.randomOnOff1": { "randomOnOff": { "value": "Inactive", "timestamp": "2024-09-08T20:28:14.454Z" } }, "legendabsolute60149.getGroups": { "getGroups": { "value": "All Deleted", "timestamp": "2023-10-02T12:05:15.321Z" } }, "legendabsolute60149.levelSteps": { "levelSteps": { "value": 0, "unit": "%", "timestamp": "2024-03-19T12:20:57.785Z" } }, "switchLevel": { "levelRange": { "value": null }, "level": { "value": 100, "unit": "%", "timestamp": "2025-02-09T17:05:04.951Z" } }, "legendabsolute60149.forcedOnLevel": { "forcedOnLevel": { "value": 0, "unit": "%", "timestamp": "2023-10-02T12:05:15.136Z" } }, "refresh": {}, "legendabsolute60149.progressiveOn1": { "progOn": { "value": "Inactive", "timestamp": "2023-10-02T12:05:15.116Z" } }, "legendabsolute60149.mirrorGroupFunction": { "mirrorGroupFunction": { "value": "Inactive", "timestamp": "2023-10-02T12:05:15.137Z" } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "0000000C", "timestamp": "2025-02-09T16:57:40.214Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2025-02-09T16:57:40.212Z" }, "updateAvailable": { "value": false, "timestamp": "2025-02-09T16:57:40.210Z" }, "currentVersion": { "value": "0000000C", "timestamp": "2025-02-09T16:57:40.212Z" }, "lastUpdateTime": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T17:39:48.986Z" } }, "legendabsolute60149.driverVersion1": { "driverVersion": { "value": null } }, "legendabsolute60149.effectsSetCommand": { "effectsSetCommand": { "value": "Inactive", "timestamp": "2023-10-02T12:05:15.168Z" } }, "legendabsolute60149.progressiveOff1": { "progOff": { "value": "Inactive", "timestamp": "2023-10-02T12:05:15.143Z" } }, "legendabsolute60149.signalMetrics": { "signalMetrics": { "value": "2025/02/09 Time: 17:54, LQI: 254 ... rssi: -64", "timestamp": "2025-02-09T17:54:48.996Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_frame_2024.json000066400000000000000000000241671511701743400306760ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop", "fastForward", "rewind"], "timestamp": "2025-01-07T00:16:38.482Z" }, "playbackStatus": { "value": null } }, "samsungim.fixedFindNode": {}, "samsungvd.supportsPowerOnByOcf": { "supportsPowerOnByOcf": { "value": "true", "timestamp": "2024-12-04T17:30:59.379Z" } }, "sec.deviceConnectionState": { "deviceConnectionState": { "value": null } }, "mediaInputSource": { "supportedInputSources": { "value": [], "timestamp": "2025-01-07T00:16:38.482Z" }, "inputSource": { "value": null } }, "samsungvd.deviceCategory": { "category": { "value": "frametv", "timestamp": "2024-12-05T08:21:16.998Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-11T19:13:51.503Z" } }, "samsungvd.pictureMode": { "pictureMode": { "value": "Standaard (gekalibreerd)", "timestamp": "2025-01-08T08:21:14.262Z" }, "supportedPictureModes": { "value": ["Dynamisch", "Eco", "Film (gekalibreerd)", "Standaard"], "timestamp": "2025-02-01T08:21:13.288Z" }, "supportedPictureModesMap": { "value": [ { "id": "modeDynamic", "name": "Dynamisch" }, { "id": "modeGen_65552", "name": "Eco" }, { "id": "modeMovie", "name": "Film (gekalibreerd)" }, { "id": "modeStandard", "name": "Standaard" } ], "timestamp": "2025-02-01T08:21:13.288Z" } }, "ocf": { "st": { "value": "2024-12-30T01:21:33Z", "timestamp": "2025-01-07T00:16:38.482Z" }, "mndt": { "value": "2024-01-01", "timestamp": "2025-01-07T00:16:38.482Z" }, "mnfv": { "value": "T-PTMDDEUC-1201.8|ST_ENERGY", "timestamp": "2025-01-07T00:16:38.482Z" }, "mnhw": { "value": "", "timestamp": "2025-01-07T00:16:38.482Z" }, "di": { "value": "425ac77a-f7c9-a62d-ff12-cdad144952e3", "timestamp": "2025-01-07T00:16:38.482Z" }, "mnsl": { "value": "", "timestamp": "2025-01-07T00:16:38.482Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-07T00:16:38.482Z" }, "n": { "value": "55 The Frame", "timestamp": "2025-01-07T00:16:38.482Z" }, "mnmo": { "value": "QE55LS03DAUXXN", "timestamp": "2025-01-07T00:16:38.482Z" }, "vid": { "value": "VD-FRAME-2024", "timestamp": "2025-01-07T00:16:38.482Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-07T00:16:38.482Z" }, "mnml": { "value": "", "timestamp": "2025-01-07T00:16:38.482Z" }, "mnpv": { "value": "8.0", "timestamp": "2025-01-07T00:16:38.482Z" }, "mnos": { "value": "Tizen", "timestamp": "2025-01-07T00:16:38.482Z" }, "pi": { "value": "425ac77a-f7c9-a62d-ff12-cdad144952e3", "timestamp": "2025-01-07T00:16:38.482Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-07T00:16:38.482Z" } }, "samsungvd.supportsFeatures": { "mediaOutputSupported": { "value": true, "timestamp": "2024-12-31T16:44:12.196Z" }, "imeAdvSupported": { "value": true, "timestamp": "2024-12-16T21:32:52.936Z" }, "wifiUpdateSupport": { "value": null }, "executableServiceList": { "value": null }, "remotelessSupported": { "value": null }, "mobileCamSupported": { "value": true, "timestamp": "2024-12-16T21:32:52.936Z" } }, "custom.accessibility": {}, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungvd.ambientContent"], "timestamp": "2025-01-07T00:16:42.057Z" } }, "samsungvd.remoteControl": {}, "samsungvd.lightControl": { "supportedModeMap": { "value": [ { "id": "", "name": "" } ], "timestamp": "2024-12-05T08:21:17.043Z" }, "requestId": { "value": "", "timestamp": "2024-12-05T08:21:17.043Z" }, "selectedMode": { "value": "", "timestamp": "2024-12-05T08:21:17.043Z" }, "streamControl": { "value": false, "timestamp": "2024-12-05T08:21:17.043Z" }, "selectedAppId": { "value": "", "timestamp": "2024-12-05T08:21:17.043Z" }, "errorCode": { "value": "", "timestamp": "2024-12-05T08:21:17.043Z" }, "supportedModes": { "value": [""], "timestamp": "2024-12-05T08:21:17.043Z" } }, "samsungvd.soundMode": { "supportedSoundModesMap": { "value": [ { "id": "modeStandard", "name": "Standaard" }, { "id": "modeAmplify", "name": "Versterken" } ], "timestamp": "2025-02-01T08:21:13.092Z" }, "soundMode": { "value": "Standaard", "timestamp": "2024-12-30T08:21:13.923Z" }, "supportedSoundModes": { "value": ["Standaard", "Versterken"], "timestamp": "2025-02-01T08:21:13.092Z" } }, "custom.launchapp": {}, "samsungvd.firmwareVersion": { "firmwareVersion": { "value": "3.5.1", "timestamp": "2024-12-05T08:21:16.998Z" } }, "samsungvd.thingStatus": { "updatedTime": { "value": 1739230510, "timestamp": "2025-02-10T23:35:10.157Z" }, "status": { "value": "Idle", "timestamp": "2024-12-04T17:30:59.219Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "start": "2025-02-10T23:35:06Z", "duration": 99999999, "override": false }, "timestamp": "2025-02-10T23:35:11.458Z" } }, "audioVolume": { "volume": { "value": 12, "unit": "%", "timestamp": "2025-02-10T08:21:19.143Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 0, "deltaEnergy": 22.756029, "power": 0, "powerEnergy": 0, "persistedEnergy": 0, "energySaved": 0, "persistedSavedEnergy": 0, "start": "2025-02-11T18:58:44Z", "end": "2025-02-11T19:13:51Z" }, "timestamp": "2025-02-11T19:13:51.510Z" } }, "samsungvd.mediaInputSource": { "supportedInputSourcesMap": { "value": [ { "id": "dtv", "name": "Tv" }, { "id": "HDMI1", "name": "Chromecast" }, { "id": "HDMI3", "name": "Ultra Slim Soundbar" }, { "id": "HDMI4", "name": "PlayStation 5" } ], "timestamp": "2025-01-26T16:23:24.982Z" }, "inputSource": { "value": "HDMI1", "timestamp": "2025-02-09T10:54:38.169Z" } }, "custom.tvsearch": {}, "samsungvd.ambient": {}, "refresh": {}, "custom.error": { "error": { "value": null } }, "execute": { "data": { "value": null } }, "tvChannel": { "tvChannel": { "value": "", "timestamp": "2025-02-11T17:41:57.453Z" }, "tvChannelName": { "value": "9Ur5IzDKqV.TizenYouTube", "timestamp": "2025-02-11T17:41:57.453Z" } }, "samsungvd.ambientContent": { "supportedAmbientApps": { "value": [], "timestamp": "2025-01-07T00:16:38.482Z" } }, "custom.recording": {}, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2024-12-04T17:31:01.054Z" }, "energySavingSupport": { "value": true, "timestamp": "2024-12-04T17:31:01.054Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2024-12-04T17:31:01.054Z" }, "energySavingLevel": { "value": 1, "timestamp": "2024-12-04T17:31:01.054Z" }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": [1], "timestamp": "2024-12-04T17:31:01.054Z" }, "energySavingOperation": { "value": false, "timestamp": "2024-12-04T17:31:01.054Z" }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": true, "timestamp": "2024-12-04T17:31:01.054Z" } }, "audioMute": { "mute": { "value": "muted", "timestamp": "2025-02-01T08:21:12.888Z" } }, "mediaTrackControl": { "supportedTrackControlCommands": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_network_audio_002s.json000066400000000000000000000101751511701743400325450ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop"], "timestamp": "2025-02-09T15:42:12.923Z" }, "playbackStatus": { "value": "stopped", "timestamp": "2025-02-09T15:42:12.923Z" } }, "samsungvd.soundFrom": { "mode": { "value": 3, "timestamp": "2025-02-09T15:42:13.215Z" }, "detailName": { "value": "External Device", "timestamp": "2025-02-09T15:42:13.215Z" } }, "audioVolume": { "volume": { "value": 17, "unit": "%", "timestamp": "2025-02-09T17:25:51.839Z" } }, "samsungvd.audioGroupInfo": { "role": { "value": null }, "status": { "value": null } }, "refresh": {}, "audioNotification": {}, "execute": { "data": { "value": null } }, "samsungvd.audioInputSource": { "supportedInputSources": { "value": ["digital", "HDMI1", "bluetooth", "wifi", "HDMI2"], "timestamp": "2025-02-09T17:18:44.680Z" }, "inputSource": { "value": "HDMI1", "timestamp": "2025-02-09T17:18:44.680Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-09T17:25:51.536Z" } }, "ocf": { "st": { "value": "2024-12-10T02:12:44Z", "timestamp": "2024-12-31T01:03:42.587Z" }, "mndt": { "value": "2023-01-01", "timestamp": "2024-12-31T01:03:42.587Z" }, "mnfv": { "value": "SAT-iMX8M23WWC-1010.5", "timestamp": "2024-12-31T01:03:42.587Z" }, "mnhw": { "value": "", "timestamp": "2024-12-31T01:03:42.587Z" }, "di": { "value": "0d94e5db-8501-2355-eb4f-214163702cac", "timestamp": "2024-12-31T01:03:42.587Z" }, "mnsl": { "value": "", "timestamp": "2024-12-31T01:03:42.587Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-12-31T01:03:42.587Z" }, "n": { "value": "Soundbar Living", "timestamp": "2024-12-31T01:03:42.587Z" }, "mnmo": { "value": "HW-Q990C", "timestamp": "2024-12-31T01:03:42.587Z" }, "vid": { "value": "VD-NetworkAudio-002S", "timestamp": "2024-12-31T01:03:42.587Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-12-31T01:03:42.587Z" }, "mnml": { "value": "", "timestamp": "2024-12-31T01:03:42.587Z" }, "mnpv": { "value": "7.0", "timestamp": "2024-12-31T01:03:42.587Z" }, "mnos": { "value": "Tizen", "timestamp": "2024-12-31T01:03:42.587Z" }, "pi": { "value": "0d94e5db-8501-2355-eb4f-214163702cac", "timestamp": "2024-12-31T01:03:42.587Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-12-31T01:03:42.587Z" } }, "audioMute": { "mute": { "value": "unmuted", "timestamp": "2025-02-09T17:18:44.787Z" } }, "samsungvd.thingStatus": { "updatedTime": { "value": 1739115734, "timestamp": "2025-02-09T15:42:13.949Z" }, "status": { "value": "Idle", "timestamp": "2025-02-09T15:42:13.949Z" } }, "audioTrackData": { "totalTime": { "value": 0, "timestamp": "2024-12-31T00:29:29.953Z" }, "audioTrackData": { "value": { "title": "", "artist": "", "album": "" }, "timestamp": "2024-12-31T00:29:29.953Z" }, "elapsedTime": { "value": 0, "timestamp": "2024-12-31T00:29:29.828Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_network_audio_003s.json000066400000000000000000000131551511701743400325470ustar00rootroot00000000000000{ "components": { "main": { "samsungvd.soundFrom": { "mode": { "value": 10, "timestamp": "2025-02-11T17:41:57.454Z" }, "detailName": { "value": "TV", "timestamp": "2025-02-11T17:41:57.454Z" } }, "audioVolume": { "volume": { "value": 18, "unit": "%", "timestamp": "2025-02-11T19:02:52.690Z" } }, "samsungvd.audioGroupInfo": { "role": { "value": null }, "status": { "value": null } }, "refresh": {}, "audioNotification": {}, "execute": { "data": { "value": null } }, "samsungvd.audioInputSource": { "supportedInputSources": { "value": ["BT", "WIFI"], "timestamp": "2025-02-11T08:21:18.201Z" }, "inputSource": { "value": "D.IN", "timestamp": "2025-02-11T08:21:18.201Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-11T19:02:51.925Z" } }, "sec.wifiConfiguration": { "autoReconnection": { "value": true, "timestamp": "2025-02-11T08:21:17.849Z" }, "minVersion": { "value": "1.0", "timestamp": "2025-02-11T08:21:17.849Z" }, "supportedWiFiFreq": { "value": ["2.4G", "5G"], "timestamp": "2025-02-11T08:21:17.849Z" }, "supportedAuthType": { "value": [ "OPEN", "WEP", "WPA-PSK", "WPA2-PSK", "EAP", "SAE", "OWE", "FT-PSK" ], "timestamp": "2025-02-11T08:21:17.849Z" }, "protocolType": { "value": ["ble_ocf"], "timestamp": "2025-02-11T08:21:17.849Z" } }, "ocf": { "st": { "value": "2025-01-17T01:52:47Z", "timestamp": "2025-01-17T08:58:48.549Z" }, "mndt": { "value": "2024-01-01", "timestamp": "2025-01-17T08:58:48.549Z" }, "mnfv": { "value": "SAT-MT8532D24WWC-1016.0", "timestamp": "2025-01-17T08:58:48.549Z" }, "mnhw": { "value": "", "timestamp": "2025-01-17T08:58:48.549Z" }, "di": { "value": "9985fbfa-777a-4fae-a637-6148f41b3c63", "timestamp": "2025-01-17T08:58:48.549Z" }, "mnsl": { "value": "", "timestamp": "2025-01-17T08:58:48.549Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-17T08:58:48.549Z" }, "n": { "value": "Ultra Slim Soundbar", "timestamp": "2025-01-17T08:58:48.549Z" }, "mnmo": { "value": "HW-S701D", "timestamp": "2025-01-17T08:58:48.549Z" }, "vid": { "value": "VD-NetworkAudio-003S", "timestamp": "2025-01-17T08:58:48.549Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-17T08:58:48.549Z" }, "mnml": { "value": "", "timestamp": "2025-01-17T08:58:48.549Z" }, "mnpv": { "value": "8.0", "timestamp": "2025-01-17T08:58:48.549Z" }, "mnos": { "value": "Tizen", "timestamp": "2025-01-17T08:58:48.549Z" }, "pi": { "value": "9985fbfa-777a-4fae-a637-6148f41b3c63", "timestamp": "2025-01-17T08:58:48.549Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-17T08:58:48.549Z" } }, "samsungvd.supportsFeatures": { "mediaOutputSupported": { "value": null }, "imeAdvSupported": { "value": null }, "wifiUpdateSupport": { "value": true, "timestamp": "2025-02-11T08:21:18.103Z" }, "executableServiceList": { "value": null }, "remotelessSupported": { "value": null }, "mobileCamSupported": { "value": null } }, "sec.diagnosticsInformation": { "logType": { "value": ["errCode", "dump"], "timestamp": "2025-02-11T08:21:18.057Z" }, "endpoint": { "value": "PIPER", "timestamp": "2025-02-11T08:21:18.057Z" }, "minVersion": { "value": "3.0", "timestamp": "2025-02-11T08:21:18.057Z" }, "signinPermission": { "value": null }, "setupId": { "value": "301", "timestamp": "2025-02-11T08:21:18.057Z" }, "protocolType": { "value": "ble_ocf", "timestamp": "2025-02-11T08:21:18.057Z" }, "tsId": { "value": "VD02", "timestamp": "2025-02-11T08:21:18.057Z" }, "mnId": { "value": "0AJK", "timestamp": "2025-02-11T08:21:18.057Z" }, "dumpType": { "value": "file", "timestamp": "2025-02-11T08:21:18.057Z" } }, "audioMute": { "mute": { "value": "unmuted", "timestamp": "2025-02-11T19:02:51.841Z" } }, "samsungvd.thingStatus": { "updatedTime": { "value": 1739262078, "timestamp": "2025-02-11T08:21:17.905Z" }, "status": { "value": "Idle", "timestamp": "2025-02-11T08:21:17.905Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_sensor_light_2023.json000066400000000000000000000045101511701743400322710ustar00rootroot00000000000000{ "components": { "main": { "ocf": { "st": { "value": "2025-01-14T08:07:36Z", "timestamp": "2025-01-14T08:07:40.220Z" }, "mndt": { "value": "2023-01-01", "timestamp": "2025-01-14T08:07:40.220Z" }, "mnfv": { "value": "latest", "timestamp": "2025-01-14T08:07:40.220Z" }, "mnhw": { "value": "", "timestamp": "2025-01-14T08:07:40.220Z" }, "di": { "value": "5cc1c096-98b9-460c-8f1c-1045509ec605", "timestamp": "2025-01-14T08:07:40.220Z" }, "mnsl": { "value": "", "timestamp": "2025-01-14T08:07:40.220Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-14T08:07:40.220Z" }, "n": { "value": "Light Sensor - 55 The Frame", "timestamp": "2025-01-14T08:07:40.220Z" }, "mnmo": { "value": "QE55LS03DAUXXN", "timestamp": "2025-01-14T08:07:40.220Z" }, "vid": { "value": "VD-Sensor.Light-2023", "timestamp": "2025-01-14T08:07:40.220Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-14T08:07:40.220Z" }, "mnml": { "value": "", "timestamp": "2025-01-14T08:07:40.220Z" }, "mnpv": { "value": "8.0", "timestamp": "2025-01-14T08:07:40.220Z" }, "mnos": { "value": "Tizen", "timestamp": "2025-01-14T08:07:40.220Z" }, "pi": { "value": "5cc1c096-98b9-460c-8f1c-1045509ec605", "timestamp": "2025-01-14T08:07:40.220Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-14T08:07:40.220Z" } }, "samsungvd.deviceCategory": { "category": { "value": null } }, "relativeBrightness": { "brightnessIntensity": { "value": 2, "unit": "level", "timestamp": "2025-02-11T19:08:25.539Z" } }, "refresh": {}, "execute": { "data": { "value": null } }, "switch": { "switch": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_sensor_sound_2023.json000066400000000000000000000054061511701743400323170ustar00rootroot00000000000000{ "components": { "main": { "ocf": { "st": { "value": "2024-12-18T00:04:21Z", "timestamp": "2024-12-18T00:04:22.237Z" }, "mndt": { "value": "2023-01-01", "timestamp": "2024-12-18T00:04:22.237Z" }, "mnfv": { "value": "latest", "timestamp": "2024-12-18T00:04:22.237Z" }, "mnhw": { "value": "", "timestamp": "2024-12-18T00:04:22.237Z" }, "di": { "value": "930eced7-366d-4e6d-b2f2-e3a80f3d5a0c", "timestamp": "2024-12-18T00:04:22.237Z" }, "mnsl": { "value": "", "timestamp": "2024-12-18T00:04:22.237Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-12-18T00:04:22.237Z" }, "n": { "value": "Sound Sensor - 55 The Frame", "timestamp": "2024-12-18T00:04:22.237Z" }, "mnmo": { "value": "QE55LS03DAUXXN", "timestamp": "2024-12-18T00:04:22.237Z" }, "vid": { "value": "VD-Sensor.Sound-2023", "timestamp": "2024-12-18T00:04:22.237Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-12-18T00:04:22.237Z" }, "mnml": { "value": "", "timestamp": "2024-12-18T00:04:22.237Z" }, "mnpv": { "value": "8.0", "timestamp": "2024-12-18T00:04:22.237Z" }, "mnos": { "value": "Tizen", "timestamp": "2024-12-18T00:04:22.237Z" }, "pi": { "value": "930eced7-366d-4e6d-b2f2-e3a80f3d5a0c", "timestamp": "2024-12-18T00:04:22.237Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-12-18T00:04:22.237Z" } }, "samsungvd.soundDetection": { "soundDetected": { "value": "off", "timestamp": "2025-02-11T18:33:12.594Z" } }, "samsungvd.deviceCategory": { "category": { "value": null } }, "soundDetection": { "soundDetectionState": { "value": "disabled", "timestamp": "2025-02-09T00:23:59.329Z" }, "supportedSoundTypes": { "value": ["noSound", "dogBarking"], "timestamp": "2025-02-09T00:23:59.329Z" }, "soundDetected": { "value": "noSound", "timestamp": "2025-02-09T00:23:59.329Z" } }, "refresh": {}, "execute": { "data": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-11T18:33:12.594Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_stv_2017_k.json000066400000000000000000000165421511701743400307320ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop", "fastForward", "rewind"], "timestamp": "2020-05-07T02:58:10.250Z" }, "playbackStatus": { "value": null, "timestamp": "2020-08-04T21:53:22.108Z" } }, "audioVolume": { "volume": { "value": 13, "unit": "%", "timestamp": "2021-08-21T19:19:52.832Z" } }, "samsungvd.supportsPowerOnByOcf": { "supportsPowerOnByOcf": { "value": null, "timestamp": "2020-10-29T10:47:20.305Z" } }, "samsungvd.mediaInputSource": { "supportedInputSourcesMap": { "value": [ { "id": "dtv", "name": "TV" }, { "id": "HDMI1", "name": "PlayStation 4" }, { "id": "HDMI4", "name": "HT-CT370" }, { "id": "HDMI4", "name": "HT-CT370" } ], "timestamp": "2021-10-16T15:18:11.622Z" }, "inputSource": { "value": "HDMI1", "timestamp": "2021-08-28T16:29:59.716Z" } }, "mediaInputSource": { "supportedInputSources": { "value": ["digitalTv", "HDMI1", "HDMI4", "HDMI4"], "timestamp": "2021-10-16T15:18:11.622Z" }, "inputSource": { "value": "HDMI1", "timestamp": "2021-08-28T16:29:59.716Z" } }, "custom.tvsearch": {}, "samsungvd.ambient": {}, "refresh": {}, "custom.error": { "error": { "value": null, "timestamp": "2020-08-04T21:53:22.148Z" } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.tv.deviceinfo"], "if": ["oic.if.baseline", "oic.if.r"], "x.com.samsung.country": "USA", "x.com.samsung.infolinkversion": "T-INFOLINK2017-1008", "x.com.samsung.modelid": "17_KANTM_UHD", "x.com.samsung.tv.blemac": "CC:6E:A4:1F:4C:F7", "x.com.samsung.tv.btmac": "CC:6E:A4:1F:4C:F7", "x.com.samsung.tv.category": "tv", "x.com.samsung.tv.countrycode": "US", "x.com.samsung.tv.duid": "B2NBQRAG357IX", "x.com.samsung.tv.ethmac": "c0:48:e6:e7:fc:2c", "x.com.samsung.tv.p2pmac": "ce:6e:a4:1f:4c:f6", "x.com.samsung.tv.udn": "717fb7ed-b310-4cfe-8954-1cd8211dd689", "x.com.samsung.tv.wifimac": "cc:6e:a4:1f:4c:f6" } }, "data": { "href": "/sec/tv/deviceinfo" }, "timestamp": "2021-08-30T19:18:12.303Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2021-10-16T15:18:11.317Z" } }, "tvChannel": { "tvChannel": { "value": "", "timestamp": "2020-05-07T02:58:10.479Z" }, "tvChannelName": { "value": "", "timestamp": "2021-08-21T18:53:06.643Z" } }, "ocf": { "st": { "value": "2021-08-21T14:50:34Z", "timestamp": "2021-08-21T19:19:51.890Z" }, "mndt": { "value": "2017-01-01", "timestamp": "2021-08-21T19:19:51.890Z" }, "mnfv": { "value": "T-KTMAKUC-1290.3", "timestamp": "2021-08-21T18:52:57.543Z" }, "mnhw": { "value": "0-0", "timestamp": "2020-05-07T02:58:10.206Z" }, "di": { "value": "4588d2d9-a8cf-40f4-9a0b-ed5dfbaccda1", "timestamp": "2020-05-07T02:58:10.206Z" }, "mnsl": { "value": "http://www.samsung.com/sec/tv/overview/", "timestamp": "2021-08-21T19:19:51.890Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2021-08-21T18:52:58.071Z" }, "n": { "value": "[TV] Samsung 8 Series (49)", "timestamp": "2020-05-07T02:58:10.206Z" }, "mnmo": { "value": "UN49MU8000", "timestamp": "2020-05-07T02:58:10.206Z" }, "vid": { "value": "VD-STV_2017_K", "timestamp": "2020-05-07T02:58:10.206Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2020-05-07T02:58:10.206Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2020-05-07T02:58:10.206Z" }, "mnpv": { "value": "Tizen 3.0", "timestamp": "2020-05-07T02:58:10.206Z" }, "mnos": { "value": "4.1.10", "timestamp": "2020-05-07T02:58:10.206Z" }, "pi": { "value": "4588d2d9-a8cf-40f4-9a0b-ed5dfbaccda1", "timestamp": "2020-05-07T02:58:10.206Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2021-08-21T18:52:58.071Z" } }, "custom.picturemode": { "pictureMode": { "value": "Dynamic", "timestamp": "2020-12-23T01:33:37.069Z" }, "supportedPictureModes": { "value": ["Dynamic", "Standard", "Natural", "Movie"], "timestamp": "2020-05-07T02:58:10.585Z" }, "supportedPictureModesMap": { "value": [ { "id": "modeDynamic", "name": "Dynamic" }, { "id": "modeStandard", "name": "Standard" }, { "id": "modeNatural", "name": "Natural" }, { "id": "modeMovie", "name": "Movie" } ], "timestamp": "2020-12-23T01:33:37.069Z" } }, "samsungvd.ambientContent": { "supportedAmbientApps": { "value": [], "timestamp": "2021-01-17T01:10:11.985Z" } }, "custom.accessibility": {}, "custom.recording": {}, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungvd.ambient", "samsungvd.ambientContent"], "timestamp": "2021-01-17T01:10:11.985Z" } }, "custom.soundmode": { "supportedSoundModesMap": { "value": [ { "id": "modeStandard", "name": "Standard" } ], "timestamp": "2021-08-21T19:19:52.887Z" }, "soundMode": { "value": "Standard", "timestamp": "2020-12-23T01:33:37.272Z" }, "supportedSoundModes": { "value": ["Standard"], "timestamp": "2021-08-21T19:19:52.887Z" } }, "audioMute": { "mute": { "value": "muted", "timestamp": "2021-08-21T19:19:52.832Z" } }, "mediaTrackControl": { "supportedTrackControlCommands": { "value": null, "timestamp": "2020-08-04T21:53:22.384Z" } }, "custom.launchapp": {}, "samsungvd.firmwareVersion": { "firmwareVersion": { "value": null, "timestamp": "2020-10-29T10:47:19.376Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_stv_2018_k.json000066400000000000000000000160621511701743400307300ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop", "fastForward", "rewind"], "timestamp": "2020-08-28T18:07:41.571Z" }, "playbackStatus": { "value": null, "timestamp": "2021-01-18T18:56:40.681Z" } }, "samsungvd.supportsPowerOnByOcf": { "supportsPowerOnByOcf": { "value": "true", "timestamp": "2025-01-19T10:00:36.812Z" } }, "mediaInputSource": { "supportedInputSources": { "value": ["digitalTv"], "timestamp": "2023-07-08T11:32:59.982Z" }, "inputSource": { "value": "digitalTv", "timestamp": "2023-07-08T09:50:26.107Z" } }, "samsungvd.deviceCategory": { "category": { "value": null } }, "switch": { "switch": { "value": "off", "timestamp": "2025-01-19T20:28:01.990Z" } }, "ocf": { "st": { "value": "2023-07-08T13:32:52Z", "timestamp": "2023-07-08T11:33:02.416Z" }, "mndt": { "value": "2019-01-01", "timestamp": "2019-10-07T15:07:53.523Z" }, "mnfv": { "value": "T-MSMDEUC-1420.0", "timestamp": "2024-03-24T18:12:31.891Z" }, "mnhw": { "value": "0-0", "timestamp": "2019-10-07T15:07:53.682Z" }, "di": { "value": "a106da6d-2981-4c39-84c4-5d5b75b4784c", "timestamp": "2019-10-07T15:07:54.432Z" }, "mnsl": { "value": "http://www.samsung.com/sec/tv/overview/", "timestamp": "2019-10-07T15:07:53.536Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2019-10-07T15:07:54.460Z" }, "n": { "value": "[TV] Samsung Q70 Series (65)", "timestamp": "2020-08-28T18:07:41.559Z" }, "mnmo": { "value": "QE65Q70RATXXC", "timestamp": "2020-08-28T18:07:41.559Z" }, "vid": { "value": "VD-STV_2018_K", "timestamp": "2020-08-28T18:07:41.559Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2020-08-28T18:07:41.559Z" }, "mnml": { "value": "http://www.samsung.com", "timestamp": "2019-10-07T15:07:53.642Z" }, "mnpv": { "value": "Tizen 5.0", "timestamp": "2020-08-28T18:07:41.559Z" }, "mnos": { "value": "4.1.10", "timestamp": "2019-10-07T15:07:53.577Z" }, "pi": { "value": "a106da6d-2981-4c39-84c4-5d5b75b4784c", "timestamp": "2019-10-07T15:07:53.655Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2019-10-07T15:07:54.416Z" } }, "custom.accessibility": {}, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungvd.ambient18", "sec.diagnosticsInformation"], "timestamp": "2023-07-08T11:33:00.033Z" } }, "samsungvd.remoteControl": {}, "sec.diagnosticsInformation": { "logType": { "value": null }, "endpoint": { "value": null }, "minVersion": { "value": null }, "signinPermission": { "value": null }, "setupId": { "value": null }, "protocolType": { "value": null }, "tsId": { "value": null }, "mnId": { "value": null }, "dumpType": { "value": null } }, "custom.launchapp": {}, "samsungvd.firmwareVersion": { "firmwareVersion": { "value": "2.4.0", "timestamp": "2025-01-19T10:00:36.812Z" } }, "audioVolume": { "volume": { "value": 9, "unit": "%", "timestamp": "2023-07-08T11:32:59.897Z" } }, "samsungvd.mediaInputSource": { "supportedInputSourcesMap": { "value": [ { "id": "dtv", "name": "TV" } ], "timestamp": "2025-01-19T19:17:40.851Z" }, "inputSource": { "value": "dtv", "timestamp": "2025-01-19T19:17:40.851Z" } }, "custom.tvsearch": {}, "samsungvd.ambient": {}, "refresh": {}, "custom.error": { "error": { "value": null, "timestamp": "2021-01-18T18:54:38.431Z" } }, "execute": { "data": { "value": null, "data": {}, "timestamp": "2021-01-18T18:54:42.846Z" } }, "tvChannel": { "tvChannel": { "value": "", "timestamp": "2024-10-27T09:14:38.510Z" }, "tvChannelName": { "value": "9Ur5IzDKqV.TizenYouTube", "timestamp": "2024-10-27T09:14:38.510Z" } }, "custom.picturemode": { "pictureMode": { "value": "Film", "timestamp": "2021-08-15T13:43:23.214Z" }, "supportedPictureModes": { "value": ["Dynamisk", "Standard", "Naturlig", "Film"], "timestamp": "2021-08-15T13:43:23.214Z" }, "supportedPictureModesMap": { "value": [ { "id": "modeDynamic", "name": "Dynamisk" }, { "id": "modeStandard", "name": "Standard" }, { "id": "modeNatural", "name": "Naturlig" }, { "id": "modeMovie", "name": "Film" } ], "timestamp": "2021-08-15T13:43:23.214Z" } }, "samsungvd.ambientContent": { "supportedAmbientApps": { "value": ["weather"], "timestamp": "2023-07-08T11:33:00.033Z" } }, "custom.recording": {}, "samsungvd.ambient18": {}, "custom.soundmode": { "supportedSoundModesMap": { "value": [ { "id": "modeStandard", "name": "Standard" }, { "id": "modeAmplify", "name": "F\u00f6rst\u00e4rk" } ], "timestamp": "2021-08-15T17:22:13.242Z" }, "soundMode": { "value": "F\u00f6rst\u00e4rk", "timestamp": "2021-08-15T13:43:23.231Z" }, "supportedSoundModes": { "value": ["Standard", "F\u00f6rst\u00e4rk"], "timestamp": "2021-08-15T17:22:13.242Z" } }, "audioMute": { "mute": { "value": "unmuted", "timestamp": "2021-08-15T19:27:08.441Z" } }, "mediaTrackControl": { "supportedTrackControlCommands": { "value": null, "timestamp": "2021-01-14T11:05:21.430Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_stv_2021.json000066400000000000000000000175221511701743400304120ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop", "fastForward", "rewind"], "timestamp": "2025-02-02T14:15:04.815Z" }, "playbackStatus": { "value": null } }, "samsungim.fixedFindNode": {}, "samsungvd.supportsPowerOnByOcf": { "supportsPowerOnByOcf": { "value": "true", "timestamp": "2025-02-09T23:00:33.790Z" } }, "mediaInputSource": { "supportedInputSources": { "value": [], "timestamp": "2025-02-02T14:15:04.815Z" }, "inputSource": { "value": "HDMI4", "timestamp": "2023-12-10T09:32:02.350Z" } }, "samsungvd.deviceCategory": { "category": { "value": "tv", "timestamp": "2025-02-02T14:15:06.565Z" } }, "switch": { "switch": { "value": "off", "timestamp": "2025-02-10T03:14:17.614Z" } }, "ocf": { "st": { "value": "2025-02-01T22:03:42Z", "timestamp": "2025-02-02T14:15:05.029Z" }, "mndt": { "value": "2021-01-01", "timestamp": "2025-02-02T14:15:05.029Z" }, "mnfv": { "value": "T-NKM2DEUC-2220.9", "timestamp": "2025-02-02T14:15:05.029Z" }, "mnhw": { "value": "", "timestamp": "2025-02-02T14:15:05.029Z" }, "di": { "value": "70650a5c-3e57-c66b-8c43-d48d06852948", "timestamp": "2025-02-02T14:15:05.029Z" }, "mnsl": { "value": "", "timestamp": "2025-02-02T14:15:05.029Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-02-02T14:15:05.029Z" }, "n": { "value": "Samsung QN95AA 75 TV", "timestamp": "2025-02-02T14:15:05.029Z" }, "mnmo": { "value": "QE75QN95AATXXC", "timestamp": "2025-02-02T14:15:05.029Z" }, "vid": { "value": "VD-STV-2021", "timestamp": "2025-02-02T14:15:05.029Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-02-02T14:15:05.029Z" }, "mnml": { "value": "", "timestamp": "2025-02-02T14:15:05.029Z" }, "mnpv": { "value": "6.0", "timestamp": "2025-02-02T14:15:05.029Z" }, "mnos": { "value": "Tizen", "timestamp": "2025-02-02T14:15:05.029Z" }, "pi": { "value": "70650a5c-3e57-c66b-8c43-d48d06852948", "timestamp": "2025-02-02T14:15:05.029Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-02-02T14:15:05.029Z" } }, "samsungvd.supportsFeatures": { "mediaOutputSupported": { "value": null }, "imeAdvSupported": { "value": null }, "wifiUpdateSupport": { "value": null }, "executableServiceList": { "value": null }, "remotelessSupported": { "value": null }, "mobileCamSupported": { "value": null } }, "custom.accessibility": {}, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [ "samsungim.fixedFindNode", "samsungvd.supportsFeatures", "samsungim.findNodeGeolocation", "powerConsumptionReport" ], "timestamp": "2025-02-02T14:15:06.212Z" } }, "samsungvd.remoteControl": {}, "custom.launchapp": {}, "samsungvd.thingStatus": { "updatedTime": { "value": 1739142033, "timestamp": "2025-02-09T23:00:33.389Z" }, "status": { "value": "Idle", "timestamp": "2025-02-09T23:00:33.389Z" } }, "samsungvd.firmwareVersion": { "firmwareVersion": { "value": "3.5.0", "timestamp": "2025-02-02T14:15:06.565Z" } }, "audioVolume": { "volume": { "value": 11, "unit": "%", "timestamp": "2025-02-02T14:15:05.630Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": null } }, "samsungvd.mediaInputSource": { "supportedInputSourcesMap": { "value": [ { "id": "dtv", "name": "TV" }, { "id": "HDMI2", "name": "PC" }, { "id": "HDMI3", "name": "HDMI 3" }, { "id": "HDMI4", "name": "PlayStation 5" } ], "timestamp": "2025-02-09T23:00:34.025Z" }, "inputSource": { "value": "HDMI4", "timestamp": "2025-02-09T23:00:34.025Z" } }, "custom.tvsearch": {}, "samsungvd.ambient": {}, "refresh": {}, "custom.error": { "error": { "value": null } }, "execute": { "data": { "value": null } }, "tvChannel": { "tvChannel": { "value": "", "timestamp": "2025-02-02T14:15:05.693Z" }, "tvChannelName": { "value": "", "timestamp": "2025-02-02T14:15:05.693Z" } }, "custom.picturemode": { "pictureMode": { "value": "FILMMAKER MODE", "timestamp": "2025-02-02T14:15:05.811Z" }, "supportedPictureModes": { "value": [ "Dynamisk", "FILMMAKER MODE", "Film", "Naturlig", "Standard" ], "timestamp": "2025-02-02T14:15:05.811Z" }, "supportedPictureModesMap": { "value": [ { "id": "modeDynamic", "name": "Dynamisk" }, { "id": "modeFilmmakerMode", "name": "FILMMAKER MODE" }, { "id": "modeMovie", "name": "Film" }, { "id": "modeNatural", "name": "Naturlig" }, { "id": "modeStandard", "name": "Standard" } ], "timestamp": "2025-02-02T14:15:05.811Z" } }, "samsungvd.ambientContent": { "supportedAmbientApps": { "value": ["weather"], "timestamp": "2025-02-02T14:15:05.912Z" } }, "custom.recording": {}, "custom.soundmode": { "supportedSoundModesMap": { "value": [ { "id": "modeExternalAdaptive", "name": "Adaptivt ljud" }, { "id": "modeExternalGame", "name": "Spel" }, { "id": "modeExternalStandard", "name": "Standard" }, { "id": "modeExternal3DSurround", "name": "Surround" } ], "timestamp": "2025-02-02T14:15:05.544Z" }, "soundMode": { "value": "Surround", "timestamp": "2025-02-02T14:15:05.544Z" }, "supportedSoundModes": { "value": ["Adaptivt ljud", "Spel", "Standard", "Surround"], "timestamp": "2025-02-02T14:15:05.544Z" } }, "audioMute": { "mute": { "value": "unmuted", "timestamp": "2025-02-02T14:15:05.630Z" } }, "mediaTrackControl": { "supportedTrackControlCommands": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_stv_2022.json000066400000000000000000000223431511701743400304100ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop", "fastForward", "rewind"], "timestamp": "2024-12-31T10:00:04.460Z" }, "playbackStatus": { "value": null } }, "samsungim.fixedFindNode": {}, "samsungvd.supportsPowerOnByOcf": { "supportsPowerOnByOcf": { "value": "true", "timestamp": "2025-01-28T14:07:02.366Z" } }, "sec.deviceConnectionState": { "deviceConnectionState": { "value": null } }, "mediaInputSource": { "supportedInputSources": { "value": [], "timestamp": "2024-12-31T10:00:04.460Z" }, "inputSource": { "value": "digitalTv", "timestamp": "2024-01-26T20:07:03.482Z" } }, "samsungvd.deviceCategory": { "category": { "value": "frametv", "timestamp": "2025-01-30T02:22:14.170Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-09T22:23:31.946Z" } }, "ocf": { "st": { "value": "2024-12-30T01:40:02Z", "timestamp": "2024-12-31T10:00:04.989Z" }, "mndt": { "value": "2022-01-01", "timestamp": "2024-12-31T10:00:04.989Z" }, "mnfv": { "value": "T-PTMDEUC-1651.7|ST_ENERGY", "timestamp": "2024-12-31T10:00:04.989Z" }, "mnhw": { "value": "", "timestamp": "2024-12-31T10:00:04.989Z" }, "di": { "value": "01751e21-3609-ec2f-41af-1c8bc8d96c15", "timestamp": "2024-12-31T10:00:04.989Z" }, "mnsl": { "value": "", "timestamp": "2024-12-31T10:00:04.989Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-12-31T10:00:04.989Z" }, "n": { "value": "Samsung The Frame 55", "timestamp": "2024-12-31T10:00:04.989Z" }, "mnmo": { "value": "QE55LS03BGUXXU", "timestamp": "2024-12-31T10:00:04.989Z" }, "vid": { "value": "VD-STV-2022", "timestamp": "2024-12-31T10:00:04.989Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-12-31T10:00:04.989Z" }, "mnml": { "value": "", "timestamp": "2024-12-31T10:00:04.989Z" }, "mnpv": { "value": "6.5", "timestamp": "2024-12-31T10:00:04.989Z" }, "mnos": { "value": "Tizen", "timestamp": "2024-12-31T10:00:04.989Z" }, "pi": { "value": "01751e21-3609-ec2f-41af-1c8bc8d96c15", "timestamp": "2024-12-31T10:00:04.989Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-12-31T10:00:04.989Z" } }, "samsungvd.supportsFeatures": { "mediaOutputSupported": { "value": true, "timestamp": "2024-12-31T10:00:05.461Z" }, "imeAdvSupported": { "value": true, "timestamp": "2024-12-31T10:00:05.461Z" }, "wifiUpdateSupport": { "value": null }, "executableServiceList": { "value": null }, "remotelessSupported": { "value": null }, "mobileCamSupported": { "value": true, "timestamp": "2024-12-31T10:00:05.461Z" } }, "custom.accessibility": {}, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungvd.ambient", "samsungvd.ambientContent"], "timestamp": "2025-01-31T23:29:37.921Z" } }, "samsungvd.remoteControl": {}, "custom.launchapp": {}, "samsungvd.thingStatus": { "updatedTime": { "value": 1739123627, "timestamp": "2025-02-09T17:53:46.946Z" }, "status": { "value": "Idle", "timestamp": "2025-01-28T14:07:02.212Z" } }, "samsungvd.firmwareVersion": { "firmwareVersion": { "value": "3.5.1", "timestamp": "2025-01-30T02:22:14.170Z" } }, "audioVolume": { "volume": { "value": 22, "unit": "%", "timestamp": "2025-01-30T02:22:13.742Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 0, "deltaEnergy": 14.61608, "power": 0, "powerEnergy": 0, "persistedEnergy": 0, "energySaved": 0.0, "persistedSavedEnergy": 0, "start": "2025-02-09T22:23:35Z", "end": "2025-02-09T22:38:42Z" }, "timestamp": "2025-02-09T22:38:42.162Z" } }, "samsungvd.mediaInputSource": { "supportedInputSourcesMap": { "value": [ { "id": "dtv", "name": "TV" }, { "id": "HDMI2", "name": "PC" }, { "id": "HDMI3", "name": "HW-S801B" } ], "timestamp": "2025-02-05T20:38:59.159Z" }, "inputSource": { "value": "dtv", "timestamp": "2025-01-28T14:07:02.589Z" } }, "custom.tvsearch": {}, "samsungvd.ambient": {}, "refresh": {}, "custom.error": { "error": { "value": null } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.tv.deviceinfo"], "if": ["oic.if.r", "oic.if.baseline"], "x.com.samsung.tv.btmac": "B0:99:D7:23:24:C9", "x.com.samsung.tv.blemac": "B0:99:D7:23:24:C9", "x.com.samsung.tv.wifimac": "b0:99:d7:23:24:c8", "x.com.samsung.tv.ethmac": "70:09:71:4b:90:5e", "x.com.samsung.tv.p2pmac": "b2:99:d7:23:24:c8", "x.com.samsung.tv.udn": "8e09770c-6762-4245-8654-0457ae5370b3", "x.com.samsung.tv.category": "frametv", "x.com.samsung.tv.onsupport": true, "x.com.samsung.tv.ambientsupport": true, "x.com.samsung.country": "UK", "x.com.samsung.modelid": "22_PONTUSM_FTV", "x.com.samsung.infolinkversion": "T-INFOLINK2022-1008", "x.com.samsung.tv.countrycode": "GB", "x.com.samsung.tv.swmodel": "LS03B", "x.com.samsung.tv.sn": "0L973HDW500019W", "x.com.samsung.tv.paneltime": 5, "x.com.samsung.tv.thingversion": "3.5.0", "x.com.samsung.tv.mnid": "0AJK", "x.com.samsung.tv.setupid": "101", "x.com.samsung.tv.vendorcode": "Samsung", "x.com.samsung.tv.language": "en_GB", "x.com.samsung.tv.year": 2022, "x.com.samsung.tv.duid": "3EHCNQDV3NATF" } }, "data": { "href": "/sec/tv/deviceinfo" }, "timestamp": "2023-06-10T23:08:17.475Z" } }, "tvChannel": { "tvChannel": { "value": "", "timestamp": "2025-02-09T18:24:33.801Z" }, "tvChannelName": { "value": "art", "timestamp": "2025-02-09T18:24:33.801Z" } }, "custom.picturemode": { "pictureMode": { "value": "FILMMAKER MODE", "timestamp": "2024-12-31T10:00:09.470Z" }, "supportedPictureModes": { "value": ["Dynamic", "Movie", "Standard"], "timestamp": "2025-01-30T02:22:14.288Z" }, "supportedPictureModesMap": { "value": [ { "id": "modeDynamic", "name": "Dynamic" }, { "id": "modeMovie", "name": "Movie" }, { "id": "modeStandard", "name": "Standard" } ], "timestamp": "2025-01-30T02:22:14.288Z" } }, "samsungvd.ambientContent": { "supportedAmbientApps": { "value": [], "timestamp": "2024-12-31T10:00:04.460Z" } }, "custom.recording": {}, "custom.soundmode": { "supportedSoundModesMap": { "value": [ { "id": "modeAmplify", "name": "Amplify" }, { "id": "modeStandard", "name": "Standard" } ], "timestamp": "2025-01-30T02:22:14.033Z" }, "soundMode": { "value": "Standard", "timestamp": "2025-01-30T02:22:14.033Z" }, "supportedSoundModes": { "value": ["Amplify", "Standard"], "timestamp": "2025-01-30T02:22:14.033Z" } }, "audioMute": { "mute": { "value": "unmuted", "timestamp": "2025-01-30T02:22:13.742Z" } }, "mediaTrackControl": { "supportedTrackControlCommands": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_stv_2023.json000066400000000000000000000232141511701743400304070ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop", "fastForward", "rewind"], "timestamp": "2025-01-08T17:26:29.978Z" }, "playbackStatus": { "value": null } }, "samsungim.fixedFindNode": {}, "samsungvd.supportsPowerOnByOcf": { "supportsPowerOnByOcf": { "value": "true", "timestamp": "2025-02-09T14:43:24.686Z" } }, "sec.deviceConnectionState": { "deviceConnectionState": { "value": null } }, "mediaInputSource": { "supportedInputSources": { "value": [], "timestamp": "2025-01-08T17:26:29.978Z" }, "inputSource": { "value": null } }, "samsungvd.deviceCategory": { "category": { "value": "tv", "timestamp": "2024-12-31T07:19:59.606Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-09T18:32:04.977Z" } }, "ocf": { "st": { "value": "2024-12-30T10:02:47Z", "timestamp": "2025-01-08T17:26:29.973Z" }, "mndt": { "value": "2023-01-01", "timestamp": "2025-01-08T17:26:29.973Z" }, "mnfv": { "value": "T-PTMCDEUC-0080-2020.2|ST_ENERGY", "timestamp": "2025-01-13T17:35:52.874Z" }, "mnhw": { "value": "", "timestamp": "2025-01-08T17:26:29.973Z" }, "di": { "value": "8c1b8eff-e8c7-dcf8-58f8-da81669b92eb", "timestamp": "2025-01-08T17:26:29.973Z" }, "mnsl": { "value": "", "timestamp": "2025-01-08T17:26:29.973Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2025-01-08T17:26:29.973Z" }, "n": { "value": "TV", "timestamp": "2025-01-08T17:26:29.973Z" }, "mnmo": { "value": "TQ65S90CATXXC", "timestamp": "2025-01-08T17:26:29.973Z" }, "vid": { "value": "VD-STV-2023", "timestamp": "2025-01-08T17:26:29.973Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2025-01-08T17:26:29.973Z" }, "mnml": { "value": "", "timestamp": "2025-01-08T17:26:29.973Z" }, "mnpv": { "value": "8.0", "timestamp": "2025-01-08T17:26:29.973Z" }, "mnos": { "value": "Tizen", "timestamp": "2025-01-08T17:26:29.973Z" }, "pi": { "value": "8c1b8eff-e8c7-dcf8-58f8-da81669b92eb", "timestamp": "2025-01-08T17:26:29.973Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2025-01-08T17:26:29.973Z" } }, "samsungvd.supportsFeatures": { "mediaOutputSupported": { "value": true, "timestamp": "2024-12-31T07:19:59.851Z" }, "imeAdvSupported": { "value": true, "timestamp": "2024-12-31T07:19:59.851Z" }, "wifiUpdateSupport": { "value": null }, "executableServiceList": { "value": null }, "remotelessSupported": { "value": null }, "mobileCamSupported": { "value": true, "timestamp": "2024-12-31T07:19:59.851Z" } }, "custom.accessibility": {}, "custom.disabledCapabilities": { "disabledCapabilities": { "value": ["samsungvd.ambientContent"], "timestamp": "2025-02-09T17:52:42.095Z" } }, "samsungvd.remoteControl": {}, "samsungvd.lightControl": { "supportedModeMap": { "value": null }, "requestId": { "value": null }, "selectedMode": { "value": null }, "streamControl": { "value": null }, "selectedAppId": { "value": null }, "errorCode": { "value": null }, "supportedModes": { "value": null } }, "custom.launchapp": {}, "samsungvd.firmwareVersion": { "firmwareVersion": { "value": "3.5.1", "timestamp": "2024-12-31T07:19:59.606Z" } }, "samsungvd.thingStatus": { "updatedTime": { "value": 1739114347, "timestamp": "2025-02-09T15:19:07.072Z" }, "status": { "value": "Idle", "timestamp": "2025-02-09T14:43:24.358Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "start": "2025-02-09T15:19:06Z", "duration": 99999999, "override": false }, "timestamp": "2025-02-09T15:19:08.832Z" } }, "audioVolume": { "volume": { "value": 7, "unit": "%", "timestamp": "2024-12-31T07:19:59.197Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 0, "deltaEnergy": 0, "power": 0, "powerEnergy": 0, "persistedEnergy": 0, "energySaved": 0, "persistedSavedEnergy": 0, "start": "1970-01-01T00:00:00Z", "end": "2025-02-09T15:19:08Z" }, "timestamp": "2025-02-09T15:19:08.940Z" } }, "samsungvd.mediaInputSource": { "supportedInputSourcesMap": { "value": [ { "id": "dtv", "name": "TV" }, { "id": "HDMI1", "name": "Chromecast" } ], "timestamp": "2025-02-09T14:43:24.999Z" }, "inputSource": { "value": "HDMI1", "timestamp": "2025-02-09T14:43:24.999Z" } }, "custom.tvsearch": {}, "samsungvd.ambient": {}, "refresh": {}, "custom.error": { "error": { "value": null } }, "execute": { "data": { "value": null } }, "tvChannel": { "tvChannel": { "value": "", "timestamp": "2025-02-09T13:20:48.534Z" }, "tvChannelName": { "value": "9Ur5IzDKqV.TizenYouTube", "timestamp": "2025-02-09T13:21:51.129Z" } }, "custom.picturemode": { "pictureMode": { "value": "Dynamique", "timestamp": "2024-11-11T13:00:10.329Z" }, "supportedPictureModes": { "value": [ "Cin\u00e9ma", "Dynamique", "FILMMAKER MODE", "Standard", "\u00c9co" ], "timestamp": "2024-11-11T13:00:10.329Z" }, "supportedPictureModesMap": { "value": [ { "id": "modeMovie", "name": "Cin\u00e9ma" }, { "id": "modeDynamic", "name": "Dynamique" }, { "id": "modeFilmmakerMode", "name": "FILMMAKER MODE" }, { "id": "modeStandard", "name": "Standard" }, { "id": "modeGen_65552", "name": "\u00c9co" } ], "timestamp": "2024-11-11T13:00:10.329Z" } }, "samsungvd.ambientContent": { "supportedAmbientApps": { "value": [], "timestamp": "2025-01-08T17:26:29.978Z" } }, "custom.recording": {}, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2025-02-09T14:43:27.382Z" }, "energySavingSupport": { "value": true, "timestamp": "2025-02-09T14:43:27.382Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2025-02-09T14:43:27.382Z" }, "energySavingLevel": { "value": 1, "timestamp": "2025-02-09T14:43:27.382Z" }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": [1], "timestamp": "2025-02-09T14:43:27.382Z" }, "energySavingOperation": { "value": false, "timestamp": "2025-02-09T14:43:27.382Z" }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": true, "timestamp": "2025-02-09T14:43:27.382Z" } }, "custom.soundmode": { "supportedSoundModesMap": { "value": [ { "id": "modeAmplify", "name": "Amplifier" }, { "id": "modeStandard", "name": "Standard" } ], "timestamp": "2024-12-31T07:19:59.632Z" }, "soundMode": { "value": "Standard", "timestamp": "2024-12-31T07:19:59.632Z" }, "supportedSoundModes": { "value": ["Amplifier", "Standard"], "timestamp": "2024-12-31T07:19:59.632Z" } }, "audioMute": { "mute": { "value": "muted", "timestamp": "2024-12-31T07:19:59.197Z" } }, "mediaTrackControl": { "supportedTrackControlCommands": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/vd_stv_2023_1.json000066400000000000000000000260721511701743400306340ustar00rootroot00000000000000{ "components": { "main": { "mediaPlayback": { "supportedPlaybackCommands": { "value": ["play", "pause", "stop", "fastForward", "rewind"], "timestamp": "2024-10-29T22:38:21.668Z" }, "playbackStatus": { "value": null } }, "samsungim.fixedFindNode": {}, "samsungvd.supportsPowerOnByOcf": { "supportsPowerOnByOcf": { "value": "true", "timestamp": "2024-09-04T23:30:18.998Z" } }, "sec.deviceConnectionState": { "deviceConnectionState": { "value": null } }, "mediaInputSource": { "supportedInputSources": { "value": [], "timestamp": "2024-10-29T22:38:21.668Z" }, "inputSource": { "value": "HDMI3", "timestamp": "2023-12-25T09:52:40.510Z" } }, "samsungvd.deviceCategory": { "category": { "value": "tv", "timestamp": "2024-10-21T02:22:15.667Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2024-11-09T00:20:35.400Z" } }, "ocf": { "st": { "value": "2024-10-25T23:24:50Z", "timestamp": "2024-10-29T22:38:21.668Z" }, "mndt": { "value": "2023-01-01", "timestamp": "2024-10-29T22:38:21.668Z" }, "mnfv": { "value": "T-PTMCDEUC-0080-2013.1|ST_ENERGY", "timestamp": "2024-10-29T22:38:21.668Z" }, "mnhw": { "value": "", "timestamp": "2024-10-29T22:38:21.668Z" }, "di": { "value": "b4d20b8f-ae23-8a6d-9db2-4c9d8db2c615", "timestamp": "2024-10-29T22:38:21.668Z" }, "mnsl": { "value": "", "timestamp": "2024-10-29T22:38:21.668Z" }, "dmv": { "value": "res.1.1.0,sh.1.1.0", "timestamp": "2024-10-29T22:38:21.668Z" }, "n": { "value": "Samsung QN95CA 55", "timestamp": "2024-10-29T22:38:21.668Z" }, "mnmo": { "value": "QE55QN95CATXXU", "timestamp": "2024-10-29T22:38:21.668Z" }, "vid": { "value": "VD-STV-2023", "timestamp": "2024-10-29T22:38:21.668Z" }, "mnmn": { "value": "Samsung Electronics", "timestamp": "2024-10-29T22:38:21.668Z" }, "mnml": { "value": "", "timestamp": "2024-10-29T22:38:21.668Z" }, "mnpv": { "value": "8.0", "timestamp": "2024-10-29T22:38:21.668Z" }, "mnos": { "value": "Tizen", "timestamp": "2024-10-29T22:38:21.668Z" }, "pi": { "value": "b4d20b8f-ae23-8a6d-9db2-4c9d8db2c615", "timestamp": "2024-10-29T22:38:21.668Z" }, "icv": { "value": "core.1.1.0", "timestamp": "2024-10-29T22:38:21.668Z" } }, "samsungvd.supportsFeatures": { "mediaOutputSupported": { "value": null }, "imeAdvSupported": { "value": true, "timestamp": "2024-10-23T11:31:51.915Z" }, "wifiUpdateSupport": { "value": null }, "executableServiceList": { "value": null }, "remotelessSupported": { "value": null }, "mobileCamSupported": { "value": true, "timestamp": "2024-10-23T11:31:51.915Z" } }, "custom.accessibility": {}, "custom.disabledCapabilities": { "disabledCapabilities": { "value": [], "timestamp": "2024-11-15T02:22:07.511Z" } }, "samsungvd.remoteControl": {}, "samsungvd.lightControl": { "supportedModeMap": { "value": null }, "requestId": { "value": null }, "selectedMode": { "value": null }, "streamControl": { "value": null }, "selectedAppId": { "value": null }, "errorCode": { "value": null }, "supportedModes": { "value": null } }, "custom.launchapp": {}, "samsungvd.firmwareVersion": { "firmwareVersion": { "value": "3.5.1", "timestamp": "2024-10-29T22:38:22.901Z" } }, "samsungvd.thingStatus": { "updatedTime": { "value": 1731070664, "timestamp": "2024-11-08T12:57:44.328Z" }, "status": { "value": "Idle", "timestamp": "2024-10-28T11:24:19.707Z" } }, "demandResponseLoadControl": { "drlcStatus": { "value": { "drlcType": 1, "drlcLevel": 0, "start": "2024-11-08T12:57:47Z", "duration": 99999999, "override": false }, "timestamp": "2024-11-08T12:57:48.078Z" } }, "audioVolume": { "volume": { "value": 15, "unit": "%", "timestamp": "2024-10-30T02:22:09.661Z" } }, "powerConsumptionReport": { "powerConsumption": { "value": { "energy": 0, "deltaEnergy": 20.869067, "power": 0, "powerEnergy": 0, "persistedEnergy": 0, "energySaved": 0.0, "persistedSavedEnergy": 0, "start": "2024-11-09T00:35:56Z", "end": "2024-11-09T00:50:57Z" }, "timestamp": "2024-11-09T00:50:57.390Z" } }, "samsungvd.mediaInputSource": { "supportedInputSourcesMap": { "value": [ { "id": "dtv", "name": "TV" }, { "id": "HDMI3", "name": "AVC-X3800H" } ], "timestamp": "2024-09-04T23:30:19.047Z" }, "inputSource": { "value": "HDMI3", "timestamp": "2024-10-12T17:27:25.863Z" } }, "custom.tvsearch": {}, "samsungvd.ambient": {}, "refresh": {}, "custom.error": { "error": { "value": null } }, "execute": { "data": { "value": { "payload": { "rt": ["x.com.samsung.tv.deviceinfo"], "if": ["oic.if.r", "oic.if.baseline"], "x.com.samsung.tv.btmac": "E0:9D:13:9A:6F:67", "x.com.samsung.tv.blemac": "E0:9D:13:9A:6F:67", "x.com.samsung.tv.wifimac": "e0:9d:13:9a:6f:66", "x.com.samsung.tv.ethmac": "68:fc:ca:14:5b:e3", "x.com.samsung.tv.p2pmac": "e2:9d:13:9a:6f:66", "x.com.samsung.tv.udn": "8ce4302f-8175-4bc6-b5d1-87a2cad2ff76", "x.com.samsung.tv.category": "tv", "x.com.samsung.tv.onsupport": true, "x.com.samsung.tv.ambientsupport": true, "x.com.samsung.country": "UK", "x.com.samsung.modelid": "23_PONTUSM_QTV", "x.com.samsung.infolinkversion": "T-INFOLINK2023-1002", "x.com.samsung.tv.countrycode": "GB", "x.com.samsung.tv.swmodel": "QCQ95", "x.com.samsung.tv.sn": "0EV63STW300004J", "x.com.samsung.tv.paneltime": 197, "x.com.samsung.tv.thingversion": "3.5.0", "x.com.samsung.tv.mnid": "0AJK", "x.com.samsung.tv.setupid": "101", "x.com.samsung.tv.vendorcode": "Samsung", "x.com.samsung.tv.language": "en_GB", "x.com.samsung.tv.year": 2023, "x.com.samsung.tv.duid": "BI24U5QUOGMHF" } }, "data": { "href": "/sec/tv/deviceinfo" }, "timestamp": "2023-06-16T10:54:02.765Z" } }, "tvChannel": { "tvChannel": { "value": "", "timestamp": "2024-10-11T23:59:21.650Z" }, "tvChannelName": { "value": "", "timestamp": "2024-10-29T22:38:22.949Z" } }, "custom.picturemode": { "pictureMode": { "value": "FILMMAKER MODE", "timestamp": "2024-10-29T22:38:23.436Z" }, "supportedPictureModes": { "value": ["Dynamic", "Eco", "FILMMAKER MODE", "Movie", "Standard"], "timestamp": "2024-10-29T22:38:23.436Z" }, "supportedPictureModesMap": { "value": [ { "id": "modeDynamic", "name": "Dynamic" }, { "id": "modeGen_65552", "name": "Eco" }, { "id": "modeFilmmakerMode", "name": "FILMMAKER MODE" }, { "id": "modeMovie", "name": "Movie" }, { "id": "modeStandard", "name": "Standard" } ], "timestamp": "2024-10-29T22:38:23.436Z" } }, "samsungvd.ambientContent": { "supportedAmbientApps": { "value": ["weather"], "timestamp": "2024-10-29T22:38:22.933Z" } }, "custom.recording": {}, "custom.energyType": { "energyType": { "value": "2.0", "timestamp": "2024-09-04T23:30:21.308Z" }, "energySavingSupport": { "value": true, "timestamp": "2024-09-04T23:30:21.308Z" }, "drMaxDuration": { "value": 99999999, "unit": "min", "timestamp": "2024-09-04T23:30:21.308Z" }, "energySavingLevel": { "value": 1, "timestamp": "2024-09-04T23:30:21.308Z" }, "energySavingInfo": { "value": null }, "supportedEnergySavingLevels": { "value": [1], "timestamp": "2024-09-04T23:30:21.308Z" }, "energySavingOperation": { "value": false, "timestamp": "2024-09-04T23:30:21.308Z" }, "notificationTemplateID": { "value": null }, "energySavingOperationSupport": { "value": true, "timestamp": "2024-09-04T23:30:21.308Z" } }, "custom.soundmode": { "supportedSoundModesMap": { "value": [ { "id": "modeAmplify", "name": "Amplify" }, { "id": "modeStandard", "name": "Standard" } ], "timestamp": "2024-10-30T02:22:09.629Z" }, "soundMode": { "value": "Standard", "timestamp": "2024-10-21T02:22:15.343Z" }, "supportedSoundModes": { "value": ["Amplify", "Standard"], "timestamp": "2024-10-30T02:22:09.629Z" } }, "audioMute": { "mute": { "value": "muted", "timestamp": "2024-10-30T02:22:09.661Z" } }, "mediaTrackControl": { "supportedTrackControlCommands": { "value": null } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/virtual_calendar.json000066400000000000000000000101001511701743400317410ustar00rootroot00000000000000{ "components": { "main": { "legendabsolute60149.sunAzimuthAngle": { "sunAzimuthAngle": { "value": 190.7, "unit": "\u00ba", "timestamp": "2025-02-09T17:58:54.376Z" } }, "legendabsolute60149.evenOddDay": { "evenOddDay": { "value": "Odd", "timestamp": "2025-02-09T17:30:54.220Z" } }, "legendabsolute60149.localHourTwo": { "localHourTwo": { "value": 1358, "timestamp": "2025-02-09T17:58:54.367Z" } }, "legendabsolute60149.currentTimePeriod": { "currentTimePeriod": { "value": "Day", "timestamp": "2025-02-09T12:11:51.499Z" } }, "legendabsolute60149.localMonth": { "localMonth": { "value": 2, "timestamp": "2025-02-09T17:30:54.304Z" } }, "legendabsolute60149.localHourOffset": { "localHourOffset": { "value": -4, "unit": "hr", "timestamp": "2025-02-09T17:30:54.351Z" } }, "legendabsolute60149.localHour": { "localHour": { "value": 1358, "timestamp": "2025-02-09T17:58:54.347Z" } }, "legendabsolute60149.sunRiseOffset1": { "sunRiseOffset": { "value": 351, "unit": "min", "timestamp": "2025-02-09T17:58:54.320Z" } }, "legendabsolute60149.localDayTwo": { "localDayTwo": { "value": 9, "timestamp": "2025-02-09T17:30:54.218Z" } }, "legendabsolute60149.localDate": { "localDate": { "value": "2025/02/09 13:58", "timestamp": "2025-02-09T17:58:54.337Z" } }, "legendabsolute60149.localMonthDayOne": { "localMonthDayOne": { "value": 209, "timestamp": "2025-02-09T17:30:54.226Z" } }, "legendabsolute60149.localDateTwo1": { "localDateTwo": { "value": 20250209, "timestamp": "2025-02-09T17:30:54.265Z" } }, "legendabsolute60149.sunRise": { "sunRise": { "value": "08:07:00", "timestamp": "2025-02-09T17:00:53.872Z" } }, "legendabsolute60149.dayLength": { "dayLength": { "value": "10 hrs 31 min", "timestamp": "2025-02-09T17:00:53.933Z" } }, "legendabsolute60149.sunElevationAngle": { "sunElevationAngle": { "value": 35.8, "unit": "\u00ba", "timestamp": "2025-02-09T17:56:54.376Z" } }, "refresh": {}, "legendabsolute60149.localDateOne": { "localDateOne": { "value": 20250209, "timestamp": "2025-02-09T17:30:54.262Z" } }, "legendabsolute60149.currentTwilight": { "currentTwilight": { "value": "None", "timestamp": "2025-02-09T12:11:51.502Z" } }, "legendabsolute60149.localMonthDayTwo": { "localMonthDayTwo": { "value": 209, "timestamp": "2025-02-09T17:30:54.230Z" } }, "legendabsolute60149.sunSetOffset1": { "sunSetOffset": { "value": -280, "unit": "min", "timestamp": "2025-02-09T17:58:54.321Z" } }, "legendabsolute60149.sunSet": { "sunSet": { "value": "18:38:00", "timestamp": "2025-02-09T17:00:53.871Z" } }, "legendabsolute60149.localMonthTwo": { "localMonthTwo": { "value": 2, "timestamp": "2025-02-09T17:30:54.306Z" } }, "legendabsolute60149.localYear": { "localYear": { "value": 2025, "timestamp": "2025-02-09T17:30:54.306Z" } }, "legendabsolute60149.localWeekDay": { "localWeekDay": { "value": 0, "timestamp": "2025-02-09T17:30:54.347Z" } }, "legendabsolute60149.localDay": { "localDay": { "value": 9, "timestamp": "2025-02-09T17:30:54.184Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/virtual_contact_sensor.json000066400000000000000000000003221511701743400332210ustar00rootroot00000000000000{ "components": { "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2020-05-10T19:25:40.996Z" } }, "refresh": {} } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/virtual_dimmer_lights.json000066400000000000000000000006371511701743400330350ustar00rootroot00000000000000{ "components": { "main": { "switchLevel": { "levelRange": { "value": null }, "level": { "value": 75, "unit": "%", "timestamp": "2024-09-28T05:40:18.784Z" } }, "refresh": {}, "switch": { "switch": { "value": "off", "timestamp": "2025-02-05T13:58:20.309Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/virtual_thermostat.json000066400000000000000000000050751511701743400324010ustar00rootroot00000000000000{ "components": { "main": { "thermostatOperatingState": { "thermostatOperatingState": { "value": "pending cool", "timestamp": "2025-02-10T22:04:56.341Z" } }, "thermostatHeatingSetpoint": { "heatingSetpoint": { "value": 814.7469111058201, "unit": "F", "timestamp": "2025-02-10T22:04:56.341Z" }, "heatingSetpointRange": { "value": { "maximum": 3226.693210895862, "step": 9234.459191378826, "minimum": 6214.940743832475 }, "unit": "F", "timestamp": "2025-02-10T22:04:56.341Z" } }, "temperatureMeasurement": { "temperatureRange": { "value": { "maximum": 1826.722761785079, "step": 138.2080712609211, "minimum": 9268.726934158902 }, "unit": "F", "timestamp": "2025-02-10T22:04:56.341Z" }, "temperature": { "value": 8554.194688973037, "unit": "F", "timestamp": "2025-02-10T22:04:56.341Z" } }, "thermostatFanMode": { "thermostatFanMode": { "value": "followschedule", "data": {}, "timestamp": "2025-02-10T22:04:56.341Z" }, "supportedThermostatFanModes": { "value": ["on"], "timestamp": "2025-02-10T22:04:56.341Z" } }, "thermostatMode": { "thermostatMode": { "value": "auxheatonly", "data": {}, "timestamp": "2025-02-10T22:04:56.341Z" }, "supportedThermostatModes": { "value": ["rush hour"], "timestamp": "2025-02-10T22:04:56.341Z" } }, "battery": { "quantity": { "value": 51, "timestamp": "2025-02-10T22:04:56.341Z" }, "battery": { "value": 100, "unit": "%", "timestamp": "2025-02-10T22:04:56.341Z" }, "type": { "value": "38140", "timestamp": "2025-02-10T22:04:56.341Z" } }, "thermostatCoolingSetpoint": { "coolingSetpointRange": { "value": { "maximum": 7288.145606306409, "step": 7620.031701049315, "minimum": 4997.721228739137 }, "unit": "F", "timestamp": "2025-02-10T22:04:56.341Z" }, "coolingSetpoint": { "value": 244.33726326608746, "unit": "F", "timestamp": "2025-02-10T22:04:56.341Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/virtual_valve.json000066400000000000000000000003101511701743400313070ustar00rootroot00000000000000{ "components": { "main": { "refresh": {}, "valve": { "valve": { "value": "closed", "timestamp": "2025-02-11T11:27:02.262Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/virtual_water_sensor.json000066400000000000000000000010741511701743400327150ustar00rootroot00000000000000{ "components": { "main": { "waterSensor": { "water": { "value": "dry", "timestamp": "2025-02-10T21:58:18.784Z" } }, "refresh": {}, "battery": { "quantity": { "value": 84, "timestamp": "2025-02-10T21:58:18.784Z" }, "battery": { "value": 100, "unit": "%", "timestamp": "2025-02-10T21:58:18.784Z" }, "type": { "value": "46120", "timestamp": "2025-02-10T21:58:18.784Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/yale_push_button_deadbolt_lock.json000066400000000000000000000052151511701743400346670ustar00rootroot00000000000000{ "components": { "main": { "lock": { "supportedUnlockDirections": { "value": null }, "supportedLockValues": { "value": null }, "lock": { "value": "locked", "data": {}, "timestamp": "2025-02-09T17:29:56.641Z" }, "supportedLockCommands": { "value": null } }, "refresh": {}, "battery": { "quantity": { "value": null }, "battery": { "value": 86, "unit": "%", "timestamp": "2025-02-09T17:18:14.150Z" }, "type": { "value": null } }, "firmwareUpdate": { "lastUpdateStatusReason": { "value": null }, "availableVersion": { "value": "00840847", "timestamp": "2025-02-09T11:48:45.331Z" }, "lastUpdateStatus": { "value": null }, "supportedCommands": { "value": null }, "state": { "value": "normalOperation", "timestamp": "2025-02-09T11:48:45.331Z" }, "updateAvailable": { "value": false, "timestamp": "2025-02-09T11:48:45.332Z" }, "currentVersion": { "value": "00840847", "timestamp": "2025-02-09T11:48:45.328Z" }, "lastUpdateTime": { "value": null } }, "lockCodes": { "codeLength": { "value": null, "timestamp": "2020-08-04T15:29:24.127Z" }, "maxCodes": { "value": 250, "timestamp": "2023-08-22T01:34:19.751Z" }, "maxCodeLength": { "value": 8, "timestamp": "2023-08-22T01:34:18.690Z" }, "codeChanged": { "value": "8 unset", "data": { "codeName": "Code 8" }, "timestamp": "2025-01-06T04:56:31.712Z" }, "lock": { "value": "locked", "data": { "method": "manual" }, "timestamp": "2023-07-10T23:03:42.305Z" }, "minCodeLength": { "value": 4, "timestamp": "2023-08-22T01:34:18.781Z" }, "codeReport": { "value": 5, "timestamp": "2022-08-01T01:36:58.424Z" }, "scanCodes": { "value": "Complete", "timestamp": "2025-01-06T04:56:31.730Z" }, "lockCodes": { "value": "{\"1\":\"Salim\",\"2\":\"Saima\",\"3\":\"Sarah\",\"4\":\"Aisha\",\"5\":\"Moiz\"}", "timestamp": "2025-01-06T04:56:28.325Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/device_status/zooz_zen16_multirelay.json000066400000000000000000000027601511701743400327320ustar00rootroot00000000000000{ "components": { "relay3": { "switch": { "switch": { "value": "on", "timestamp": "2025-02-09T17:28:28.349Z" } } }, "relay1": { "switch": { "switch": { "value": "on", "timestamp": "2025-02-09T17:28:27.170Z" } } }, "main": { "platemusic11009.firmware": { "firmwareVersion": { "value": 3.1, "timestamp": "2025-02-05T18:19:52.460Z" } }, "platemusic11009.associationGroupThree": { "associationGroupThree": { "value": "None", "timestamp": "2025-01-19T21:05:22.315Z" } }, "refresh": {}, "platemusic11009.deviceNetworkId": { "deviceNetworkId": { "value": "[33]", "timestamp": "2024-10-12T00:40:09.555Z" } }, "platemusic11009.associationGroupTwo": { "associationGroupTwo": { "value": "None", "timestamp": "2025-01-19T21:05:22.663Z" } }, "switch": { "switch": { "value": "on", "timestamp": "2025-02-09T17:28:27.723Z" } }, "platemusic11009.associationGroupFour": { "associationGroupFour": { "value": "None", "timestamp": "2025-01-19T21:05:22.114Z" } } }, "relay2": { "switch": { "switch": { "value": "on", "timestamp": "2025-02-09T17:28:27.852Z" } } } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices.json000066400000000000000000000156551511701743400252260ustar00rootroot00000000000000{ "items": [ { "deviceId": "743de49f-036f-4e9c-839a-2f89d57607db", "name": "GE In-Wall Smart Dimmer", "label": "Front Porch Lights", "deviceManufacturerCode": "0063-4944-3038", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "deviceTypeId": "23a143cf-bad9-4dc1-a56b-fd93ff01e9f9", "deviceTypeName": "GE Dimmer Switch 14294", "deviceNetworkType": "ZWAVE", "components": [ { "id": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "indicator", "version": 1 }, { "id": "button", "version": 1 }, { "id": "sensor", "version": 1 }, { "id": "actuator", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "light", "version": 1 } ] } ], "dth": { "deviceTypeId": "23a143cf-bad9-4dc1-a56b-fd93ff01e9f9", "deviceTypeName": "GE Dimmer Switch 14294", "deviceNetworkType": "ZWAVE", "completedSetup": false, "networkSecurityLevel": "UNKNOWN" }, "type": "DTH" }, { "deviceId": "0d38d5ca-705f-44f7-89bd-36a8cf73678d", "name": "GE Plug-In Smart Dimmer", "label": "Family Xmas Tree", "deviceManufacturerCode": "0063-5044-3033", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "deviceTypeId": "8a9d4b1e3b9b1fe3013b9b206a7f000d", "deviceTypeName": "Dimmer Switch", "deviceNetworkType": "ZWAVE", "components": [ { "id": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "indicator", "version": 1 }, { "id": "sensor", "version": 1 }, { "id": "actuator", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "light", "version": 1 } ] } ], "dth": { "deviceTypeId": "8a9d4b1e3b9b1fe3013b9b206a7f000d", "deviceTypeName": "Dimmer Switch", "deviceNetworkType": "ZWAVE", "completedSetup": false, "networkSecurityLevel": "UNKNOWN" }, "type": "DTH" }, { "deviceId": "64e7f664-5b99-4573-b76d-03be3021dc78", "name": "GE Wall Switch", "label": "Dining Cabinet Lights", "deviceManufacturerCode": "0063-4952-3036", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "deviceTypeId": "26638034-3292-11e2-9c79-22000a1dc790", "deviceTypeName": "Z-Wave Switch", "deviceNetworkType": "ZWAVE", "components": [ { "id": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "indicator", "version": 1 }, { "id": "sensor", "version": 1 }, { "id": "actuator", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "light", "version": 1 } ] } ], "dth": { "deviceTypeId": "26638034-3292-11e2-9c79-22000a1dc790", "deviceTypeName": "Z-Wave Switch", "deviceNetworkType": "ZWAVE", "completedSetup": false, "networkSecurityLevel": "UNKNOWN" }, "type": "DTH" }, { "deviceId": "f315789f-bc75-4a54-8ee0-98e2d8f23f93", "name": "Z-Wave Device Multichannel", "label": "Master Bath Fan", "deviceManufacturerCode": "0063-494D-3032", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "deviceTypeId": "bbb3646e-c624-4780-94b1-9511eda569f9", "deviceTypeName": "GE Motion Switch 26931", "deviceNetworkType": "ZWAVE", "components": [ { "id": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "polling", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "button", "version": 1 }, { "id": "sensor", "version": 1 }, { "id": "actuator", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "light", "version": 1 } ] } ], "dth": { "deviceTypeId": "bbb3646e-c624-4780-94b1-9511eda569f9", "deviceTypeName": "GE Motion Switch 26931", "deviceNetworkType": "ZWAVE", "completedSetup": false, "networkSecurityLevel": "UNKNOWN" }, "type": "DTH" }, { "deviceId": "0473c5c0-fdae-4a62-9000-b57af9218a 65", "name": "c2c-rgbw-color-bulb", "label": "Desk Lamp", "locationId": "c6358051-231c-49f3-90f0-d09f9cc 884d2", "roomId": "902ca7f6-ff9a-42af-9432-55399b9582fc", "components": [ { "id": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "colorControl", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ] } ], "profile": { "id": "4d24a797-e0c0-45ad-8725-04aa6eb2eeb1" }, "viper": {}, "type": "VIPER" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_10.json000066400000000000000000001337171511701743400255260ustar00rootroot00000000000000{ "items": [ { "deviceId": "6a6954ee-5784-4cce-aac6-fbe010adca07", "name": "Samsung Soundbar S801B", "label": "Samsung Soundbar S801B", "manufacturerName": "Samsung Electronics", "presentationId": "VD-NetworkAudio-002S", "deviceManufacturerCode": "Samsung Electronics", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "bce1d0a8-cd33-4896-a5ad-05f50467c8db", "deviceTypeName": "Samsung OCF Network Audio Player", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "audioTrackData", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "samsungvd.audioInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "audioNotification", "version": 1 }, { "id": "samsungvd.soundFrom", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "samsungvd.audioGroupInfo", "version": 1, "ephemeral": true } ], "categories": [ { "name": "NetworkAudio", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-11T21:54:52.681Z", "profile": { "id": "0e40ae6f-ea47-38fc-8b27-7f82c467f5c1" }, "ocf": { "ocfDeviceType": "oic.d.networkaudio", "name": "Samsung Soundbar S801B", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "HW-S801B", "platformVersion": "6.5", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "HW-S801BWWB-1010.0", "vendorId": "VD-NetworkAudio-002S", "vendorResourceClientServerVersion": "2.3.16", "locale": "", "lastSignupTime": "2023-06-11T21:54:49.635578Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "16d58af1-86a0-46cd-bf14-d3742119e27c", "name": "multi-sensor", "label": "Main Bedroom Window Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "d855b759-f7d5-4369-b5a2-a154de4b1e14", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "MultiFunctionalSensor", "categoryType": "user" } ] } ], "createTime": "2023-03-21T19:23:10.236Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D9700011415D1", "networkId": "FCC5", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "59513635-baa2-463f-bb6a-443f662f3f2a", "name": "motion-battery", "label": "Garage Motion Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "4ce5cd02-b568-3bed-b6d5-2ba2205fb525", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "cdf080f0-0542-41d7-a606-aff69683e04c", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "motionSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MotionSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2023-05-18T17:32:21.866Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "bcb52cd4-0c84-39e2-9893-39872290b0a4" }, "zigbee": { "eui": "0015BC001A028E5C", "networkId": "664E", "driverId": "d620900d-f7bc-4ab5-a171-6dd159872f7d", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "ab7557f0-281d-49e9-a0d7-d838229a49d8", "name": "multi-sensor", "label": "Charlie's Bedroom Window Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "7641a6ce-bb42-4d37-8c94-e8a20a1f8d2c", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "MultiFunctionalSensor", "categoryType": "user" } ] } ], "createTime": "2023-03-21T19:19:34.119Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D9700011419D7", "networkId": "5DC3", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "name": "SmartThings v3 Hub", "label": "SmartThings v3 Hub", "manufacturerName": "SmartThingsCommunity", "presentationId": "63f1469e-dc4a-3689-8cc5-69e293c1eb21", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "40dca7a1-3ba7-4e31-be11-2c05292d8605", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2020-08-11T19:06:15Z", "childDevices": [ { "deviceId": "16d58af1-86a0-46cd-bf14-d3742119e27c", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "25bd5c0e-23bf-402c-a2f3-a8c34bf656b1", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "333b4955-5f0d-4a87-8ad8-9fe32607e1fb", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "3358b4cc-4a35-49ad-8bf9-95803d044408", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "493837dc-c9a0-4ab2-9610-1b46e3c668c3", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "59513635-baa2-463f-bb6a-443f662f3f2a", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "7faaac2e-d889-4141-99f5-493c991ec508", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "994ad929-3308-45a1-9ed0-e1cc26021131", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "ab7557f0-281d-49e9-a0d7-d838229a49d8", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "c93373db-ffec-49ad-80b8-6880ecad5eb8", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "eeaa8872-18b2-4626-8f45-cbf8396e7a8f", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "f0af21a2-d5a1-437c-b10a-b34a87394b71", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "fec5fefc-187a-4b07-ac8d-244aa8c448df", "profile": {}, "allowed": null, "executionContext": "CLOUD" } ], "profile": { "id": "d77ba2f6-c377-36f5-bb68-15db9d1aa0e1" }, "hub": { "hubEui": "D052A8B6033F0001", "firmwareVersion": "000.055.00005", "hubDrivers": [ { "driverVersion": "2024-12-17T18:00:36.611958104", "driverId": "01976eca-e7ff-4d1b-91db-9c980ce668d7", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:51.437710641", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:35.032104982", "driverId": "4eb5b19a-7bbc-452f-859b-c6d7d857b2da", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:05.703753938", "driverId": "4fb7ec02-2697-4d73-977d-2b1c65c4484f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-02-03T22:38:47.582952919", "driverId": "7beb8bc2-8dfa-45c2-8fdb-7373d4597b12", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-21T19:06:49.949052991", "driverId": "9050ac53-358c-47a1-a927-9a70f5f28cee", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-09-12T20:02:11.251500419", "driverId": "b98b34ce-1d1d-480c-bb17-41307a90cde0", "channelId": "2423da55-101c-4b21-af58-0903656b85ca" }, { "driverVersion": "2024-11-04T22:39:18.253781754", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:15.547412569", "driverId": "c856a3fd-69ee-4478-a224-d7279b6d978f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-01-13T18:55:57.509807915", "driverId": "cd898d81-6c27-4d27-a529-dfadc8caae5a", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:50.444920985", "driverId": "d620900d-f7bc-4ab5-a171-6dd159872f7d", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-07-11T18:43:49.169154271", "driverId": "d9c3f8b8-c3c3-4b77-9ddd-01d08102c84b", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.195543653", "driverId": "dbe192cb-f6a1-4369-a843-d1c42e5c91ba", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" } ], "hubData": { "zwaveStaticDsk": "64454-59291-25499-09979-62836-31117-32218-08719", "zwaveS2": true, "hardwareType": "V3_HUB", "hardwareId": "0036", "zigbeeFirmware": "6.1.6", "zigbee3": true, "zigbeeOta": "ENABLED_WITH_LIGHTS", "otaEnable": "true", "zigbeeUnsecureRejoin": true, "zigbeeRequiresExternalHardware": false, "threadRequiresExternalHardware": false, "failoverAvailability": "Available", "primarySupportAvailability": "Available", "secondarySupportAvailability": "Available", "zigbeeAvailability": "Available", "zwaveAvailability": "Available", "threadAvailability": "Available", "lanAvailability": "Available", "matterAvailability": "Available", "localVirtualDeviceAvailability": "Available", "childDeviceAvailability": "Unsupported", "edgeDriversAvailability": "Available", "hubReplaceAvailability": "Available", "hubLocalApiAvailability": "Available", "zigbeeManualFirmwareUpdateSupported": true, "matterRendezvousHedgeSupported": true, "matterSoftwareComponentVersion": "1.3-0", "matterDeviceDiagnosticsAvailability": "Available", "zigbeeDeviceDiagnosticsAvailability": "Available", "hedgeTlsCertificate": "", "zigbeeChannel": "14", "zigbeePanId": "4F42", "zigbeeEui": "286D970002054628", "zigbeeNodeID": "0000", "zwaveNodeID": "01", "zwaveHomeID": "E0CA1E36", "zwaveSucID": "01", "zwaveVersion": "6.10", "zwaveRegion": "EU", "macAddress": "28:6D:97:AF:94:78", "localIP": "192.168.1.51", "zigbeeRadioFunctional": true, "zwaveRadioFunctional": true, "zigbeeRadioEnabled": true, "zwaveRadioEnabled": true, "zigbeeRadioDetected": true, "zwaveRadioDetected": true } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "994ad929-3308-45a1-9ed0-e1cc26021131", "name": "Multipurpose Sensor", "label": "Kitchen Door Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "2464cde2-4420-4f2b-9af8-95d1f08653a5", "components": [ { "id": "main", "label": "Kitchen Door Sensor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2020-08-12T14:58:54Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D9700010D3F80", "networkId": "9367", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "333b4955-5f0d-4a87-8ad8-9fe32607e1fb", "name": "Multipurpose Sensor", "label": "Back Door Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "bce1d0a8-cd33-4896-a5ad-05f50467c8db", "components": [ { "id": "main", "label": "Back Door Sensor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2020-08-11T19:40:53Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D9700010A41E1", "networkId": "2374", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "7faaac2e-d889-4141-99f5-493c991ec508", "name": "Multipurpose Sensor", "label": "Garage Back Door Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "cdf080f0-0542-41d7-a606-aff69683e04c", "components": [ { "id": "main", "label": "Garage Back Door Sensor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2020-08-12T15:04:27Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D9700010D90EE", "networkId": "275C", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "c93373db-ffec-49ad-80b8-6880ecad5eb8", "name": "Multipurpose Sensor", "label": "Front Door Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "52bdaef4-ac6b-4ccf-9e59-fe304bcc72fc", "components": [ { "id": "main", "label": "Front Door Sensor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2021-09-19T18:53:25.262Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D970001127FD6", "networkId": "D199", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "eeaa8872-18b2-4626-8f45-cbf8396e7a8f", "name": "Multipurpose Sensor", "label": "Front Left Window Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "0f611f5c-5164-4a56-9cab-433907debeee", "components": [ { "id": "main", "label": "Front Left Window Sensor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2020-08-20T21:48:19Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D9700010A4009", "networkId": "7A09", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "fec5fefc-187a-4b07-ac8d-244aa8c448df", "name": "multi-sensor", "label": "Landing Window Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "f7667cb2-aeca-414e-8ea6-a7bee7ccdbb6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2023-09-05T17:57:40.658Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D9700011417DB", "networkId": "1BA9", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "3358b4cc-4a35-49ad-8bf9-95803d044408", "name": "motion-temp-battery", "label": "Rabbit House Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "9bfc2d33-4dff-3ea8-949c-ae9bf31f612a", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "ea75d25c-881b-4e39-967e-c0a3101cfa5e", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "motionSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MotionSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-01T00:36:29.076Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "8273b331-6efb-3adf-87e3-906329f99257" }, "zigbee": { "eui": "286D9700010C9EAF", "networkId": "B5D4", "driverId": "d620900d-f7bc-4ab5-a171-6dd159872f7d", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "25bd5c0e-23bf-402c-a2f3-a8c34bf656b1", "name": "multi-sensor", "label": "Kitchen Window Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "2464cde2-4420-4f2b-9af8-95d1f08653a5", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "MultiFunctionalSensor", "categoryType": "user" } ] } ], "createTime": "2023-04-09T19:23:04.065Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D97000112ABD2", "networkId": "1ECC", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "493837dc-c9a0-4ab2-9610-1b46e3c668c3", "name": "multi-sensor", "label": "Girl's Bedroom Window Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "Samjin", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "ebd35c19-c180-4d7d-9bcb-95279f74d7ad", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "MultiFunctionalSensor", "categoryType": "user" } ] } ], "createTime": "2023-03-21T19:13:46.786Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "286D9700011415C1", "networkId": "7C6D", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "b4d20b8f-ae23-8a6d-9db2-4c9d8db2c615", "name": "Samsung QN95CA 55", "label": "Samsung QN95CA 55", "manufacturerName": "Samsung Electronics", "presentationId": "VD-STV-2023", "deviceManufacturerCode": "Samsung Electronics", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "0f611f5c-5164-4a56-9cab-433907debeee", "deviceTypeName": "Samsung OCF TV", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "sec.deviceConnectionState", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "samsungim.fixedFindNode", "version": 1 }, { "id": "samsungvd.lightControl", "version": 1 } ], "categories": [ { "name": "Television", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-16T10:53:58.305Z", "profile": { "id": "7b320619-876f-3fac-8709-e24ea2b09524" }, "ocf": { "ocfDeviceType": "oic.d.tv", "name": "Samsung QN95CA 55", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "QE55QN95CATXXU", "platformVersion": "8.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "T-PTMCDEUC-0080-2013.1|ST_ENERGY", "vendorId": "VD-STV-2023", "vendorResourceClientServerVersion": "4.0.26", "locale": "en_GB", "lastSignupTime": "2023-06-16T10:53:52.162548Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "01751e21-3609-ec2f-41af-1c8bc8d96c15", "name": "Samsung The Frame 55", "label": "Samsung The Frame 55", "manufacturerName": "Samsung Electronics", "presentationId": "VD-STV-2022", "deviceManufacturerCode": "Samsung Electronics", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "bce1d0a8-cd33-4896-a5ad-05f50467c8db", "deviceTypeName": "Samsung OCF TV", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "samsungim.fixedFindNode", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "sec.deviceConnectionState", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 } ], "categories": [ { "name": "Television", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-10T23:08:13.202Z", "profile": { "id": "d02ed45d-5abe-3932-a625-f98226bf6691" }, "ocf": { "ocfDeviceType": "oic.d.tv", "name": "Samsung The Frame 55", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "QE55LS03BGUXXU", "platformVersion": "6.5", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "T-PTMDEUC-1651.7|ST_ENERGY", "vendorId": "VD-STV-2022", "vendorResourceClientServerVersion": "4.0.26", "locale": "en_GB", "lastSignupTime": "2023-06-10T23:08:07.878281Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "f0af21a2-d5a1-437c-b10a-b34a87394b71", "name": "aeotec-home-energy-meter-gen5", "label": "Aeotec Energy Monitor", "manufacturerName": "SmartThingsCommunity", "presentationId": "3e0921d3-0a66-3d49-b458-752e596838e9", "deviceManufacturerCode": "0086-0002-005F", "locationId": "6911ddf5-f0cb-4516-a06a-3a2a6ec22bca", "ownerId": "93257fc4-6471-2566-b06e-2fe72dd979fa", "roomId": "cdf080f0-0542-41d7-a606-aff69683e04c", "components": [ { "id": "main", "label": "Meter", "capabilities": [ { "id": "powerMeter", "version": 1 }, { "id": "energyMeter", "version": 1 }, { "id": "voltageMeasurement", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "CurbPowerMeter", "categoryType": "manufacturer" } ] } ], "createTime": "2023-01-12T23:02:44.917Z", "parentDeviceId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "profile": { "id": "6372c227-93c7-32ef-9be5-aef2221adff1" }, "zwave": { "networkId": "0A", "driverId": "b98b34ce-1d1d-480c-bb17-41307a90cde0", "executingLocally": true, "hubId": "6a2d07a4-dd77-48bc-9acf-017029aaf099", "networkSecurityLevel": "ZWAVE_S0_LEGACY", "provisioningState": "PROVISIONED", "manufacturerId": 134, "productType": 2, "productId": 95 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_11.json000066400000000000000000000651011511701743400255160ustar00rootroot00000000000000{ "items": [ { "deviceId": "bf4b1167-48a3-4af7-9186-0900a678ffa5", "name": "sensibo-airconditioner-1", "label": "Office", "manufacturerName": "0ABU", "presentationId": "sensibo-airconditioner-1", "deviceManufacturerCode": "Sensibo", "locationId": "fe14085e-bacb-4997-bc0c-df08204eaea2", "ownerId": "49228038-22ca-1c78-d7ab-b774b4569480", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2024-12-04T10:10:02.873Z", "profile": { "id": "ddaffb28-8ebb-4bd6-9d6f-57c28dcb434d" }, "viper": { "manufacturerName": "Sensibo", "modelName": "skyplus", "swVersion": "SKY40147", "hwVersion": "SKY40147", "endpointAppId": "viper_5661d200-806e-11e9-abe0-3b2f83c8954c" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "b905ade6-4f96-b00e-3292-0703f5866809", "name": "[washer] Samsung", "label": "Washer", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WM-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "fe14085e-bacb-4997-bc0c-df08204eaea2", "ownerId": "49228038-22ca-1c78-d7ab-b774b4569480", "roomId": "023deeb7-c4b9-44a2-ad73-01c7c4d4f80c", "deviceTypeName": "Samsung OCF Washer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "washerOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.dryerWrinklePrevent", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.washerAutoDetergent", "version": 1 }, { "id": "custom.washerAutoSoftener", "version": 1 }, { "id": "custom.washerRinseCycles", "version": 1 }, { "id": "custom.washerSoilLevel", "version": 1 }, { "id": "custom.washerSpinLevel", "version": 1 }, { "id": "custom.washerWaterTemperature", "version": 1 }, { "id": "samsungce.autoDispenseDetergent", "version": 1 }, { "id": "samsungce.autoDispenseSoftener", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.dryerDryingTime", "version": 1 }, { "id": "samsungce.detergentAutoReplenishment", "version": 1 }, { "id": "samsungce.softenerAutoReplenishment", "version": 1 }, { "id": "samsungce.flexibleAutoDispenseDetergent", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softenerOrder", "version": 1 }, { "id": "samsungce.softenerState", "version": 1 }, { "id": "samsungce.washerBubbleSoak", "version": 1 }, { "id": "samsungce.washerCycle", "version": 1 }, { "id": "samsungce.washerCyclePreset", "version": 1 }, { "id": "samsungce.washerDelayEnd", "version": 1 }, { "id": "samsungce.washerFreezePrevent", "version": 1 }, { "id": "samsungce.washerLabelScanCyclePreset", "version": 1 }, { "id": "samsungce.washerOperatingState", "version": 1 }, { "id": "samsungce.washerWashingTime", "version": 1 }, { "id": "samsungce.washerWaterLevel", "version": 1 }, { "id": "samsungce.washerWaterValve", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.waterConsumptionReport", "version": 1 }, { "id": "samsungce.clothingExtraCare", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.energyPlanner", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Washer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.washerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2024-03-07T08:19:55.646Z", "profile": { "id": "94f0c5f4-9d04-39fe-a149-b3de24484ae1" }, "ocf": { "ocfDeviceType": "oic.d.washer", "name": "[washer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_TP1_21_COMMON|20334241|20010002001711664AA3025700000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "DA_WM_TP1_21_COMMON_30240927", "vendorId": "DA-WM-WM-01011", "vendorResourceClientServerVersion": "Realtek Release 3.1.240801", "lastSignupTime": "2024-03-07T08:19:55.568142Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "71526aa9-6457-417a-9bae-b83c87761e6a", "name": "SmartThings v3 Hub", "label": "Garage Hub", "manufacturerName": "SmartThingsCommunity", "presentationId": "63f1469e-dc4a-3689-8cc5-69e293c1eb21", "locationId": "fe14085e-bacb-4997-bc0c-df08204eaea2", "ownerId": "49228038-22ca-1c78-d7ab-b774b4569480", "roomId": "adc5f7f4-55f2-4df5-b91e-119cd82b3c57", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2021-01-26T12:25:04.942Z", "childDevices": [ { "deviceId": "23a4c0a4-2dae-47d0-b987-cba764414672", "profile": {}, "allowed": null, "executionContext": "CLOUD" } ], "profile": { "id": "d77ba2f6-c377-36f5-bb68-15db9d1aa0e1" }, "hub": { "hubEui": "D052A8BB45100001", "firmwareVersion": "000.055.00005", "hubDrivers": [ { "driverVersion": "2024-12-17T18:00:36.611958104", "driverId": "01976eca-e7ff-4d1b-91db-9c980ce668d7", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-12-17T18:00:44.518908102", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:35.032104982", "driverId": "4eb5b19a-7bbc-452f-859b-c6d7d857b2da", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-02-03T22:38:47.582952919", "driverId": "7beb8bc2-8dfa-45c2-8fdb-7373d4597b12", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-21T19:06:49.949052991", "driverId": "9050ac53-358c-47a1-a927-9a70f5f28cee", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-11-04T22:39:18.253781754", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:15.547412569", "driverId": "c856a3fd-69ee-4478-a224-d7279b6d978f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-01-13T18:55:57.509807915", "driverId": "cd898d81-6c27-4d27-a529-dfadc8caae5a", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-07-11T18:43:49.169154271", "driverId": "d9c3f8b8-c3c3-4b77-9ddd-01d08102c84b", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.195543653", "driverId": "dbe192cb-f6a1-4369-a843-d1c42e5c91ba", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" } ], "hubData": { "zwaveStaticDsk": "42798-57097-54009-24561-60273-51818-38338-38038", "zwaveS2": true, "hardwareType": "V3_HUB", "hardwareId": "001F", "zigbeeFirmware": "6.1.6", "zigbee3": true, "zigbeeOta": "ENABLED_WITH_LIGHTS", "otaEnable": "true", "zigbeeUnsecureRejoin": false, "zigbeeRequiresExternalHardware": false, "threadRequiresExternalHardware": false, "failoverAvailability": "Available", "primarySupportAvailability": "Available", "secondarySupportAvailability": "Available", "zigbeeAvailability": "Available", "zwaveAvailability": "Available", "threadAvailability": "Available", "lanAvailability": "Available", "matterAvailability": "Available", "localVirtualDeviceAvailability": "Available", "childDeviceAvailability": "Unsupported", "edgeDriversAvailability": "Available", "hubReplaceAvailability": "Available", "hubLocalApiAvailability": "Available", "zigbeeManualFirmwareUpdateSupported": true, "matterRendezvousHedgeSupported": true, "matterSoftwareComponentVersion": "1.3-0", "matterDeviceDiagnosticsAvailability": "Available", "zigbeeDeviceDiagnosticsAvailability": "Available", "hedgeTlsCertificate": "", "zigbeeChannel": "14", "zigbeePanId": "160B", "zigbeeEui": "286D970002008C56", "zigbeeNodeID": "0000", "zwaveNodeID": "01", "zwaveHomeID": "FA325AB6", "zwaveSucID": "01", "zwaveVersion": "6.10", "zwaveRegion": "EU", "macAddress": "28:6D:97:71:F3:61", "localIP": "192.168.50.47", "wifiSsid": "GrayHome", "zigbeeRadioFunctional": true, "zwaveRadioFunctional": true, "zigbeeRadioEnabled": true, "zwaveRadioEnabled": true, "zigbeeRadioDetected": true, "zwaveRadioDetected": true } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "148606b0-9c62-417c-8c0a-c6e4ef7ce269", "name": "SmartThings v3 Hub", "label": "Upstairs Hub", "manufacturerName": "SmartThingsCommunity", "presentationId": "63f1469e-dc4a-3689-8cc5-69e293c1eb21", "locationId": "fe14085e-bacb-4997-bc0c-df08204eaea2", "ownerId": "49228038-22ca-1c78-d7ab-b774b4569480", "roomId": "d2ae804d-e94f-4235-a09f-3d73f06d5ab4", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2019-12-05T17:33:42Z", "childDevices": [ { "deviceId": "dd7ab462-c277-4aed-a9fb-ec66f9c6cc59", "profile": {}, "allowed": null, "executionContext": "CLOUD" } ], "profile": { "id": "d77ba2f6-c377-36f5-bb68-15db9d1aa0e1" }, "hub": { "hubEui": "D052A8BBDADC0001", "firmwareVersion": "000.055.00005", "hubDrivers": [ { "driverVersion": "2024-12-17T18:00:36.611958104", "driverId": "01976eca-e7ff-4d1b-91db-9c980ce668d7", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-12-17T18:00:44.518908102", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:35.032104982", "driverId": "4eb5b19a-7bbc-452f-859b-c6d7d857b2da", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-02-03T22:38:47.582952919", "driverId": "7beb8bc2-8dfa-45c2-8fdb-7373d4597b12", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-21T19:06:49.949052991", "driverId": "9050ac53-358c-47a1-a927-9a70f5f28cee", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-11-04T22:39:18.253781754", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:15.547412569", "driverId": "c856a3fd-69ee-4478-a224-d7279b6d978f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-01-13T18:55:57.509807915", "driverId": "cd898d81-6c27-4d27-a529-dfadc8caae5a", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-07-11T18:43:49.169154271", "driverId": "d9c3f8b8-c3c3-4b77-9ddd-01d08102c84b", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.195543653", "driverId": "dbe192cb-f6a1-4369-a843-d1c42e5c91ba", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" } ], "hubData": { "zwaveStaticDsk": "33264-23071-47749-26247-53701-44750-17797-22106", "zwaveS2": true, "hardwareType": "V3_HUB", "hardwareId": "001F", "zigbeeFirmware": "6.1.6", "zigbee3": true, "zigbeeOta": "ENABLED", "otaEnable": "true", "zigbeeUnsecureRejoin": false, "zigbeeRequiresExternalHardware": false, "threadRequiresExternalHardware": false, "failoverAvailability": "Available", "primarySupportAvailability": "Available", "secondarySupportAvailability": "Available", "zigbeeAvailability": "Available", "zwaveAvailability": "Available", "threadAvailability": "Available", "lanAvailability": "Available", "matterAvailability": "Available", "localVirtualDeviceAvailability": "Available", "childDeviceAvailability": "Unsupported", "edgeDriversAvailability": "Available", "hubReplaceAvailability": "Available", "hubLocalApiAvailability": "Available", "zigbeeManualFirmwareUpdateSupported": true, "matterRendezvousHedgeSupported": true, "matterSoftwareComponentVersion": "1.3-0", "matterDeviceDiagnosticsAvailability": "Available", "zigbeeDeviceDiagnosticsAvailability": "Available", "hedgeTlsCertificate": "", "zigbeeChannel": "24", "zigbeePanId": "6611", "zigbeeEui": "286D970002008B31", "zigbeeNodeID": "0000", "zwaveNodeID": "01", "zwaveHomeID": "D00A93D0", "zwaveSucID": "01", "zwaveVersion": "6.10", "zwaveRegion": "EU", "macAddress": "28:6D:97:71:ED:E5", "localIP": "192.168.50.253", "wifiSsid": "GrayHome_2.4", "zigbeeRadioFunctional": true, "zwaveRadioFunctional": true, "zigbeeRadioEnabled": true, "zwaveRadioEnabled": true, "zigbeeRadioDetected": true, "zwaveRadioDetected": true } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "dd7ab462-c277-4aed-a9fb-ec66f9c6cc59", "name": "Aeotec Switch", "label": "Geyser", "manufacturerName": "SmartThingsCommunity", "presentationId": "a15343f1-ecbc-3bb5-9087-20f48fee9047", "deviceManufacturerCode": "0086-0003-004E", "locationId": "fe14085e-bacb-4997-bc0c-df08204eaea2", "ownerId": "49228038-22ca-1c78-d7ab-b774b4569480", "roomId": "d2ae804d-e94f-4235-a09f-3d73f06d5ab4", "components": [ { "id": "main", "label": "Geyser", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "energyMeter", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] } ], "createTime": "2020-09-06T07:34:43Z", "parentDeviceId": "148606b0-9c62-417c-8c0a-c6e4ef7ce269", "profile": { "id": "42844168-2424-32f9-b27c-6605a48a4176" }, "zwave": { "networkId": "06", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "148606b0-9c62-417c-8c0a-c6e4ef7ce269", "networkSecurityLevel": "ZWAVE_S0_LEGACY", "provisioningState": "PROVISIONED", "manufacturerId": 134, "productType": 3, "productId": 78 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "80d3956d-b94d-4a43-9bad-d3cdc8a9cb1d", "name": "sensibo-airconditioner-1", "label": "Main Bedroom", "manufacturerName": "0ABU", "presentationId": "sensibo-airconditioner-1", "deviceManufacturerCode": "Sensibo", "locationId": "fe14085e-bacb-4997-bc0c-df08204eaea2", "ownerId": "49228038-22ca-1c78-d7ab-b774b4569480", "roomId": "8909ddf7-afde-4116-b525-f6a355bf3b7f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2020-09-21T19:00:32Z", "profile": { "id": "ddaffb28-8ebb-4bd6-9d6f-57c28dcb434d" }, "viper": { "manufacturerName": "Sensibo", "modelName": "skyv2", "swVersion": "SKY30046", "hwVersion": "SKY30046", "endpointAppId": "viper_5661d200-806e-11e9-abe0-3b2f83c8954c" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "23a4c0a4-2dae-47d0-b987-cba764414672", "name": "Aeotec Switch", "label": "Geyser", "manufacturerName": "SmartThingsCommunity", "presentationId": "a15343f1-ecbc-3bb5-9087-20f48fee9047", "deviceManufacturerCode": "0086-0003-004E", "locationId": "fe14085e-bacb-4997-bc0c-df08204eaea2", "ownerId": "49228038-22ca-1c78-d7ab-b774b4569480", "roomId": "adc5f7f4-55f2-4df5-b91e-119cd82b3c57", "components": [ { "id": "main", "label": "Geyser", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "energyMeter", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] } ], "createTime": "2021-01-26T12:35:18.326Z", "parentDeviceId": "71526aa9-6457-417a-9bae-b83c87761e6a", "profile": { "id": "42844168-2424-32f9-b27c-6605a48a4176" }, "zwave": { "networkId": "06", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "71526aa9-6457-417a-9bae-b83c87761e6a", "networkSecurityLevel": "ZWAVE_S0_LEGACY", "provisioningState": "PROVISIONED", "manufacturerId": 134, "productType": 3, "productId": 78 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "4c08fbf8-f77b-4236-a18b-0bbe7da61ea8", "name": "sensibo-airconditioner-1", "label": "Harry's room", "manufacturerName": "0ABU", "presentationId": "sensibo-airconditioner-1", "deviceManufacturerCode": "Sensibo", "locationId": "fe14085e-bacb-4997-bc0c-df08204eaea2", "ownerId": "49228038-22ca-1c78-d7ab-b774b4569480", "roomId": "e9a777d8-c350-4ea2-8b11-62576e4ecfba", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2020-09-21T19:00:32Z", "profile": { "id": "ddaffb28-8ebb-4bd6-9d6f-57c28dcb434d" }, "viper": { "manufacturerName": "Sensibo", "modelName": "skyv2", "swVersion": "SKY30046", "hwVersion": "SKY30046", "endpointAppId": "viper_5661d200-806e-11e9-abe0-3b2f83c8954c" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_12.json000066400000000000000000000273471511701743400255310ustar00rootroot00000000000000{ "items": [ { "deviceId": "62ad169f-f270-b219-a521-1608dea8bf76", "name": "[washer] Samsung", "label": "Washing machine", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WM-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "6a446433-a83d-4ede-9c47-f22a0f80b574", "ownerId": "081768d2-bad6-9100-6600-c880480eb0a9", "roomId": "24f7842f-5424-4024-95e0-a4409e3f9d95", "deviceTypeName": "Samsung OCF Washer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "washerOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.dryerWrinklePrevent", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.washerAutoDetergent", "version": 1 }, { "id": "custom.washerAutoSoftener", "version": 1 }, { "id": "custom.washerRinseCycles", "version": 1 }, { "id": "custom.washerSoilLevel", "version": 1 }, { "id": "custom.washerSpinLevel", "version": 1 }, { "id": "custom.washerWaterTemperature", "version": 1 }, { "id": "samsungce.autoDispenseDetergent", "version": 1 }, { "id": "samsungce.autoDispenseSoftener", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.dryerDryingTime", "version": 1 }, { "id": "samsungce.detergentAutoReplenishment", "version": 1 }, { "id": "samsungce.softenerAutoReplenishment", "version": 1 }, { "id": "samsungce.flexibleAutoDispenseDetergent", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softenerOrder", "version": 1 }, { "id": "samsungce.softenerState", "version": 1 }, { "id": "samsungce.washerBubbleSoak", "version": 1 }, { "id": "samsungce.washerCycle", "version": 1 }, { "id": "samsungce.washerCyclePreset", "version": 1 }, { "id": "samsungce.washerDelayEnd", "version": 1 }, { "id": "samsungce.washerFreezePrevent", "version": 1 }, { "id": "samsungce.washerLabelScanCyclePreset", "version": 1 }, { "id": "samsungce.washerOperatingState", "version": 1 }, { "id": "samsungce.washerWashingTime", "version": 1 }, { "id": "samsungce.washerWaterLevel", "version": 1 }, { "id": "samsungce.washerWaterValve", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.waterConsumptionReport", "version": 1 }, { "id": "samsungce.clothingExtraCare", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.energyPlanner", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Washer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.washerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2023-01-30T23:59:37.142Z", "profile": { "id": "94f0c5f4-9d04-39fe-a149-b3de24484ae1" }, "ocf": { "ocfDeviceType": "oic.d.washer", "name": "[washer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_TP1_21_COMMON|20314341|20010002001611664AA3025700000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "DA_WM_TP1_21_COMMON_30240927", "vendorId": "DA-WM-WM-01011", "vendorResourceClientServerVersion": "Realtek Release 3.1.240801", "lastSignupTime": "2023-01-30T23:59:32.300072Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "035a8805-e552-ce47-cf04-411e4644eeb8", "name": "49\" Odyssey OLED G9", "label": "49\" Odyssey OLED G9", "manufacturerName": "Samsung Electronics", "presentationId": "VD-SMONITOR-2023", "deviceManufacturerCode": "Samsung Electronics", "locationId": "6a446433-a83d-4ede-9c47-f22a0f80b574", "ownerId": "081768d2-bad6-9100-6600-c880480eb0a9", "roomId": "21af8dce-8b94-4ec1-bbbf-7412c31175f7", "deviceTypeName": "x.com.st.d.monitor", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "sec.deviceConnectionState", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.lightControl", "version": 1 } ], "categories": [ { "name": "SmartMonitor", "categoryType": "manufacturer" } ] } ], "createTime": "2024-11-27T14:49:40.456Z", "profile": { "id": "057707e8-9a4e-3d0b-ba10-d5fb6ff8fa00" }, "ocf": { "ocfDeviceType": "x.com.st.d.monitor", "name": "49\" Odyssey OLED G9", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "LS49CG954SUXXU", "platformVersion": "7.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "T-OSCSCWWC-2000.2", "vendorId": "VD-SMONITOR-2023", "vendorResourceClientServerVersion": "3.2.41", "lastSignupTime": "2024-11-27T14:49:37.112881149Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_13.json000066400000000000000000000361621511701743400255250ustar00rootroot00000000000000{ "items": [ { "deviceId": "d7c54320-6d75-4543-ab1f-9bd105336aae", "name": "SmartThings v2 Hub", "label": "Home", "manufacturerName": "SmartThingsCommunity", "presentationId": "63f1469e-dc4a-3689-8cc5-69e293c1eb21", "locationId": "c4904031-30e5-4920-9ea7-0a768e355b2a", "ownerId": "bad8318e-e67b-c050-0709-6c3f594384ce", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2018-03-15T14:30:12Z", "childDevices": [ { "deviceId": "42410e99-63cb-49d0-8f2f-d036f1b3ce66", "profile": {}, "allowed": null, "executionContext": "CLOUD" } ], "profile": { "id": "d77ba2f6-c377-36f5-bb68-15db9d1aa0e1" }, "hub": { "hubEui": "D052A8540CAF0001", "firmwareVersion": "000.055.00005", "hubDrivers": [ { "driverVersion": "2024-12-17T18:00:36.611958104", "driverId": "01976eca-e7ff-4d1b-91db-9c980ce668d7", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-12-17T18:00:48.572636846", "driverId": "0f206d13-508e-4342-9cbb-937e02489141", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-12-17T18:00:44.518908102", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:51.437710641", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:35.032104982", "driverId": "4eb5b19a-7bbc-452f-859b-c6d7d857b2da", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-02-03T22:38:47.582952919", "driverId": "7beb8bc2-8dfa-45c2-8fdb-7373d4597b12", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-21T19:06:49.949052991", "driverId": "9050ac53-358c-47a1-a927-9a70f5f28cee", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-11-04T22:39:18.253781754", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:15.547412569", "driverId": "c856a3fd-69ee-4478-a224-d7279b6d978f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-01-13T18:55:57.509807915", "driverId": "cd898d81-6c27-4d27-a529-dfadc8caae5a", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-07-11T18:43:49.169154271", "driverId": "d9c3f8b8-c3c3-4b77-9ddd-01d08102c84b", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.195543653", "driverId": "dbe192cb-f6a1-4369-a843-d1c42e5c91ba", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" } ], "hubData": { "zwaveStaticDsk": "07842-01077-50282-50157-16964-07764-47073-47847", "zwaveS2": true, "hardwareType": "V2_HUB", "hardwareId": "000E", "zigbeeFirmware": "5.7.10", "zigbee3": true, "zigbeeOta": "DISABLED", "otaEnable": "false", "zigbeeUnsecureRejoin": false, "zigbeeRequiresExternalHardware": false, "threadRequiresExternalHardware": false, "failoverAvailability": "Unsupported", "primarySupportAvailability": "Unsupported", "secondarySupportAvailability": "Unsupported", "zigbeeAvailability": "Available", "zwaveAvailability": "Available", "lanAvailability": "Available", "matterAvailability": "Available", "localVirtualDeviceAvailability": "Available", "childDeviceAvailability": "Unsupported", "edgeDriversAvailability": "Available", "hubReplaceAvailability": "Available", "hubLocalApiAvailability": "Available", "zigbeeManualFirmwareUpdateSupported": true, "matterRendezvousHedgeSupported": true, "matterSoftwareComponentVersion": "1.3-0", "matterDeviceDiagnosticsAvailability": "Available", "zigbeeDeviceDiagnosticsAvailability": "Available", "hedgeTlsCertificate": "", "zigbeeChannel": "15", "zigbeePanId": "FA0C", "zigbeeEui": "D052A8540CAF0001", "zigbeeNodeID": "0000", "zwaveNodeID": "01", "zwaveHomeID": "FA0E40DE", "zwaveSucID": "01", "zwaveVersion": "6.10", "zwaveRegion": "EU", "macAddress": "D0:52:A8:54:09:EC", "localIP": "192.168.1.17", "zigbeeRadioFunctional": true, "zwaveRadioFunctional": true, "zigbeeRadioEnabled": true, "zwaveRadioEnabled": true, "zigbeeRadioDetected": true, "zwaveRadioDetected": true } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "indoorMap": { "coordinates": [0.0, 0.0, 0.0], "rotation": [0.0, 0.0, 0.0], "visible": false, "data": null }, "executionContext": "CLOUD" }, { "deviceId": "42410e99-63cb-49d0-8f2f-d036f1b3ce66", "name": "base-lock", "label": "Front Door Lock", "manufacturerName": "SmartThingsCommunity", "presentationId": "7a15b375-294d-37fc-9ebe-000aea7436c8", "deviceManufacturerCode": "0129-6600-0002", "locationId": "c4904031-30e5-4920-9ea7-0a768e355b2a", "ownerId": "bad8318e-e67b-c050-0709-6c3f594384ce", "roomId": "5cfe905f-0afb-4042-9c00-9889ba1d96d5", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "lock", "version": 1 }, { "id": "lockCodes", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "SmartLock", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-14T20:14:15.641Z", "parentDeviceId": "d7c54320-6d75-4543-ab1f-9bd105336aae", "profile": { "id": "8d99f687-b7d8-3650-b3be-57e13e17883b" }, "zwave": { "networkId": "0A", "driverId": "0f206d13-508e-4342-9cbb-937e02489141", "executingLocally": true, "hubId": "d7c54320-6d75-4543-ab1f-9bd105336aae", "networkSecurityLevel": "ZWAVE_S2_ACCESS_CONTROL", "provisioningState": "PROVISIONED", "manufacturerId": 297, "productType": 26112, "productId": 2 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6486e104-e046-f923-9645-5887ed4375dd", "name": "[washer] Samsung", "label": "Washing machine", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WM-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4904031-30e5-4920-9ea7-0a768e355b2a", "ownerId": "bad8318e-e67b-c050-0709-6c3f594384ce", "roomId": "33e79495-441b-456e-baab-f3962f2b786d", "deviceTypeName": "Samsung OCF Washer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "washerOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.dryerWrinklePrevent", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.washerAutoDetergent", "version": 1 }, { "id": "custom.washerAutoSoftener", "version": 1 }, { "id": "custom.washerRinseCycles", "version": 1 }, { "id": "custom.washerSoilLevel", "version": 1 }, { "id": "custom.washerSpinLevel", "version": 1 }, { "id": "custom.washerWaterTemperature", "version": 1 }, { "id": "samsungce.autoDispenseDetergent", "version": 1 }, { "id": "samsungce.autoDispenseSoftener", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.dryerDryingTime", "version": 1 }, { "id": "samsungce.detergentAutoReplenishment", "version": 1 }, { "id": "samsungce.softenerAutoReplenishment", "version": 1 }, { "id": "samsungce.flexibleAutoDispenseDetergent", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softenerOrder", "version": 1 }, { "id": "samsungce.softenerState", "version": 1 }, { "id": "samsungce.washerBubbleSoak", "version": 1 }, { "id": "samsungce.washerCycle", "version": 1 }, { "id": "samsungce.washerCyclePreset", "version": 1 }, { "id": "samsungce.washerDelayEnd", "version": 1 }, { "id": "samsungce.washerFreezePrevent", "version": 1 }, { "id": "samsungce.washerLabelScanCyclePreset", "version": 1 }, { "id": "samsungce.washerOperatingState", "version": 1 }, { "id": "samsungce.washerWashingTime", "version": 1 }, { "id": "samsungce.washerWaterLevel", "version": 1 }, { "id": "samsungce.washerWaterValve", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.waterConsumptionReport", "version": 1 }, { "id": "samsungce.clothingExtraCare", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.energyPlanner", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Washer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.washerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2024-07-02T16:00:12.936Z", "profile": { "id": "94f0c5f4-9d04-39fe-a149-b3de24484ae1" }, "ocf": { "ocfDeviceType": "oic.d.washer", "name": "[washer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_TP1_21_COMMON|20348141|20010002001711024ACB020200080000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "DA_WM_TP1_21_COMMON_30240927", "vendorId": "DA-WM-WM-01011", "vendorResourceClientServerVersion": "Realtek Release 3.1.240801", "lastSignupTime": "2024-07-02T16:00:12.877393Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "indoorMap": { "coordinates": [0.0, 0.0, 0.0], "rotation": [0.0, 0.0, 0.0], "visible": false, "data": null }, "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_14.json000066400000000000000000001533601511701743400255260ustar00rootroot00000000000000{ "items": [ { "deviceId": "bc5c7ce0-b54d-2797-062b-b0da64c0ead5", "name": "[washer] Samsung", "label": "Tv\u00e4ttmaskin", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WM-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "a0d57919-07c0-4385-abbd-0c61dee01e67", "deviceTypeName": "Samsung OCF Washer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "washerOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.washerAutoDetergent", "version": 1 }, { "id": "custom.washerAutoSoftener", "version": 1 }, { "id": "custom.washerRinseCycles", "version": 1 }, { "id": "custom.washerSoilLevel", "version": 1 }, { "id": "custom.washerSpinLevel", "version": 1 }, { "id": "custom.washerWaterTemperature", "version": 1 }, { "id": "samsungce.autoDispenseDetergent", "version": 1 }, { "id": "samsungce.autoDispenseSoftener", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dongleSoftwareInstallation", "version": 1 }, { "id": "samsungce.detergentAutoReplenishment", "version": 1 }, { "id": "samsungce.softenerAutoReplenishment", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softenerOrder", "version": 1 }, { "id": "samsungce.softenerState", "version": 1 }, { "id": "samsungce.washerBubbleSoak", "version": 1 }, { "id": "samsungce.washerCycle", "version": 1 }, { "id": "samsungce.washerCyclePreset", "version": 1 }, { "id": "samsungce.washerDelayEnd", "version": 1 }, { "id": "samsungce.washerFreezePrevent", "version": 1 }, { "id": "samsungce.washerOperatingState", "version": 1 }, { "id": "samsungce.washerWashingTime", "version": 1 }, { "id": "samsungce.washerWaterLevel", "version": 1 }, { "id": "samsungce.washerWaterValve", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.waterConsumptionReport", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.energyPlanner", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Washer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.washerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2021-07-18T15:40:03.045Z", "profile": { "id": "3f221c79-d81c-315f-8e8b-b5742802a1e3" }, "ocf": { "ocfDeviceType": "oic.d.washer", "name": "[washer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_TP2_20_COMMON|20260041|20010102001411F702A3020700000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "DA_WM_TP2_20_COMMON_30230804", "vendorId": "DA-WM-WM-000001", "vendorResourceClientServerVersion": "MediaTek Release 2.211214.1", "lastSignupTime": "2021-07-18T15:39:59.543550Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "70650a5c-3e57-c66b-8c43-d48d06852948", "name": "Samsung QN95AA 75 TV", "label": "Samsung QN95AA 75 TV", "manufacturerName": "Samsung Electronics", "presentationId": "VD-STV-2021", "deviceManufacturerCode": "Samsung Electronics", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "4ee72ee8-5475-4a64-81eb-4225995aa4bc", "deviceTypeName": "Samsung OCF TV", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "samsungim.fixedFindNode", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 } ], "categories": [ { "name": "Television", "categoryType": "manufacturer" } ] } ], "createTime": "2023-11-21T19:38:25.832Z", "profile": { "id": "9ee182bd-f0a3-32c6-b0ee-661d6cab794b" }, "ocf": { "ocfDeviceType": "oic.d.tv", "name": "Samsung QN95AA 75 TV", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "QE75QN95AATXXC", "platformVersion": "6.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "T-NKM2DEUC-2220.9", "vendorId": "VD-STV-2021", "vendorResourceClientServerVersion": "4.0.26", "locale": "sv_SE", "lastSignupTime": "2023-11-21T19:38:22.417421Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "afcecd0b-a633-baf2-c6b7-da74bf675a7d", "name": "Samsung Soundbar Q950T", "label": "Samsung Soundbar Q950T", "manufacturerName": "Samsung Electronics", "presentationId": "VD-NetworkAudio-002S", "deviceManufacturerCode": "Samsung Electronics", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "4ee72ee8-5475-4a64-81eb-4225995aa4bc", "deviceTypeName": "Samsung OCF Network Audio Player", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "audioTrackData", "version": 1 }, { "id": "samsungvd.audioInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "audioNotification", "version": 1 }, { "id": "samsungvd.soundFrom", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "samsungvd.audioGroupInfo", "version": 1, "ephemeral": true } ], "categories": [ { "name": "NetworkAudio", "categoryType": "manufacturer" } ] } ], "createTime": "2021-03-16T17:03:55.650Z", "profile": { "id": "3a714028-20ea-3feb-9891-46092132c737" }, "ocf": { "ocfDeviceType": "oic.d.networkaudio", "name": "Samsung Soundbar Q950T", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "HW-Q950T", "platformVersion": "5.5", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "HW-Q950TWWB-1022.0", "vendorId": "VD-NetworkAudio-002S", "vendorResourceClientServerVersion": "1.6.36", "lastSignupTime": "2021-03-16T17:03:48.301555Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "5aeee631-b8f1-ba8d-5d11-58177181b32a", "name": "Samsung The Frame 55", "label": "Samsung The Frame 55", "manufacturerName": "Samsung Electronics", "presentationId": "VD-STV-2022", "deviceManufacturerCode": "Samsung Electronics", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "bd362890-6541-49a0-a164-455f8883a5f3", "deviceTypeName": "Samsung OCF TV", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "samsungim.fixedFindNode", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "sec.deviceConnectionState", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 } ], "categories": [ { "name": "Television", "categoryType": "manufacturer" } ] } ], "createTime": "2023-11-16T17:07:34.092Z", "profile": { "id": "aaf124c9-bde8-3d08-a869-d528d310101a" }, "ocf": { "ocfDeviceType": "oic.d.tv", "name": "Samsung The Frame 55", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "TQ55LS03BGUXXC", "platformVersion": "6.5", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "T-PTMDEUC-1651.7|ST_ENERGY", "vendorId": "VD-STV-2022", "vendorResourceClientServerVersion": "4.0.26", "locale": "en_GB", "lastSignupTime": "2024-05-07T20:33:44.141230Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "2f7f7d2b-e683-48ae-86f7-e57df6a0bce2", "name": "SmartThings v3 Hub", "label": "Hubb", "manufacturerName": "SmartThingsCommunity", "presentationId": "63f1469e-dc4a-3689-8cc5-69e293c1eb21", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "105e6d1a-52a4-4797-a235-5a48d7d433c8", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2021-07-30T12:23:02.902Z", "childDevices": [ { "deviceId": "c85fced9-c474-4a47-93c2-037cc7829536", "profile": {}, "allowed": null, "executionContext": "CLOUD" } ], "profile": { "id": "d77ba2f6-c377-36f5-bb68-15db9d1aa0e1" }, "hub": { "hubEui": "D052A8B582DD0001", "firmwareVersion": "000.055.00005", "hubDrivers": [ { "driverVersion": "2024-12-17T18:00:36.611958104", "driverId": "01976eca-e7ff-4d1b-91db-9c980ce668d7", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-11-04T22:39:21.535445007", "driverId": "46b8bada-1a55-4f84-8915-47ce2cad3621", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:35.032104982", "driverId": "4eb5b19a-7bbc-452f-859b-c6d7d857b2da", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-02-03T22:38:47.582952919", "driverId": "7beb8bc2-8dfa-45c2-8fdb-7373d4597b12", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-21T19:06:49.949052991", "driverId": "9050ac53-358c-47a1-a927-9a70f5f28cee", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-11-04T22:39:18.253781754", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:15.547412569", "driverId": "c856a3fd-69ee-4478-a224-d7279b6d978f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-01-13T18:55:57.509807915", "driverId": "cd898d81-6c27-4d27-a529-dfadc8caae5a", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-07-11T18:43:49.169154271", "driverId": "d9c3f8b8-c3c3-4b77-9ddd-01d08102c84b", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.195543653", "driverId": "dbe192cb-f6a1-4369-a843-d1c42e5c91ba", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" } ], "hubData": { "zwaveStaticDsk": "41366-53789-58881-46221-32763-54341-00742-59336", "zwaveS2": true, "hardwareType": "V3_HUB", "hardwareId": "0036", "zigbeeFirmware": "6.1.6", "zigbee3": true, "zigbeeOta": "ENABLED_WITH_LIGHTS", "otaEnable": "true", "zigbeeUnsecureRejoin": true, "zigbeeRequiresExternalHardware": false, "threadRequiresExternalHardware": false, "failoverAvailability": "Available", "primarySupportAvailability": "Available", "secondarySupportAvailability": "Available", "zigbeeAvailability": "Available", "zwaveAvailability": "Available", "threadAvailability": "Available", "lanAvailability": "Available", "matterAvailability": "Available", "localVirtualDeviceAvailability": "Available", "childDeviceAvailability": "Unsupported", "edgeDriversAvailability": "Available", "hubReplaceAvailability": "Available", "hubLocalApiAvailability": "Available", "zigbeeManualFirmwareUpdateSupported": true, "matterRendezvousHedgeSupported": true, "matterSoftwareComponentVersion": "1.3-0", "matterDeviceDiagnosticsAvailability": "Available", "zigbeeDeviceDiagnosticsAvailability": "Available", "hedgeTlsCertificate": "", "zigbeeChannel": "25", "zigbeePanId": "9114", "zigbeeEui": "286D970002073AC8", "zigbeeNodeID": "0000", "zwaveNodeID": "01", "zwaveHomeID": "E1FBE466", "zwaveSucID": "01", "zwaveVersion": "6.10", "zwaveRegion": "EU", "macAddress": "28:6D:97:CF:CE:88", "localIP": "192.168.1.120", "zigbeeRadioFunctional": true, "zwaveRadioFunctional": true, "zigbeeRadioEnabled": true, "zwaveRadioEnabled": true, "zigbeeRadioDetected": true, "zwaveRadioDetected": true } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "a106da6d-2981-4c39-84c4-5d5b75b4784c", "name": "[TV] Samsung Q70 Series (65)", "label": "Samsung Q70 Series", "manufacturerName": "Samsung Electronics", "presentationId": "VD-STV_2018_K", "deviceManufacturerCode": "Samsung Electronics", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "24c83614-3f5d-4cb2-a1d5-beaf30144ec5", "deviceTypeName": "Samsung OCF TV", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.ambient18", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 } ], "categories": [ { "name": "Television", "categoryType": "manufacturer" } ] } ], "createTime": "2020-08-28T18:07:41Z", "profile": { "id": "09d696cc-ce55-3591-8574-b5e3dec1d5a1" }, "ocf": { "ocfDeviceType": "oic.d.tv", "name": "[TV] Samsung Q70 Series (65)", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "QE65Q70RATXXC", "platformVersion": "Tizen 5.0", "platformOS": "4.1.10", "hwVersion": "0-0", "firmwareVersion": "T-MSMDEUC-1420.0", "vendorId": "VD-STV_2018_K", "locale": "sv_SE", "lastSignupTime": "2020-08-28T18:07:38.502Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "e3ffcb5a-294b-c68a-438d-9e27bb7660a0", "name": "[oven] Samsung", "label": "Ugn", "manufacturerName": "Samsung Electronics", "presentationId": "DA-KS-WALLOVEN-000003", "deviceManufacturerCode": "Samsung Electronics", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "38e04dda-c5bb-4471-9357-e003bedc0173", "deviceTypeName": "Samsung OCF Oven", "components": [ { "id": "main", "label": "Oven", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "ovenMode", "version": 1 }, { "id": "ovenOperatingState", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "ovenSetpoint", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.ovenMode", "version": 1 }, { "id": "samsungce.ovenOperatingState", "version": 1 }, { "id": "samsungce.doorState", "version": 1 }, { "id": "samsungce.meatProbe", "version": 1 }, { "id": "samsungce.lamp", "version": 1 }, { "id": "samsungce.definedRecipe", "version": 1 }, { "id": "samsungce.kitchenDeviceIdentification", "version": 1 }, { "id": "samsungce.kitchenModeSpecification", "version": 1 }, { "id": "samsungce.kitchenDeviceDefaults", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Oven", "categoryType": "manufacturer" } ] }, { "id": "cavity-01", "label": "1", "capabilities": [ { "id": "ovenMode", "version": 1 }, { "id": "ovenOperatingState", "version": 1 }, { "id": "ovenSetpoint", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "samsungce.ovenMode", "version": 1 }, { "id": "samsungce.definedRecipe", "version": 1 }, { "id": "samsungce.ovenOperatingState", "version": 1 }, { "id": "samsungce.kitchenDeviceDefaults", "version": 1 }, { "id": "custom.ovenCavityStatus", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2019-03-08T15:44:14Z", "profile": { "id": "4186cd8e-7090-3aa2-8e3c-efb48f5d79bf" }, "ocf": { "ocfDeviceType": "oic.d.oven", "name": "[oven] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "ARTIK051_GB_WO_003|40423141|50030018001211510200000000000000", "platformVersion": "0.1.0", "platformOS": "TizenRT2.0", "hwVersion": "1.0", "firmwareVersion": "ARTIK051_GB_WO_003_40200913", "vendorId": "DA-KS-WALLOVEN-000003", "lastSignupTime": "2023-05-05T15:28:35.130155Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "c85fced9-c474-4a47-93c2-037cc7829536", "name": "sonos-player", "label": "Elliots Rum", "manufacturerName": "SmartThingsCommunity", "presentationId": "ef0a871d-9ed1-377d-8746-0da1dfd50598", "deviceManufacturerCode": "Sonos", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "105e6d1a-52a4-4797-a235-5a48d7d433c8", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "mediaPlayback", "version": 1 }, { "id": "mediaGroup", "version": 1 }, { "id": "mediaPresets", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "audioNotification", "version": 1 }, { "id": "audioTrackData", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Speaker", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-02T13:18:28.570Z", "parentDeviceId": "2f7f7d2b-e683-48ae-86f7-e57df6a0bce2", "profile": { "id": "0443d359-3f76-383f-82a4-6fc4a879ef1d" }, "lan": { "networkId": "38420B9108F6", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "executingLocally": true, "hubId": "2f7f7d2b-e683-48ae-86f7-e57df6a0bce2", "provisioningState": "TYPED" }, "type": "LAN", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "aafdee8c-4ede-2ed7-9d29-d596b84d65aa", "name": "Samsung-Refrigerator", "label": "Kylsk\u00e5p", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "38e04dda-c5bb-4471-9357-e003bedc0173", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.viewInside", "version": 1 }, { "id": "samsungce.fridgeWelcomeLighting", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" } ] }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "onedoor", "label": "onedoor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-03", "label": "icemaker-03", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-10", "label": "scale-10", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "samsungce.weightMeasurementCalibration", "version": 1 }, { "id": "samsungce.connectionState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-11", "label": "scale-11", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-02", "label": "pantry-02", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-02T13:55:41.267Z", "profile": { "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_REF_21K|00175041|00040141041811304104000020010000", "platformVersion": "SYSTEM 2.0", "platformOS": "TizenRT 4.0", "hwVersion": "Realtek", "firmwareVersion": "A-RFWW-TP1-24-T4-COM_20240908", "vendorId": "DA-REF-NORMAL-01011", "vendorResourceClientServerVersion": "MediaTek Release 240908", "lastSignupTime": "2025-02-02T13:55:41.197590135Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "eb6afef1-f59a-247f-95e2-7387a58632e1", "name": "[dryer] Samsung", "label": "Torktumlare", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WD-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "eed0e167-e793-459b-80cb-a0b02e2b86c2", "ownerId": "2c69cc36-85ae-c41a-9981-a4ee96cd9137", "roomId": "a0d57919-07c0-4385-abbd-0c61dee01e67", "deviceTypeName": "Samsung OCF Dryer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "dryerOperatingState", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.dryerWrinklePrevent", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dongleSoftwareInstallation", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.dryerAutoCycleLink", "version": 1 }, { "id": "samsungce.dryerCycle", "version": 1 }, { "id": "samsungce.dryerCyclePreset", "version": 1 }, { "id": "samsungce.dryerDelayEnd", "version": 1 }, { "id": "samsungce.dryerDryingTemperature", "version": 1 }, { "id": "samsungce.dryerDryingTime", "version": 1 }, { "id": "samsungce.dryerFreezePrevent", "version": 1 }, { "id": "samsungce.dryerOperatingState", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Dryer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.dryerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2021-07-18T15:43:00.701Z", "profile": { "id": "53a1d049-eeda-396c-8324-e33438ef57be" }, "ocf": { "ocfDeviceType": "oic.d.dryer", "name": "[dryer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_TP2_20_COMMON|20262941|300101020014110002A3030700000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "DA_WM_TP2_20_COMMON_30230804", "vendorId": "DA-WM-WD-000001", "vendorResourceClientServerVersion": "MediaTek Release 2.211214.1", "lastSignupTime": "2021-07-18T15:42:54.398759Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_15.json000066400000000000000000001150221511701743400255200ustar00rootroot00000000000000{ "items": [ { "deviceId": "8d2d636b-8e36-e97b-5628-5f2fa27bc344", "name": "Samsung-Refrigerator", "label": "Refrigerator", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "df59873c-4e2c-43ba-bcd4-ade4efb0504a", "ownerId": "71254e90-c144-45b6-aabe-709f78f48376", "roomId": "ca620fa7-b615-4802-92c2-be40a5c9ddf4", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.viewInside", "version": 1 }, { "id": "samsungce.fridgeWelcomeLighting", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" } ] }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "onedoor", "label": "onedoor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-03", "label": "icemaker-03", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-10", "label": "scale-10", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "samsungce.weightMeasurementCalibration", "version": 1 }, { "id": "samsungce.connectionState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-11", "label": "scale-11", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-02", "label": "pantry-02", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2024-05-26T09:28:58.319Z", "profile": { "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_REF_21K|00156941|00050126001611304100000030010000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "A-RFWW-TP1-22-REV1_20240912", "vendorId": "DA-REF-NORMAL-01011", "vendorResourceClientServerVersion": "Realtek Release 3.1.221111", "lastSignupTime": "2024-05-26T09:28:58.205485Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "21718ac8-8a17-e7cf-2f7e-8aa439f203dd", "name": "[washer] Samsung", "label": "Washer", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WM-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "df59873c-4e2c-43ba-bcd4-ade4efb0504a", "ownerId": "71254e90-c144-45b6-aabe-709f78f48376", "roomId": "4c9052ba-4430-4cb1-a788-f1e4449c43c9", "deviceTypeName": "Samsung OCF Washer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "washerOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.washerAutoDetergent", "version": 1 }, { "id": "custom.washerAutoSoftener", "version": 1 }, { "id": "custom.washerRinseCycles", "version": 1 }, { "id": "custom.washerSoilLevel", "version": 1 }, { "id": "custom.washerSpinLevel", "version": 1 }, { "id": "custom.washerWaterTemperature", "version": 1 }, { "id": "samsungce.autoDispenseDetergent", "version": 1 }, { "id": "samsungce.autoDispenseSoftener", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dongleSoftwareInstallation", "version": 1 }, { "id": "samsungce.detergentAutoReplenishment", "version": 1 }, { "id": "samsungce.softenerAutoReplenishment", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softenerOrder", "version": 1 }, { "id": "samsungce.softenerState", "version": 1 }, { "id": "samsungce.washerBubbleSoak", "version": 1 }, { "id": "samsungce.washerCycle", "version": 1 }, { "id": "samsungce.washerCyclePreset", "version": 1 }, { "id": "samsungce.washerDelayEnd", "version": 1 }, { "id": "samsungce.washerFreezePrevent", "version": 1 }, { "id": "samsungce.washerOperatingState", "version": 1 }, { "id": "samsungce.washerWashingTime", "version": 1 }, { "id": "samsungce.washerWaterLevel", "version": 1 }, { "id": "samsungce.washerWaterValve", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.waterConsumptionReport", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.energyPlanner", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Washer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.washerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-28T11:51:25.470Z", "profile": { "id": "3f221c79-d81c-315f-8e8b-b5742802a1e3" }, "ocf": { "ocfDeviceType": "oic.d.washer", "name": "[washer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_TP2_20_COMMON|20260041|20010002011411A302A3020700000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "DA_WM_TP2_20_COMMON_30230804", "vendorId": "DA-WM-WM-000001", "vendorResourceClientServerVersion": "MediaTek Release 2.211214.1", "lastSignupTime": "2023-06-28T11:51:21.719695Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "6838e637-4abf-4df2-85ad-67af96e549fb", "name": "Sleeping State", "label": "Sleeping State", "manufacturerName": "SmartThingsCommunity", "presentationId": "74cf66e1-ae7f-3a14-a6a8-1affef9ec321", "locationId": "df59873c-4e2c-43ba-bcd4-ade4efb0504a", "ownerId": "71254e90-c144-45b6-aabe-709f78f48376", "roomId": "e1e0123f-c14b-4427-a9a9-5051f3d281b6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] } ], "createTime": "2023-08-13T02:06:59.002Z", "profile": { "id": "71ed0734-123f-330f-886c-174466bbfe76" }, "virtual": { "name": "Sleeping State", "executingLocally": false }, "type": "VIRTUAL", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "b93211bf-9d96-bd21-3b2f-964fcc87f5cc", "name": "[airdresser] Samsung", "label": "AirDresser", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-SC-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "df59873c-4e2c-43ba-bcd4-ade4efb0504a", "ownerId": "71254e90-c144-45b6-aabe-709f78f48376", "roomId": "4c9052ba-4430-4cb1-a788-f1e4449c43c9", "deviceTypeName": "Samsung OCF Steam Closet", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "dryerOperatingState", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "custom.steamClosetOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.steamClosetWrinklePrevent", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.steamClosetDelayEnd", "version": 1 }, { "id": "samsungce.steamClosetKeepFreshMode", "version": 1 }, { "id": "samsungce.steamClosetSanitizeMode", "version": 1 }, { "id": "samsungce.steamClosetAutoCycleLink", "version": 1 }, { "id": "samsungce.steamClosetCycle", "version": 1 }, { "id": "samsungce.steamClosetCyclePreset", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "ClothingCareMachine", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-23T16:00:40.545Z", "profile": { "id": "a3623498-4747-3761-bac1-ba13f437d8ea" }, "ocf": { "ocfDeviceType": "x.com.st.d.steamcloset", "name": "[airdresser] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_DF_TP2_20_COMMON|20299141|3801010200151107020100FF00000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "DA_DF_TP2_20_COMMON_30230807", "vendorId": "DA-WM-SC-000001", "vendorResourceClientServerVersion": "MediaTek Release 2.211214.1", "lastSignupTime": "2023-06-23T16:00:36.793123Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "930eced7-366d-4e6d-b2f2-e3a80f3d5a0c", "name": "VD-Sensor.Sound-2023", "label": "Sound Sensor - 55\" The Frame", "manufacturerName": "Samsung Electronics", "presentationId": "VD-Sensor.Sound-2023", "deviceManufacturerCode": "Samsung Electronics", "locationId": "df59873c-4e2c-43ba-bcd4-ade4efb0504a", "ownerId": "71254e90-c144-45b6-aabe-709f78f48376", "roomId": "8a4fac38-48d1-4a8c-922b-92620442363b", "deviceTypeName": "x.com.st.d.sensor.sound", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "soundDetection", "version": 1 }, { "id": "samsungvd.soundDetection", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 } ], "categories": [ { "name": "SoundSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2024-11-15T22:21:35.831Z", "parentDeviceId": "425ac77a-f7c9-a62d-ff12-cdad144952e3", "profile": { "id": "4f4ff262-6340-3a90-ad60-649efbebff07" }, "ocf": { "ocfDeviceType": "x.com.st.d.sensor.sound", "name": "Sound Sensor - 55 The Frame", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "QE55LS03DAUXXN", "platformVersion": "8.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "latest", "vendorId": "VD-Sensor.Sound-2023", "vendorResourceClientServerVersion": "4.0.26", "lastSignupTime": "2024-11-15T22:21:35.866223906Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "425ac77a-f7c9-a62d-ff12-cdad144952e3", "name": "55\" The Frame", "label": "55 The Frame", "manufacturerName": "Samsung Electronics", "presentationId": "VD-FRAME-2024", "deviceManufacturerCode": "Samsung Electronics", "locationId": "df59873c-4e2c-43ba-bcd4-ade4efb0504a", "ownerId": "71254e90-c144-45b6-aabe-709f78f48376", "roomId": "8a4fac38-48d1-4a8c-922b-92620442363b", "deviceTypeName": "Samsung OCF TV", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "samsungvd.pictureMode", "version": 1 }, { "id": "samsungvd.soundMode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "sec.deviceConnectionState", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "samsungim.fixedFindNode", "version": 1 }, { "id": "samsungvd.lightControl", "version": 1 } ], "categories": [ { "name": "Television", "categoryType": "manufacturer" } ] } ], "createTime": "2024-11-15T21:05:22.927Z", "childDevices": [ { "deviceId": "5cc1c096-98b9-460c-8f1c-1045509ec605", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "930eced7-366d-4e6d-b2f2-e3a80f3d5a0c", "profile": {}, "allowed": null, "executionContext": "CLOUD" } ], "profile": { "id": "cdd7d667-6ec0-3041-8062-2b5142d4cae3" }, "ocf": { "ocfDeviceType": "oic.d.tv", "name": "55 The Frame", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "QE55LS03DAUXXN", "platformVersion": "8.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "T-PTMDDEUC-1201.8|ST_ENERGY", "vendorId": "VD-FRAME-2024", "vendorResourceClientServerVersion": "4.0.26", "lastSignupTime": "2024-11-15T21:05:22.877333957Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "5cc1c096-98b9-460c-8f1c-1045509ec605", "name": "VD-Sensor.Light-2023", "label": "Light Sensor - 55\" The Frame", "manufacturerName": "Samsung Electronics", "presentationId": "VD-Sensor.Light-2023", "deviceManufacturerCode": "Samsung Electronics", "locationId": "df59873c-4e2c-43ba-bcd4-ade4efb0504a", "ownerId": "71254e90-c144-45b6-aabe-709f78f48376", "roomId": "8a4fac38-48d1-4a8c-922b-92620442363b", "deviceTypeName": "x.com.st.d.sensor.light", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "relativeBrightness", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 } ], "categories": [ { "name": "LightSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2024-11-15T22:21:27.908Z", "parentDeviceId": "425ac77a-f7c9-a62d-ff12-cdad144952e3", "profile": { "id": "5f1633fb-0c63-34d3-9d04-a314d393d225" }, "ocf": { "ocfDeviceType": "x.com.st.d.sensor.light", "name": "Light Sensor - 55 The Frame", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "QE55LS03DAUXXN", "platformVersion": "8.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "latest", "vendorId": "VD-Sensor.Light-2023", "vendorResourceClientServerVersion": "4.0.26", "lastSignupTime": "2024-11-15T22:21:27.933740026Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "9985fbfa-777a-4fae-a637-6148f41b3c63", "name": "Ultra Slim Soundbar", "label": "Ultra Slim Soundbar", "manufacturerName": "Samsung Electronics", "presentationId": "VD-NetworkAudio-003S", "deviceManufacturerCode": "Samsung Electronics", "locationId": "df59873c-4e2c-43ba-bcd4-ade4efb0504a", "ownerId": "71254e90-c144-45b6-aabe-709f78f48376", "roomId": "8a4fac38-48d1-4a8c-922b-92620442363b", "deviceTypeName": "Samsung OCF Network Audio Player", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "samsungvd.audioInputSource", "version": 1 }, { "id": "audioNotification", "version": 1 }, { "id": "samsungvd.soundFrom", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 }, { "id": "samsungvd.audioGroupInfo", "version": 1, "ephemeral": true } ], "categories": [ { "name": "NetworkAudio", "categoryType": "manufacturer" } ] } ], "createTime": "2024-11-15T23:00:01.851Z", "profile": { "id": "25504ad5-8563-3b07-8770-e52ad29a9c5a" }, "ocf": { "ocfDeviceType": "oic.d.networkaudio", "name": "Ultra Slim Soundbar", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "HW-S701D", "platformVersion": "8.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "SAT-MT8532D24WWC-1016.0", "vendorId": "VD-NetworkAudio-003S", "vendorResourceClientServerVersion": "4.0.26", "lastSignupTime": "2024-11-15T22:59:59.590782562Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_16.json000066400000000000000000000117541511701743400255300ustar00rootroot00000000000000{ "items": [ { "deviceId": "F8042E25-0E53-0000-0000-000000000000", "name": "Room A/C", "label": "Corridor A/C", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-100001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "5df0730b-38ed-43e4-b291-ec14feb3224c", "ownerId": "63b9c79b-90fe-5262-9a6a-5e24db90915e", "roomId": "547b08f3-505a-44b9-a893-773dab079f22", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.driverState", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2024-11-25T22:17:38.129Z", "profile": { "id": "9e3e03b1-7f8c-3ea2-8568-6902b79b99dd" }, "ocf": { "ocfDeviceType": "x.com.st.d.sensor.light", "manufacturerName": "Samsung Electronics", "vendorId": "VD-Sensor.Light-2023", "lastSignupTime": "2025-01-08T02:32:04.631093137Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD", "relationships": [] }, { "deviceId": "C0972777-40F4-0000-0000-000000000000", "name": "Washer", "label": "Washer", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WM-100001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "5df0730b-38ed-43e4-b291-ec14feb3224c", "ownerId": "63b9c79b-90fe-5262-9a6a-5e24db90915e", "roomId": "4fa9334c-f0e8-4e97-8c3a-16c2be572486", "deviceTypeName": "Samsung OCF Washer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "washerOperatingState", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.washerOperatingState", "version": 1 } ], "categories": [ { "name": "Washer", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-03T02:57:50.347Z", "profile": { "id": "4d7ca844-d20d-39eb-bf8f-3063d4722b07" }, "ocf": { "ocfDeviceType": "oic.d.washer", "name": "Washer", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "TP6X_WW6500|FF1BE000|", "vendorId": "DA-WM-WM-100001", "lastSignupTime": "2023-12-03T02:57:50.221205Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD", "relationships": [] } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_17.json000066400000000000000000000036031511701743400255230ustar00rootroot00000000000000{ "items": [ { "deviceId": "9d686e56-4907-4359-a131-6a3f3f51e521", "name": "SmartThings Hub", "label": "Hub - 27\" Smart Monitor M5", "manufacturerName": "SmartThingsCommunity", "presentationId": "8674970a-4b32-34fc-9787-8374d9be1556", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2024-12-04T00:20:39.227Z", "profile": { "id": "d0802f66-6562-310d-901d-8eba0cb444bf" }, "hub": { "hubEui": "virtual-8330dc84-358d-4f86-8692-5a32e14266c8", "firmwareVersion": "", "hubDrivers": [], "hubData": { "zwaveS2": false, "hardwareType": "OTHER", "zigbee3": false, "zigbeeOta": "DISABLED", "otaEnable": "false", "zigbeeUnsecureRejoin": true, "zigbeeRequiresExternalHardware": false, "threadRequiresExternalHardware": false, "zigbeeManualFirmwareUpdateSupported": false, "matterRendezvousHedgeSupported": false, "zigbeeRadioFunctional": false, "zwaveRadioFunctional": false, "zigbeeRadioEnabled": false, "zwaveRadioEnabled": false, "zigbeeRadioDetected": false, "zwaveRadioDetected": false, "enrollmentChannel": "PUBLIC" } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_18.json000066400000000000000000001354321511701743400255320ustar00rootroot00000000000000{ "items": [ { "deviceId": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", "name": "[room a/c] Samsung", "label": "Rumsluftkonditionering", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-THERAC-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.alwaysOnSensing", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 }, { "id": "samsungce.welcomeCooling", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2024-10-17T16:31:53.794Z", "profile": { "id": "81d37656-87e9-3f45-b649-5cfd382830b7" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "[room a/c] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 1.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "ARA-WW-TP2-21-OT9700_11210729", "vendorId": "DA-AC-THERAC-01011", "vendorResourceClientServerVersion": "MediaTek Release 2.210630.1", "lastSignupTime": "2024-10-17T16:31:50.161629012Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD", "relationships": [] }, { "deviceId": "a4b78a08-11e6-6d41-2abc-dcbfddcfea65", "name": "Samsung-Refrigerator", "label": "Kylsk\u00e5p", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.viewInside", "version": 1 }, { "id": "samsungce.fridgeWelcomeLighting", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" } ] }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "onedoor", "label": "onedoor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-03", "label": "icemaker-03", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-10", "label": "scale-10", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "samsungce.weightMeasurementCalibration", "version": 1 }, { "id": "samsungce.connectionState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-11", "label": "scale-11", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-02", "label": "pantry-02", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2024-12-01T06:45:53.319Z", "profile": { "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_REF_21K|00130443|00090026001610304100000021010000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", "vendorId": "DA-REF-NORMAL-01011", "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", "lastSignupTime": "2024-12-01T06:45:53.249899752Z", "transferCandidate": false, "additionalAuthCodeRequired": false, "modelCode": "NONE" }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD", "relationships": [] }, { "deviceId": "b851a083-4b2c-9e68-e344-0312024e9fa0", "name": "Samsung-Refrigerator", "label": "Freezer", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.viewInside", "version": 1 }, { "id": "samsungce.fridgeWelcomeLighting", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" } ] }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "onedoor", "label": "onedoor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-03", "label": "icemaker-03", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-10", "label": "scale-10", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "samsungce.weightMeasurementCalibration", "version": 1 }, { "id": "samsungce.connectionState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-11", "label": "scale-11", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-02", "label": "pantry-02", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2024-06-18T15:47:42.985Z", "profile": { "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_REF_21K|00127643|00080020001610304100000020010000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", "vendorId": "DA-REF-NORMAL-01011", "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", "lastSignupTime": "2024-11-27T07:08:32.745636184Z", "transferCandidate": false, "additionalAuthCodeRequired": false, "modelCode": "" }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD", "relationships": [] }, { "deviceId": "271d82e0-5b0c-e4b8-058e-cdf23a188610", "name": "Samsung-Refrigerator", "label": "Fridge", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "5274d210-9bd8-4a14-ae55-52a9ffeedfb7", "ownerId": "d40034d0-c87b-3fa6-da98-108c42c36a6b", "roomId": "b19fa610-62f8-4109-b9cc-47f85fcefd29", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.driverState", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.viewInside", "version": 1 }, { "id": "samsungce.fridgeWelcomeLighting", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.softwareVersion", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 }, { "id": "sec.smartthingsHub", "version": 1, "ephemeral": true } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" } ], "optional": false }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "onedoor", "label": "onedoor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "samsungce.fridgeIcemakerInfo", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "samsungce.fridgeIcemakerInfo", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "icemaker-03", "label": "icemaker-03", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "samsungce.fridgeIcemakerInfo", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "scale-10", "label": "scale-10", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "samsungce.weightMeasurementCalibration", "version": 1 }, { "id": "samsungce.connectionState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "scale-11", "label": "scale-11", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "custom.fridgeMode", "version": 1 }, { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "pantry-02", "label": "pantry-02", "capabilities": [ { "id": "custom.fridgeMode", "version": 1 }, { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false }, { "id": "specialzone-01", "label": "specialzone-01", "capabilities": [ { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ], "optional": false } ], "createTime": "2025-08-12T12:35:56.924Z", "profile": { "id": "840ff773-857b-324b-a54e-ba31a8155c4d" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_REF_21K|00130445|00090026001610304100000021010000", "platformVersion": "SYSTEM 2.0", "platformOS": "TizenRT 4.0", "hwVersion": "Realtek", "firmwareVersion": "A-RFWW-TP1-24-T4-COM_20250706", "vendorId": "DA-REF-NORMAL-01011", "vendorResourceClientServerVersion": "MediaTek Release 250706", "lastSignupTime": "2025-08-12T12:35:56.864318132Z", "transferCandidate": true, "additionalAuthCodeRequired": false, "modelCode": "RR39C7EC5B1/EF" }, "type": "OCF", "restrictionTier": 0, "allowed": null, "executionContext": "CLOUD", "relationships": [] }, { "deviceId": "286ba274-4093-4bcb-849c-a1a3efe7b1e5", "name": "thermostat", "label": "Radiator Thermostat II [+M] Wohnzimmer", "manufacturerName": "SmartThingsCommunity", "presentationId": "2a1c9915-f61b-3f3a-a02b-703b8cccf3d6", "deviceManufacturerCode": "BOSCH", "locationId": "0b6618a6-c3ab-4b6e-968d-59cc8c2761bc", "ownerId": "8a20b799-9d87-ecdc-39de-c93c6e4d3ea1", "roomId": "11374ab5-9b4e-416b-91d1-745bbf9b6db4", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatMode", "version": 1 }, { "id": "thermostatHeatingSetpoint", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Thermostat", "categoryType": "manufacturer" } ] } ], "createTime": "2024-11-29T19:55:00.910Z", "parentDeviceId": "61bd280e-71c4-44fb-9b6e-53fdf14718a2", "profile": { "id": "4da5d086-111e-3084-a039-616974326833" }, "matter": { "driverId": "5f3c42eb-5704-4c95-9705-c51c1a6764bf", "hubId": "61bd280e-71c4-44fb-9b6e-53fdf14718a2", "provisioningState": "PROVISIONED", "networkId": "8EF2CF7A212285B2-46C6B9F266A4521A", "executingLocally": true, "uniqueId": "8475B3FEFF6748D4", "vendorId": 4617, "productId": 12306, "serialNumber": "D44867FFFEB37584", "listeningType": "SLEEPY", "supportedNetworkInterfaces": ["THREAD"], "version": { "hardware": 18, "hardwareLabel": "1.2.0", "software": 20009, "softwareLabel": "2.00.09" }, "endpoints": [ { "endpointId": 0, "deviceTypes": [ { "deviceTypeId": 22 } ] }, { "endpointId": 1, "deviceTypes": [ { "deviceTypeId": 769 } ] } ], "syncDrivers": true }, "type": "MATTER", "restrictionTier": 0, "allowed": null, "executionContext": "LOCAL", "relationships": [] } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_2.json000066400000000000000000001111151511701743400254330ustar00rootroot00000000000000{ "items": [ { "deviceId": "440063de-a200-40b5-8a6b-f3399eaa0370", "name": "hue-color-temperature-bulb", "label": "Bathroom spot", "manufacturerName": "0A2r", "presentationId": "ST_b93bec0e-1a81-4471-83fc-4dddca504acd", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "colorTemperature", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.453Z", "profile": { "id": "a79e4507-ecaa-3c7e-b660-a3a71f30eafb" }, "viper": { "uniqueIdentifier": "ea409b82a6184ad9b49bd6318692cc1c", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue ambiance spot", "swVersion": "1.122.2", "hwVersion": "LTG002", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "cb958955-b015-498c-9e62-fc0c51abd054", "name": "hue-rgbw-color-bulb", "label": "Standing light", "manufacturerName": "0A2r", "presentationId": "ST_2733b8dc-4b0f-4593-8e49-2432202abd52", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "colorControl", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "samsungim.hueSyncMode", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.454Z", "profile": { "id": "71be1b96-c5b5-38f7-a22c-65f5392ce7ed" }, "viper": { "uniqueIdentifier": "f5f891a57b9d45408230b4228bdc2111", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue color lamp", "swVersion": "1.122.2", "hwVersion": "LCA001", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "0b2ed6c7-dc39-42fd-ab64-8f1c75c1fad0", "name": "hue-color-temperature-bulb", "label": "Hue ambiance spot 3", "manufacturerName": "0A2r", "presentationId": "ST_b93bec0e-1a81-4471-83fc-4dddca504acd", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "colorTemperature", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.456Z", "profile": { "id": "a79e4507-ecaa-3c7e-b660-a3a71f30eafb" }, "viper": { "uniqueIdentifier": "89283499df684c8f8da08cf87c8372ec", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue ambiance spot", "swVersion": "1.122.2", "hwVersion": "LTG002", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "571af102-15db-4030-b76b-245a691f74a5", "name": "c2c-shade", "label": "Curtain 1A", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-shade", "deviceManufacturerCode": "WonderLabs Company", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "windowShade", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ], "categories": [ { "name": "Blind", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-07T23:01:15.883Z", "profile": { "id": "0ceffb3e-10d3-4123-bb42-2a92c93c6e25" }, "viper": { "manufacturerName": "WonderLabs Company", "modelName": "WoCurtain3", "hwVersion": "WoCurtain3-WoCurtain3", "endpointAppId": "viper_f18eb770-077d-11ea-bb72-9922e3ed0d38" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "42efbc29-b283-4d01-a343-f0963ae7dba4", "name": "c2c-shade", "label": "Curtain 1E", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-shade", "deviceManufacturerCode": "WonderLabs Company", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "windowShade", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ], "categories": [ { "name": "Blind", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-07T23:01:15.891Z", "profile": { "id": "0ceffb3e-10d3-4123-bb42-2a92c93c6e25" }, "viper": { "manufacturerName": "WonderLabs Company", "modelName": "WoCurtain3", "hwVersion": "WoCurtain3-WoCurtain3", "endpointAppId": "viper_f18eb770-077d-11ea-bb72-9922e3ed0d38" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "a456cbd5-0503-46be-acc4-54e189dc6ff4", "name": "hue-color-temperature-bulb", "label": "Sink", "manufacturerName": "0A2r", "presentationId": "ST_b93bec0e-1a81-4471-83fc-4dddca504acd", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "colorTemperature", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.462Z", "profile": { "id": "a79e4507-ecaa-3c7e-b660-a3a71f30eafb" }, "viper": { "uniqueIdentifier": "0636e1e0990b48bb8ba04c9ee904184e", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue ambiance spot", "swVersion": "1.122.2", "hwVersion": "LTG002", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "08da6244-b3ad-4c45-b005-d8572bd9138f", "name": "c2c-motion-2", "label": "Hue motion sensor 1", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-motion-2", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "motionSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ], "categories": [ { "name": "MotionSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.453Z", "profile": { "id": "17d73e3b-fad1-4a50-974c-65fb0eaf8918" }, "viper": { "uniqueIdentifier": "1398c8080e444111963badc4f450b7b4", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue motion sensor", "swVersion": "67.115.5", "hwVersion": "SML001", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "297b909c-ca9a-4517-ba42-7412269cd00e", "name": "hue-color-temperature-bulb", "label": "Hue ambiance spot 2", "manufacturerName": "0A2r", "presentationId": "ST_b93bec0e-1a81-4471-83fc-4dddca504acd", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "colorTemperature", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.464Z", "profile": { "id": "a79e4507-ecaa-3c7e-b660-a3a71f30eafb" }, "viper": { "uniqueIdentifier": "eec668a702d7460f9626429886c1c8f0", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue ambiance spot", "swVersion": "1.122.2", "hwVersion": "LTG002", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "4d4f5261-dc3a-4e31-b8f4-15699c934f62", "name": "hue-color-temperature-bulb", "label": "Hue ambiance spot 4", "manufacturerName": "0A2r", "presentationId": "ST_b93bec0e-1a81-4471-83fc-4dddca504acd", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "colorTemperature", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.452Z", "profile": { "id": "a79e4507-ecaa-3c7e-b660-a3a71f30eafb" }, "viper": { "uniqueIdentifier": "28dea05a87b34fdea576d15373e37246", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue ambiance spot", "swVersion": "1.122.2", "hwVersion": "LTG002", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "9eaad965-638d-48c2-8aab-e97aa031226e", "name": "hue-rgbw-color-bulb", "label": "Night light", "manufacturerName": "0A2r", "presentationId": "ST_2733b8dc-4b0f-4593-8e49-2432202abd52", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "colorControl", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "samsungim.hueSyncMode", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.457Z", "profile": { "id": "71be1b96-c5b5-38f7-a22c-65f5392ce7ed" }, "viper": { "uniqueIdentifier": "4d0fa9fab55546b69f76f2ec10018d1e", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue color candle", "swVersion": "1.116.3", "hwVersion": "LCT012", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "f1e182eb-1e21-43ed-a32d-f3c2796b9865", "name": "c2c-thermostat-bridge-1", "label": "Netatmo NAPlug", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-thermostat-bridge-1", "deviceManufacturerCode": "Netatmo", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "thermostatMode", "version": 1 } ], "categories": [ { "name": "Thermostat", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-07T23:03:33.756Z", "profile": { "id": "1e9d6662-ffa9-4568-ab89-01b0f78b9b18" }, "viper": { "manufacturerName": "Netatmo", "modelName": "NAPlug", "endpointAppId": "viper_a381e1e0-677a-11e9-af1c-cfc001b5fc46" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "4f43eaf7-b3d1-4d26-be8e-807b37dfe8e0", "name": "hue-rgbw-color-bulb", "label": "Kitchen", "manufacturerName": "0A2r", "presentationId": "ST_2733b8dc-4b0f-4593-8e49-2432202abd52", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "colorControl", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "samsungim.hueSyncMode", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.457Z", "profile": { "id": "71be1b96-c5b5-38f7-a22c-65f5392ce7ed" }, "viper": { "uniqueIdentifier": "f200685c9f4a4218b2ac29c874d98028", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue Play", "swVersion": "1.122.2", "hwVersion": "440400982842", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "5ca2281d-fb11-4835-8990-0ea287556fe5", "name": "c2c-humidity", "label": "Hub 2 08", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-humidity", "deviceManufacturerCode": "WonderLabs Company", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ], "categories": [ { "name": "TempHumiditySensor", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-07T23:01:15.891Z", "profile": { "id": "06ee4e4f-945e-4486-9060-9f261bb4a0c9" }, "viper": { "manufacturerName": "WonderLabs Company", "modelName": "WoHub2", "hwVersion": "WoHub2-WoHub2", "endpointAppId": "viper_f18eb770-077d-11ea-bb72-9922e3ed0d38" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "3cd2ce09-6e19-48a9-b296-558d8cc55726", "name": "hue-rgbw-color-bulb", "label": "Tv", "manufacturerName": "0A2r", "presentationId": "ST_2733b8dc-4b0f-4593-8e49-2432202abd52", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "colorControl", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "samsungim.hueSyncMode", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.489Z", "profile": { "id": "71be1b96-c5b5-38f7-a22c-65f5392ce7ed" }, "viper": { "uniqueIdentifier": "bfe9aa875ea64296b49d82ca7a952395", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue Play", "swVersion": "1.122.2", "hwVersion": "440400982842", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "e25e6818-efab-4f45-97f8-867ab2c1c33d", "name": "c2c-switch", "label": "TV", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-switch", "deviceManufacturerCode": "WonderLabs Company", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-07T23:01:15.882Z", "profile": { "id": "7eaca7e4-dd01-4711-8e20-1a869bb44b1b" }, "viper": { "manufacturerName": "WonderLabs Company", "modelName": "remote", "hwVersion": "remote-16", "endpointAppId": "viper_f18eb770-077d-11ea-bb72-9922e3ed0d38" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "5ed8ef33-96dc-4d53-8ad1-4a15e6361c1e", "name": "hue-rgbw-color-bulb", "label": "Bureau", "manufacturerName": "0A2r", "presentationId": "ST_2733b8dc-4b0f-4593-8e49-2432202abd52", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "colorControl", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "samsungim.hueSyncMode", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.452Z", "profile": { "id": "71be1b96-c5b5-38f7-a22c-65f5392ce7ed" }, "viper": { "uniqueIdentifier": "59ac85e49ccb40079ac4883e9961141c", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue lightstrip plus", "swVersion": "1.122.2", "hwVersion": "LCL001", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "f15b3d69-7452-4b21-a27c-d3db3c84e2d4", "name": "hue-color-temperature-bulb", "label": "Hue ambiance spot 5", "manufacturerName": "0A2r", "presentationId": "ST_b93bec0e-1a81-4471-83fc-4dddca504acd", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "colorTemperature", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.456Z", "profile": { "id": "a79e4507-ecaa-3c7e-b660-a3a71f30eafb" }, "viper": { "uniqueIdentifier": "a7d9b57e9bf44cc1a5a9b12f90ede6d8", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue ambiance spot", "swVersion": "1.122.2", "hwVersion": "LTG002", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "be1152d6-cad0-4859-b4a6-5770e63dd0b5", "name": "hue-rgbw-color-bulb", "label": "Bed", "manufacturerName": "0A2r", "presentationId": "ST_2733b8dc-4b0f-4593-8e49-2432202abd52", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "colorControl", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "samsungim.hueSyncMode", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.460Z", "profile": { "id": "71be1b96-c5b5-38f7-a22c-65f5392ce7ed" }, "viper": { "uniqueIdentifier": "e2d97799b67a42a5801f5130665a8e6c", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue Play", "swVersion": "1.122.2", "hwVersion": "440400982842", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "53fa938e-7586-41ca-84e7-ccc6bcba94df", "name": "hue-color-temperature-bulb", "label": "Hue ambiance spot 1", "manufacturerName": "0A2r", "presentationId": "ST_b93bec0e-1a81-4471-83fc-4dddca504acd", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "colorTemperature", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.457Z", "profile": { "id": "a79e4507-ecaa-3c7e-b660-a3a71f30eafb" }, "viper": { "uniqueIdentifier": "cd875e9624684cc6840235b8df842077", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue ambiance spot", "swVersion": "1.122.2", "hwVersion": "LTG002", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "d472222b-0e19-4d33-8375-b2abf6c9df08", "name": "hue-rgbw-color-bulb", "label": "Bed", "manufacturerName": "0A2r", "presentationId": "ST_2733b8dc-4b0f-4593-8e49-2432202abd52", "deviceManufacturerCode": "Signify Netherlands B.V.", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "12d4af93-cb68-b108-87f5-625437d7371f", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "colorControl", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "samsungim.hueSyncMode", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2023-12-17T18:11:41.466Z", "profile": { "id": "71be1b96-c5b5-38f7-a22c-65f5392ce7ed" }, "viper": { "uniqueIdentifier": "14c04c27e1f64eb9b23e0301c2d3d255", "manufacturerName": "Signify Netherlands B.V.", "modelName": "Hue Play", "swVersion": "1.122.2", "hwVersion": "440400982842", "endpointAppId": "viper_71ee45b0-a794-11e9-86b2-fdd6b9f75ce6" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_3.json000066400000000000000000000122311511701743400254330ustar00rootroot00000000000000{ "items": [ { "deviceId": "2c3cbaa0-1899-5ddc-7b58-9d657bd53d18", "name": "Samsung Range", "label": "Vulcan", "manufacturerName": "Samsung Electronics", "presentationId": "DA-KS-RANGE-0101X", "deviceManufacturerCode": "Samsung Electronics", "locationId": "597a4912-13c9-47ab-5916-3cbe28b61abd", "ownerId": "c4478c70-9714-d5c9-993c-f62807fa1e67", "roomId": "fc307cd9-3b32-4fc0-bf23-e0d3985101b9", "deviceTypeName": "Samsung OCF Range", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "ovenSetpoint", "version": 1 }, { "id": "ovenMode", "version": 1 }, { "id": "ovenOperatingState", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.kitchenDeviceIdentification", "version": 1 }, { "id": "samsungce.kitchenDeviceDefaults", "version": 1 }, { "id": "samsungce.doorState", "version": 1 }, { "id": "samsungce.customRecipe", "version": 1 }, { "id": "samsungce.ovenMode", "version": 1 }, { "id": "samsungce.ovenOperatingState", "version": 1 }, { "id": "samsungce.meatProbe", "version": 1 }, { "id": "samsungce.lamp", "version": 1 }, { "id": "samsungce.kitchenModeSpecification", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "custom.cooktopOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Range", "categoryType": "manufacturer" } ] }, { "id": "cavity-01", "label": "cavity-01", "capabilities": [ { "id": "ovenSetpoint", "version": 1 }, { "id": "ovenMode", "version": 1 }, { "id": "ovenOperatingState", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "samsungce.ovenMode", "version": 1 }, { "id": "samsungce.ovenOperatingState", "version": 1 }, { "id": "samsungce.kitchenDeviceDefaults", "version": 1 }, { "id": "custom.ovenCavityStatus", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2022-02-21T22:37:01.648Z", "profile": { "id": "8e478dd0-9419-337a-9fcb-2c4573f95c71" }, "ocf": { "ocfDeviceType": "oic.d.range", "name": "Samsung Range", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_DA-KS-RANGE-0101X|40445041|5001011E031511010200000000000000", "platformVersion": "DAWIT 3.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "AKS-WW-TP1-20-OVEN-3-CR_40240205", "vendorId": "DA-KS-RANGE-0101X", "vendorResourceClientServerVersion": "Realtek Release 3.1.220727", "lastSignupTime": "2023-11-28T22:49:01.876575Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_4.json000066400000000000000000001253121511701743400254410ustar00rootroot00000000000000{ "items": [ { "deviceId": "02f7256e-8353-5bdd-547f-bd5b1647e01b", "name": "[dryer] Samsung", "label": "Dryer", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WD-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "781d5f1e-c87e-455e-87f7-8e954879e91d", "ownerId": "b603d7e8-6066-4e10-8102-afa752a63816", "roomId": "2a8637b2-77ad-475e-b537-7b6f7f97fff6", "deviceTypeName": "Samsung OCF Dryer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "dryerOperatingState", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.dryerWrinklePrevent", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dongleSoftwareInstallation", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.dryerAutoCycleLink", "version": 1 }, { "id": "samsungce.dryerCycle", "version": 1 }, { "id": "samsungce.dryerCyclePreset", "version": 1 }, { "id": "samsungce.dryerDelayEnd", "version": 1 }, { "id": "samsungce.dryerDryingTemperature", "version": 1 }, { "id": "samsungce.dryerDryingTime", "version": 1 }, { "id": "samsungce.dryerFreezePrevent", "version": 1 }, { "id": "samsungce.dryerOperatingState", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Dryer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.dryerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2021-06-01T22:54:25.907Z", "profile": { "id": "53a1d049-eeda-396c-8324-e33438ef57be" }, "ocf": { "ocfDeviceType": "oic.d.dryer", "name": "[dryer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_A51_20_COMMON|20233741|3000000100111100020B000000000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 1.0 + IPv6", "hwVersion": "ARTIK051", "firmwareVersion": "DA_WM_A51_20_COMMON_30230708", "vendorId": "DA-WM-WD-000001", "vendorResourceClientServerVersion": "ARTIK051 Release 2.210224.1", "lastSignupTime": "2021-06-01T22:54:22.826697Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "f36dc7ce-cac0-0667-dc14-a3704eb5e676", "name": "[dishwasher] Samsung", "label": "Dishwasher", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-DW-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "586e4602-34ab-4a22-993e-5f616b04604f", "ownerId": "b603d7e8-6066-4e10-8102-afa752a63816", "roomId": "f4d03391-ab13-4c1d-b4dc-d6ddf86014a2", "deviceTypeName": "Samsung OCF Dishwasher", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "dishwasherOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dishwasherOperatingProgress", "version": 1 }, { "id": "custom.dishwasherOperatingPercentage", "version": 1 }, { "id": "custom.dishwasherDelayStartTime", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dishwasherJobState", "version": 1 }, { "id": "samsungce.dishwasherWashingCourse", "version": 1 }, { "id": "samsungce.dishwasherWashingCourseDetails", "version": 1 }, { "id": "samsungce.dishwasherOperation", "version": 1 }, { "id": "samsungce.dishwasherWashingOptions", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.waterConsumptionReport", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Dishwasher", "categoryType": "manufacturer" } ] } ], "createTime": "2021-06-27T01:19:35.408Z", "profile": { "id": "0cba797c-40ee-3473-aa01-4ee5b6cb8c67" }, "ocf": { "ocfDeviceType": "oic.d.dishwasher", "name": "[dishwasher] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_DW_A51_20_COMMON|30007242|40010201001311000101000000000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 1.0 + IPv6", "hwVersion": "ARTIK051", "firmwareVersion": "DA_DW_A51_20_COMMON_30230714", "vendorId": "DA-WM-DW-000001", "vendorResourceClientServerVersion": "ARTIK051 Release 2.210224.1", "lastSignupTime": "2021-10-16T17:28:59.984202Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "2bad3237-4886-e699-1b90-4a51a3d55c8a", "name": "Samsung Microwave", "label": "Microwave", "manufacturerName": "Samsung Electronics", "presentationId": "DA-KS-MICROWAVE-0101X", "deviceManufacturerCode": "Samsung Electronics", "locationId": "586e4602-34ab-4a22-993e-5f616b04604f", "ownerId": "b603d7e8-6066-4e10-8102-afa752a63816", "roomId": "f4d03391-ab13-4c1d-b4dc-d6ddf86014a2", "deviceTypeName": "oic.d.microwave", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "ovenSetpoint", "version": 1 }, { "id": "ovenMode", "version": 1 }, { "id": "ovenOperatingState", "version": 1 }, { "id": "doorControl", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.hoodFanSpeed", "version": 1 }, { "id": "samsungce.definedRecipe", "version": 1 }, { "id": "samsungce.doorState", "version": 1 }, { "id": "samsungce.kitchenDeviceIdentification", "version": 1 }, { "id": "samsungce.kitchenDeviceDefaults", "version": 1 }, { "id": "samsungce.ovenMode", "version": 1 }, { "id": "samsungce.ovenOperatingState", "version": 1 }, { "id": "samsungce.microwavePower", "version": 1 }, { "id": "samsungce.kitchenModeSpecification", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 } ], "categories": [ { "name": "Microwave", "categoryType": "manufacturer" } ] }, { "id": "hood", "label": "hood", "capabilities": [ { "id": "samsungce.lamp", "version": 1 }, { "id": "samsungce.hoodFanSpeed", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2022-03-23T15:59:10.704Z", "profile": { "id": "e5db3b6f-cad6-3caa-9775-9c9cae20f4a4" }, "ocf": { "ocfDeviceType": "oic.d.microwave", "name": "Samsung Microwave", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "TP2X_DA-KS-MICROWAVE-0101X|40436241|50040100011411000200000000000000", "platformVersion": "DAWIT 3.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "AKS-WW-TP2-20-MICROWAVE-OTR_40230125", "vendorId": "DA-KS-MICROWAVE-0101X", "vendorResourceClientServerVersion": "MediaTek Release 2.220916.2", "lastSignupTime": "2022-04-17T15:33:11.063457Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "7d3feb98-8a36-4351-c362-5e21ad3a78dd", "name": "Family Hub", "label": "Refrigerator", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "2487472a-06c4-4bce-8f4c-700c5f8644f8", "ownerId": "b603d7e8-6066-4e10-8102-afa752a63816", "roomId": "acaa060a-7c19-4579-8a4a-5ad891a2f0c1", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.fridgeFoodList", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.viewInside", "version": 1 }, { "id": "samsungce.runestoneHomeContext", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" } ] }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-03", "label": "icemaker-03", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-10", "label": "scale-10", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "samsungce.weightMeasurementCalibration", "version": 1 }, { "id": "samsungce.connectionState", "version": 1 }, { "id": "samsungce.scaleSettings", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-11", "label": "scale-11", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "camera-01", "label": "camera-01", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2021-07-27T01:19:42.051Z", "profile": { "id": "4c654f1b-8ef4-35b0-920e-c12568554213" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Family Hub", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "24K_REF_LCD_FHUB9.0|00113141|0002034e051324200103000000000000", "platformVersion": "7.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "20240616.213423", "vendorId": "DA-REF-NORMAL-01001", "vendorResourceClientServerVersion": "4.0.22", "locale": "", "lastSignupTime": "2021-07-27T01:19:40.244392Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "d1bd03c4-61ea-4e3d-9c7e-c2126c9579a2", "name": "SmartThings Hub", "label": "SmartThings Hub - FamilyHub", "manufacturerName": "SmartThingsCommunity", "presentationId": "45d38ea0-0138-3db6-a152-e7fc47cfb827", "locationId": "2487472a-06c4-4bce-8f4c-700c5f8644f8", "ownerId": "b603d7e8-6066-4e10-8102-afa752a63816", "roomId": "acaa060a-7c19-4579-8a4a-5ad891a2f0c1", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2023-07-31T17:20:26.893Z", "profile": { "id": "9b5fa44b-9982-3020-a4ea-4c78bbde651b" }, "hub": { "hubEui": "D052A8C6B0F50001", "firmwareVersion": "000.054.00013", "hubDrivers": [ { "driverVersion": "2024-12-17T18:00:36.611958104", "driverId": "01976eca-e7ff-4d1b-91db-9c980ce668d7", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:35.032104982", "driverId": "4eb5b19a-7bbc-452f-859b-c6d7d857b2da", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-02-03T22:38:47.582952919", "driverId": "7beb8bc2-8dfa-45c2-8fdb-7373d4597b12", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-21T19:06:49.949052991", "driverId": "9050ac53-358c-47a1-a927-9a70f5f28cee", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-11-04T22:39:18.253781754", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:15.547412569", "driverId": "c856a3fd-69ee-4478-a224-d7279b6d978f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-01-13T18:55:57.509807915", "driverId": "cd898d81-6c27-4d27-a529-dfadc8caae5a", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-07-11T18:43:49.169154271", "driverId": "d9c3f8b8-c3c3-4b77-9ddd-01d08102c84b", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.195543653", "driverId": "dbe192cb-f6a1-4369-a843-d1c42e5c91ba", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" } ], "hubData": { "zwaveStaticDsk": "00000-00000-00000-00000-00000-00000-00000-00000", "zwaveS2": false, "hardwareType": "SAMSUNG_DA_REFRIGERATOR_HUB", "hardwareId": "0045", "zigbeeFirmware": "0.0.0", "zigbee3": false, "zigbeeOta": "DISABLED", "otaEnable": "false", "zigbeeUnsecureRejoin": false, "zigbeeRequiresExternalHardware": true, "threadRequiresExternalHardware": true, "failoverAvailability": "Unsupported", "primarySupportAvailability": "Unsupported", "secondarySupportAvailability": "Unsupported", "zigbeeAvailability": "Unavailable", "zwaveAvailability": "Unsupported", "threadAvailability": "Unavailable", "lanAvailability": "Available", "matterAvailability": "Available", "localVirtualDeviceAvailability": "Available", "childDeviceAvailability": "Unsupported", "edgeDriversAvailability": "Available", "hubReplaceAvailability": "Unsupported", "hubLocalApiAvailability": "Available", "zigbeeManualFirmwareUpdateSupported": true, "matterRendezvousHedgeSupported": true, "matterSoftwareComponentVersion": "1.3-0", "matterDeviceDiagnosticsAvailability": "Available", "zigbeeDeviceDiagnosticsAvailability": "Available", "hedgeTlsCertificate": "-----BEGIN CERTIFICATE-----\nMAIGWTCCBEGgAwIBAgIBADANBgkqhkiG9w0BAQsFADCBqTELMAkGA1UEBhMCVVMx\nCzAJBgNVBAgMAk1OMRQwEgYDVQQHDAtNaW5uZWFwb2xpczEUMBIGA1UECgwLU21h\ncnRUaGluZ3MxODA2BgNVBAMML2hsYS10Y3AuZDFiZDAzYzQtNjFlYS00ZTNkLTlj\nN2UtYzIxMjZjOTU3OWEyLnN0MScwJQYJKoZIhvcNAQkBFhhzZWN1cml0eUBzbWFy\ndHRoaW5ncy5jb20wIBcNMjUwMjA2MDUwMTIwWhgPMjA1MjA2MjQwNTAxMjBaMIGp\nMQswCQYDVQQGEwJVUzELMAkGA1UECAwCTU4xFDASBgNVBAcMC01pbm5lYXBvbGlz\nMRQwEgYDVQQKDAtTbWFydFRoaW5nczE4MDYGA1UEAwwvaGxhLXRjcC5kMWJkMDNj\nNC02MWVhLTRlM2QtOWM3ZS1jMjEyNmM5NTc5YTIuc3QxJzAlBgkqhkiG9w0BCQEW\nGHNlY3VyaXR5QHNtYXJ0dGhpbmdzLmNvbTCCAiIwDQYJKoZIhvcNAQEBBQADggIP\nADCCAgoCggIBAN5gFos1iRczzB2OkMpfBW5Vcbg8Sg/10HE/vzrm2FrX5B0wLmyF\nNPHZgUkDci/iRqj2Fqd1qL3ed2xd9ROOGdLbKqMI55kqacHp9gA44yjf5UwHWNG3\n2UADwA+aF9+NC9tmta9DXCzRDhhoez3OZRWm+YNOEnXfKJsxKB4vYXa19jeI24xY\nVc0qd5eIQKzyqsUum0HxRyU4iqUwNgP5Y8ehbE8Q01sJU+A2Fcgz55Q0YHvIl5wY\n62EeOI3gzV9gQD8IPOg330Nw83OLnl77flfRolsFBbrUnhsomhtZmfqMCjEjwG4Q\nUP52Y0tyEl3B/FUsPFjkV9fpX1Ys5o1z+7YIyIACO34cvizTkMrwech+dqHfS9vM\n7gI5/VpkQ1g4cyWqhteToZzdTg+QPfb/9s0jaEUsGiHdLmzQUi4jGXmctmhSEekn\nsN3fiMEAzO7qX0jZ8H624YSOFMOFhMbq2rLPtlgjRJccHVxjWcKX1N9HzDnO8Xzc\n/0l9erDNMk26aMB6J1AoB2nUg4GkOMlZMnOgU4/mwG3LeSA114zCBd7m+6w5xNbi\nUG5Sh24+Vc72hO+3O1tWiFXXDrmKGu6t+Mh55uH8qSXA3OgCHiCl2+P9D5BMI1n8\nc4DwLr56DQBW8/cn/PBe5eTbStMLQB/mD8jgF73Zo8xGK9to2Uf3A//hAgMBAAGj\ngYcwgYQwHQYDVR0OBBYEFKRr29gDwONiiqiicpFl+NrKZ778MAkGA1UdEwQCMAAw\nCwYDVR0PBAQDAgWgMEsGA1UdEQREMEKCQHN2Yy1obGEtdGNwLmh1Yi1kMWJkMDNj\nNC02MWVhLTRlM2QtOWM3ZS1jMjEyNmM5NTc5YTIuc21hcnR0aGluZ3MwDQYJKoZI\nhvcNAQELBQADggIBAJnHhZhLmZciczinSpZNcb1cF/TRrVjCW8AcK+MI42RJerB2\nes5uVWXbTrqgHG7QXT60Sp2QQ02182zORZxqvqJ4/N2f1Z2IG24mqLE/70Xxi50y\nc+Q/W+CTftK9Cim8QUH8A3BYz7wy8lcvppastY8VGi1sgyYK2gO1VO/tNQ4y0OjA\ngv/w9MzGTlXBXABQTU3qG1+5HkijeIqCCDIDUcJgdlre8xFvPtoUa4NKkJ9zcySe\nAoDZK/UnX+BgXiftEcaCLVqu0lXnMvZkVqbBDCzPyhWd6nKyBVXfm/7B6UTqCv2m\nsO07mDoZxjoXV8mLnTYSUpyimrYX2iPN46rNubBD9xjik/3wFHM5ScRQr5Twcxq2\n3tB0zUOgXMYXGqTtrtJ2JR8msYfoBdUgVqT5V/5e1iIWHKVWetHsfK8oLE+D3wGM\nCd8IQeEim0BxyDOXCWpJfu2AVMPJ3zAW7jx4v19juiTCgPkxl5SLPm+LsTMOgfft\nrBFdd3m6dl4jEoEwYq/xI14etT6dkGu2ycJH0b1mhLxXHg7KDbwiGlemk5lqw6UW\n8RszVVJJ5CAaQexkObZvnJQs9y1HoPcY6NNvjxuleS4pfgKbWkbx0rsc/9e8r1NB\nmMMvsRRNpNmP4VOxYsNBnrdGl6KARQU8V4sXlMKZrYtV0Arnw56ujy6GuYrj\n-----END CERTIFICATE-----\n", "zigbeeChannel": "0", "zigbeePanId": "0000", "zigbeeEui": "0000000000000000", "zigbeeNodeID": "0000", "zwaveNodeID": "00", "zwaveHomeID": "00000000", "zwaveSucID": "00", "zwaveVersion": "0000", "zwaveRegion": "0", "macAddress": "70:2C:1F:8D:D9:64", "localIP": "192.168.20.13", "zigbeeRadioFunctional": false, "zwaveRadioFunctional": false, "zigbeeRadioEnabled": false, "zwaveRadioEnabled": false, "zigbeeRadioDetected": false, "zwaveRadioDetected": false } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "3442dfc6-17c0-a65f-dae0-4c6e01786f44", "name": "[robot vacuum] Samsung", "label": "Robot vacuum", "manufacturerName": "Samsung Electronics", "presentationId": "DA-RVC-NORMAL-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "586e4602-34ab-4a22-993e-5f616b04604f", "ownerId": "b603d7e8-6066-4e10-8102-afa752a63816", "roomId": "5d425f41-042a-4d9a-92c4-e43150a61bae", "deviceTypeName": "Samsung OCF Robot Vacuum", "components": [ { "id": "main", "label": "Robot vacuum", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "robotCleanerTurboMode", "version": 1 }, { "id": "robotCleanerMovement", "version": 1 }, { "id": "robotCleanerCleaningMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.robotCleanerCleaningMode", "version": 1 }, { "id": "samsungce.robotCleanerOperatingState", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 } ], "categories": [ { "name": "RobotCleaner", "categoryType": "manufacturer" } ] } ], "createTime": "2018-06-06T23:04:25Z", "profile": { "id": "61b1c3cd-61cc-3dde-a4ba-9477d5e559cb" }, "ocf": { "ocfDeviceType": "oic.d.robotcleaner", "name": "[robot vacuum] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "powerbot_7000_17M|50016055|80010404011141000100000000000000", "platformVersion": "00", "platformOS": "Tizen(3/0)", "hwVersion": "1.0", "firmwareVersion": "1.0", "vendorId": "DA-RVC-NORMAL-000001", "lastSignupTime": "2020-11-03T04:43:02.729Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "f984b91d-f250-9d42-3436-33f09a422a47", "name": "[washer] Samsung", "label": "Washer", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WM-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "781d5f1e-c87e-455e-87f7-8e954879e91d", "ownerId": "b603d7e8-6066-4e10-8102-afa752a63816", "roomId": "2a8637b2-77ad-475e-b537-7b6f7f97fff6", "deviceTypeName": "Samsung OCF Washer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "washerOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.washerAutoDetergent", "version": 1 }, { "id": "custom.washerAutoSoftener", "version": 1 }, { "id": "custom.washerRinseCycles", "version": 1 }, { "id": "custom.washerSoilLevel", "version": 1 }, { "id": "custom.washerSpinLevel", "version": 1 }, { "id": "custom.washerWaterTemperature", "version": 1 }, { "id": "samsungce.autoDispenseDetergent", "version": 1 }, { "id": "samsungce.autoDispenseSoftener", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dongleSoftwareInstallation", "version": 1 }, { "id": "samsungce.detergentAutoReplenishment", "version": 1 }, { "id": "samsungce.softenerAutoReplenishment", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softenerOrder", "version": 1 }, { "id": "samsungce.softenerState", "version": 1 }, { "id": "samsungce.washerBubbleSoak", "version": 1 }, { "id": "samsungce.washerCycle", "version": 1 }, { "id": "samsungce.washerCyclePreset", "version": 1 }, { "id": "samsungce.washerDelayEnd", "version": 1 }, { "id": "samsungce.washerFreezePrevent", "version": 1 }, { "id": "samsungce.washerOperatingState", "version": 1 }, { "id": "samsungce.washerWashingTime", "version": 1 }, { "id": "samsungce.washerWaterLevel", "version": 1 }, { "id": "samsungce.washerWaterValve", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.waterConsumptionReport", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.energyPlanner", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Washer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.washerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2021-06-01T22:52:18.023Z", "profile": { "id": "3f221c79-d81c-315f-8e8b-b5742802a1e3" }, "ocf": { "ocfDeviceType": "oic.d.washer", "name": "[washer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_TP2_20_COMMON|20233741|2001000100131100022B010000000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "DA_WM_TP2_20_COMMON_30230804", "vendorId": "DA-WM-WM-000001", "vendorResourceClientServerVersion": "MediaTek Release 2.211214.1", "lastSignupTime": "2021-06-01T22:52:13.923649Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_5.json000066400000000000000000001072271511701743400254470ustar00rootroot00000000000000{ "items": [ { "deviceId": "83d660e4-b0c8-4881-a674-d9f1730366c1", "name": "Tag(UWB)", "label": "SmartTag+ black", "manufacturerName": "Samsung Electronics", "presentationId": "IM-SmartTag-BLE-UWB", "deviceManufacturerCode": "Samsung Electronics", "locationId": "redacted_locid", "ownerId": "redacted", "roomId": "redacted_roomid", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "alarm", "version": 1 }, { "id": "tag.tagButton", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "tag.factoryReset", "version": 1 }, { "id": "tag.e2eEncryption", "version": 1 }, { "id": "tag.tagStatus", "version": 1 }, { "id": "geolocation", "version": 1 }, { "id": "geofence", "version": 1 }, { "id": "tag.uwbActivation", "version": 1 }, { "id": "tag.updatedInfo", "version": 1 }, { "id": "tag.searchingStatus", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "BluetoothTracker", "categoryType": "manufacturer" } ] } ], "createTime": "2023-05-25T09:42:59.720Z", "profile": { "id": "e443f3e8-a926-3deb-917c-e5c6de3af70f" }, "bleD2D": { "encryptionKey": "ZTbd_04NISrhQODE7_i8JdcG2ZWwqmUfY60taptK7J0=", "cipher": "AES_128-CBC-PKCS7Padding", "identifier": "415D4Y16F97F", "configurationVersion": "2.0", "configurationUrl": "https://apis.samsungiotcloud.com/v1/miniature/profile/b8e65e7e-6152-4704-b9f5-f16352034237", "bleDeviceType": "BLE", "metadata": { "regionCode": 11, "privacyIdPoolSize": 2000, "privacyIdSeed": "AAAAAAAX8IQ=", "privacyIdInitialVector": "ZfqZKLRGSeCwgNhdqHFRpw==", "numAllowableConnections": 2, "firmware": { "version": "1.03.07", "specVersion": "0.5.6", "updateTime": 1685007914000, "latestFirmware": { "id": 581, "version": "1.03.07", "data": { "checksum": "50E7", "size": "586004", "supportedVersion": "0.5.6" } } }, "currentServerTime": 1739095473, "searchingStatus": "stop", "lastKnownConnection": { "updated": 1713422813, "connectedUser": { "id": "sk3oyvsbkm", "name": "" }, "connectedDevice": { "id": "4f3faa4c-976c-3bd8-b209-607f3a5a9814", "name": "" }, "d2dStatus": "bleScanned", "nearby": true, "onDemand": false }, "e2eEncryption": { "enabled": false }, "timer": 1713422675, "category": { "id": 0 }, "remoteRing": { "enabled": false }, "petWalking": { "enabled": false }, "onboardedBy": { "saGuid": "sk3oyvsbkm" }, "shareable": { "enabled": false }, "agingCounter": { "status": "VALID", "updated": 1713422675 }, "vendor": { "mnId": "0AFD", "setupId": "432", "modelName": "EI-T7300" }, "priorityConnection": { "lba": false, "cameraShutter": false }, "createTime": 1685007780, "updateTime": 1713422675, "fmmSearch": false, "ooTime": { "currentOoTime": 8, "defaultOoTime": 8 }, "pidPoolSize": { "desiredPidPoolSize": 2000, "currentPidPoolSize": 2000 }, "activeMode": { "mode": 0 }, "itemConfig": { "searchingStatus": "stop" } } }, "type": "BLE_D2D", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "c34897ca-c077-e3b9-adba-d52a96e47343", "name": "[washer] Samsung", "label": "Wasmachine", "manufacturerName": "Samsung Electronics", "presentationId": "DA-WM-WM-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "redacted_locid", "ownerId": "redacted", "roomId": "1b0c6ae7-e93d-4e3b-b31c-d22f2f420baa", "deviceTypeName": "Samsung OCF Washer", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "washerOperatingState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.dryerDryLevel", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.jobBeginningStatus", "version": 1 }, { "id": "custom.supportedOptions", "version": 1 }, { "id": "custom.washerAutoDetergent", "version": 1 }, { "id": "custom.washerAutoSoftener", "version": 1 }, { "id": "custom.washerRinseCycles", "version": 1 }, { "id": "custom.washerSoilLevel", "version": 1 }, { "id": "custom.washerSpinLevel", "version": 1 }, { "id": "custom.washerWaterTemperature", "version": 1 }, { "id": "samsungce.autoDispenseDetergent", "version": 1 }, { "id": "samsungce.autoDispenseSoftener", "version": 1 }, { "id": "samsungce.detergentOrder", "version": 1 }, { "id": "samsungce.detergentState", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dongleSoftwareInstallation", "version": 1 }, { "id": "samsungce.detergentAutoReplenishment", "version": 1 }, { "id": "samsungce.softenerAutoReplenishment", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.kidsLock", "version": 1 }, { "id": "samsungce.softenerOrder", "version": 1 }, { "id": "samsungce.softenerState", "version": 1 }, { "id": "samsungce.washerBubbleSoak", "version": 1 }, { "id": "samsungce.washerCycle", "version": 1 }, { "id": "samsungce.washerCyclePreset", "version": 1 }, { "id": "samsungce.washerDelayEnd", "version": 1 }, { "id": "samsungce.washerFreezePrevent", "version": 1 }, { "id": "samsungce.washerOperatingState", "version": 1 }, { "id": "samsungce.washerWashingTime", "version": 1 }, { "id": "samsungce.washerWaterLevel", "version": 1 }, { "id": "samsungce.washerWaterValve", "version": 1 }, { "id": "samsungce.welcomeMessage", "version": 1 }, { "id": "samsungce.waterConsumptionReport", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.energyPlanner", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Washer", "categoryType": "manufacturer" } ] }, { "id": "hca.main", "label": "hca.main", "capabilities": [ { "id": "hca.washerMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2021-11-22T16:51:05.054Z", "profile": { "id": "3f221c79-d81c-315f-8e8b-b5742802a1e3" }, "ocf": { "ocfDeviceType": "oic.d.washer", "name": "[washer] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "DA_WM_TP2_20_COMMON|20260041|200100020014112302A3020700000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "DA_WM_TP2_20_COMMON_30230804", "vendorId": "DA-WM-WM-000001", "vendorResourceClientServerVersion": "MediaTek Release 2.211214.1", "lastSignupTime": "2021-11-22T16:51:01.344572Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "709343ae-2262-45bf-8852-5263e34fd1f2", "name": "Tag2(UWB)", "label": "tas", "manufacturerName": "Samsung Electronics", "presentationId": "IM-SmartTag2-BLE-UWB", "deviceManufacturerCode": "Samsung Electronics", "locationId": "redacted_locid", "ownerId": "redacted", "roomId": "redacted_roomid", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "alarm", "version": 1 }, { "id": "tag.tagButton", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "tag.factoryReset", "version": 1 }, { "id": "tag.e2eEncryption", "version": 1 }, { "id": "tag.tagStatus", "version": 1 }, { "id": "geolocation", "version": 1 }, { "id": "geofence", "version": 1 }, { "id": "tag.uwbActivation", "version": 1 }, { "id": "tag.updatedInfo", "version": 1 }, { "id": "tag.searchingStatus", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "BluetoothTracker", "categoryType": "manufacturer" } ] } ], "createTime": "2024-02-27T10:47:26.597Z", "profile": { "id": "a225cc89-8fe1-3b1e-b38a-5c673b7e4880" }, "bleD2D": { "encryptionKey": "qKCTvPtVvf8HfbqSREmYgSvuW7nHTwFeBx-f5orU3Ks=", "cipher": "AES_128-CBC-PKCS7Padding", "identifier": "Y3C196113411", "configurationVersion": "2.0", "configurationUrl": "https://apis.samsungiotcloud.com/v1/miniature/profile/9ae78d09-b3e5-48a0-924c-a6b5378276a9", "bleDeviceType": "BLE", "metadata": { "regionCode": 11, "privacyIdPoolSize": 2000, "privacyIdSeed": "AAAAAAAh2Qw=", "privacyIdInitialVector": "NIlMUEsdQLGPY0JppEPf3g==", "numAllowableConnections": 2, "firmware": { "version": "0.20.04", "specVersion": "1.0.0", "updateTime": 1719294982000, "latestFirmware": { "id": 4002, "version": "0.20.04", "data": { "checksum": "A94C", "size": "609820", "supportedVersion": "1.0.0" } } }, "currentServerTime": 1739095473, "searchingStatus": "stop", "lastKnownConnection": { "updated": 1739093146, "connectedUser": { "id": "sk3oyvsbkm", "name": "" }, "connectedDevice": { "id": "1c79f0bb-7aa6-346d-a63d-f0dd6fe4b1bd", "name": "" }, "d2dStatus": "gattConnected", "nearby": true, "onDemand": false }, "e2eEncryption": { "enabled": false }, "timer": 1737477436, "category": { "id": 0 }, "remoteRing": { "enabled": false }, "petWalking": { "enabled": false }, "onboardedBy": { "saGuid": "sk3oyvsbkm" }, "shareable": { "enabled": false }, "battery": { "level": "FULL", "updated": 1739093146 }, "agingCounter": { "status": "VALID", "updated": 1737477441 }, "vendor": { "mnId": "0AFD", "setupId": "452", "modelName": "EI-T5600" }, "priorityConnection": { "lba": false, "cameraShutter": false }, "createTime": 1709030846, "updateTime": 1737477441, "fmmSearch": false, "ooTime": { "currentOoTime": 8, "defaultOoTime": 8 }, "pidPoolSize": { "desiredPidPoolSize": 2000, "currentPidPoolSize": 2000 }, "activeMode": { "mode": 0 }, "itemConfig": { "searchingStatus": "stop" } } }, "type": "BLE_D2D", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "0d3a49e8-6d4b-4870-b1ec-538d1c36f047", "name": "Tag2(UWB)", "label": "koffer", "manufacturerName": "Samsung Electronics", "presentationId": "IM-SmartTag2-BLE-UWB", "deviceManufacturerCode": "Samsung Electronics", "locationId": "redacted_locid", "ownerId": "redacted", "roomId": "redacted_roomid", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "alarm", "version": 1 }, { "id": "tag.tagButton", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "tag.factoryReset", "version": 1 }, { "id": "tag.e2eEncryption", "version": 1 }, { "id": "tag.tagStatus", "version": 1 }, { "id": "geolocation", "version": 1 }, { "id": "geofence", "version": 1 }, { "id": "tag.uwbActivation", "version": 1 }, { "id": "tag.updatedInfo", "version": 1 }, { "id": "tag.searchingStatus", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "BluetoothTracker", "categoryType": "manufacturer" } ] } ], "createTime": "2024-03-08T09:05:29.105Z", "profile": { "id": "a225cc89-8fe1-3b1e-b38a-5c673b7e4880" }, "bleD2D": { "encryptionKey": "sydw9QrvCQ2XGqxEPXYh7lZmCGTPqdZZqTfRktCrBIs=", "cipher": "AES_128-CBC-PKCS7Padding", "identifier": "Y3C267075109", "configurationVersion": "2.0", "configurationUrl": "https://apis.samsungiotcloud.com/v1/miniature/profile/9ae78d09-b3e5-48a0-924c-a6b5378276a9", "bleDeviceType": "BLE", "metadata": { "regionCode": 11, "privacyIdPoolSize": 2000, "privacyIdSeed": "AAAAAAAieb8=", "privacyIdInitialVector": "zJoi+CNARx+52DtOKWAKAQ==", "numAllowableConnections": 2, "firmware": { "version": "0.20.04", "specVersion": "1.0.0", "updateTime": 1719305439000, "latestFirmware": { "id": 4002, "version": "0.20.04", "data": { "checksum": "A94C", "size": "609820", "supportedVersion": "1.0.0" } } }, "currentServerTime": 1739095473, "searchingStatus": "stop", "lastKnownConnection": { "updated": 1739093926, "connectedUser": { "id": "sk3oyvsbkm", "name": "" }, "connectedDevice": { "id": "1c79f0bb-7aa6-346d-a63d-f0dd6fe4b1bd", "name": "" }, "d2dStatus": "gattConnected", "nearby": true, "onDemand": false }, "e2eEncryption": { "enabled": false }, "timer": 1738453616, "category": { "id": 0 }, "remoteRing": { "enabled": false }, "petWalking": { "enabled": false }, "onboardedBy": { "saGuid": "sk3oyvsbkm" }, "shareable": { "enabled": false }, "battery": { "level": "FULL", "updated": 1739093925 }, "agingCounter": { "status": "VALID", "updated": 1738453617 }, "vendor": { "mnId": "0AFD", "setupId": "451", "modelName": "EI-T5600" }, "priorityConnection": { "lba": false, "cameraShutter": false }, "createTime": 1709888729, "updateTime": 1738453617, "fmmSearch": false, "ooTime": { "currentOoTime": 8, "defaultOoTime": 8 }, "pidPoolSize": { "desiredPidPoolSize": 2000, "currentPidPoolSize": 2000 }, "activeMode": { "mode": 0 }, "itemConfig": { "searchingStatus": "stop" } } }, "type": "BLE_D2D", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "9d5086e5-d74c-402c-8336-06c79966ab5f", "name": "Tag(UWB)", "label": "SmartTag+ black 2", "manufacturerName": "Samsung Electronics", "presentationId": "IM-SmartTag-BLE-UWB", "deviceManufacturerCode": "Samsung Electronics", "locationId": "redacted_locid", "ownerId": "redacted", "roomId": "redacted_roomid", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "alarm", "version": 1 }, { "id": "tag.tagButton", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "tag.factoryReset", "version": 1 }, { "id": "tag.e2eEncryption", "version": 1 }, { "id": "tag.tagStatus", "version": 1 }, { "id": "geolocation", "version": 1 }, { "id": "geofence", "version": 1 }, { "id": "tag.uwbActivation", "version": 1 }, { "id": "tag.updatedInfo", "version": 1 }, { "id": "tag.searchingStatus", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "BluetoothTracker", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-10T10:13:41.048Z", "profile": { "id": "e443f3e8-a926-3deb-917c-e5c6de3af70f" }, "bleD2D": { "encryptionKey": "D45_7FWYwnoMjLWCTshmOZekBZDGKbFKXX8WFbjGtMo=", "cipher": "AES_128-CBC-PKCS7Padding", "identifier": "415D4Y18C853", "configurationVersion": "2.0", "configurationUrl": "https://apis.samsungiotcloud.com/v1/miniature/profile/b8e65e7e-6152-4704-b9f5-f16352034237", "bleDeviceType": "BLE", "metadata": { "regionCode": 11, "privacyIdPoolSize": 2000, "privacyIdSeed": "AAAAAAAYdqU=", "privacyIdInitialVector": "7MVCb8d4SZScd7QZElJVFQ==", "numAllowableConnections": 2, "firmware": { "version": "1.03.07", "specVersion": "0.5.6", "updateTime": 1686392140000, "latestFirmware": { "id": 581, "version": "1.03.07", "data": { "checksum": "50E7", "size": "586004", "supportedVersion": "0.5.6" } } }, "currentServerTime": 1739095473, "searchingStatus": "stop", "lastKnownConnection": { "updated": 1713422787, "connectedUser": { "id": "sk3oyvsbkm", "name": "" }, "connectedDevice": { "id": "4f3faa4c-976c-3bd8-b209-607f3a5a9814", "name": "" }, "d2dStatus": "bleScanned", "nearby": true, "onDemand": false }, "e2eEncryption": { "enabled": false }, "timer": 1713422666, "category": { "id": 0 }, "remoteRing": { "enabled": false }, "petWalking": { "enabled": false }, "onboardedBy": { "saGuid": "sk3oyvsbkm" }, "shareable": { "enabled": false }, "agingCounter": { "status": "VALID", "updated": 1713422667 }, "vendor": { "mnId": "0AFD", "setupId": "432", "modelName": "EI-T7300" }, "priorityConnection": { "lba": false, "cameraShutter": false }, "createTime": 1686392021, "updateTime": 1713422667, "fmmSearch": false, "ooTime": { "currentOoTime": 8, "defaultOoTime": 8 }, "pidPoolSize": { "desiredPidPoolSize": 2000, "currentPidPoolSize": 2000 }, "activeMode": { "mode": 0 }, "itemConfig": { "searchingStatus": "stop" } } }, "type": "BLE_D2D", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "bb6db6ba-a4e6-436c-ae04-c559b87b2976", "name": "Tag(UWB)", "label": "SmartTag+ blue 2", "manufacturerName": "Samsung Electronics", "presentationId": "IM-SmartTag-BLE-UWB", "deviceManufacturerCode": "Samsung Electronics", "locationId": "redacted_locid", "ownerId": "redacted", "roomId": "redacted_roomid", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "alarm", "version": 1 }, { "id": "tag.tagButton", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "tag.factoryReset", "version": 1 }, { "id": "tag.e2eEncryption", "version": 1 }, { "id": "tag.tagStatus", "version": 1 }, { "id": "geolocation", "version": 1 }, { "id": "geofence", "version": 1 }, { "id": "tag.uwbActivation", "version": 1 }, { "id": "tag.updatedInfo", "version": 1 }, { "id": "tag.searchingStatus", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "BluetoothTracker", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-10T10:16:21.470Z", "profile": { "id": "e443f3e8-a926-3deb-917c-e5c6de3af70f" }, "bleD2D": { "encryptionKey": "juK8-9IoP-U5vyzm_tYXakMqPhKEb1fW-E-NdpH69FE=", "cipher": "AES_128-CBC-PKCS7Padding", "identifier": "415D4Y17D610", "configurationVersion": "2.0", "configurationUrl": "https://apis.samsungiotcloud.com/v1/miniature/profile/b8e65e7e-6152-4704-b9f5-f16352034237", "bleDeviceType": "BLE", "metadata": { "regionCode": 11, "privacyIdPoolSize": 2000, "privacyIdSeed": "AAAAAAAYdqw=", "privacyIdInitialVector": "JlZXz5P6R5GYYdPB4MwUfA==", "numAllowableConnections": 2, "firmware": { "version": "1.03.07", "specVersion": "0.5.6", "updateTime": 1686392300000, "latestFirmware": { "id": 581, "version": "1.03.07", "data": { "checksum": "50E7", "size": "586004", "supportedVersion": "0.5.6" } } }, "currentServerTime": 1739095473, "searchingStatus": "stop", "lastKnownConnection": { "updated": 1713423106, "connectedUser": { "id": "sk3oyvsbkm", "name": "" }, "connectedDevice": { "id": "4f3faa4c-976c-3bd8-b209-607f3a5a9814", "name": "" }, "d2dStatus": "bleScanned", "nearby": true, "onDemand": false }, "e2eEncryption": { "enabled": false }, "timer": 1713388878, "category": { "id": 0 }, "remoteRing": { "enabled": false }, "petWalking": { "enabled": false }, "onboardedBy": { "saGuid": "sk3oyvsbkm" }, "shareable": { "enabled": false }, "agingCounter": { "status": "INVALID", "updated": 1713418316 }, "vendor": { "mnId": "0AFD", "setupId": "431", "modelName": "EI-T7300" }, "priorityConnection": { "lba": false, "cameraShutter": false }, "createTime": 1686392182, "updateTime": 1713418316, "fmmSearch": false, "ooTime": { "currentOoTime": 8, "defaultOoTime": 8 }, "pidPoolSize": { "desiredPidPoolSize": 2000, "currentPidPoolSize": 2000 }, "activeMode": { "mode": 0 }, "itemConfig": { "searchingStatus": "stop" } } }, "type": "BLE_D2D", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "cee35ca2-8d55-458c-baae-d8d01255cd51", "name": "Tag(UWB)", "label": "SmartTag+ blue", "manufacturerName": "Samsung Electronics", "presentationId": "IM-SmartTag-BLE-UWB", "deviceManufacturerCode": "Samsung Electronics", "locationId": "redacted_locid", "ownerId": "redacted", "roomId": "redacted_roomid", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "alarm", "version": 1 }, { "id": "tag.tagButton", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "tag.factoryReset", "version": 1 }, { "id": "tag.e2eEncryption", "version": 1 }, { "id": "tag.tagStatus", "version": 1 }, { "id": "geolocation", "version": 1 }, { "id": "geofence", "version": 1 }, { "id": "tag.uwbActivation", "version": 1 }, { "id": "tag.updatedInfo", "version": 1 }, { "id": "tag.searchingStatus", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "BluetoothTracker", "categoryType": "manufacturer" } ] } ], "createTime": "2023-05-25T09:40:59.899Z", "profile": { "id": "e443f3e8-a926-3deb-917c-e5c6de3af70f" }, "bleD2D": { "encryptionKey": "MJB41T9dn5WxY1xUIZtBRphaPtMf-YHnbKwoj8rsNlc=", "cipher": "AES_128-CBC-PKCS7Padding", "identifier": "415D4Y16ED46", "configurationVersion": "2.0", "configurationUrl": "https://apis.samsungiotcloud.com/v1/miniature/profile/b8e65e7e-6152-4704-b9f5-f16352034237", "bleDeviceType": "BLE", "metadata": { "regionCode": 11, "privacyIdPoolSize": 2000, "privacyIdSeed": "AAAAAAAX8H4=", "privacyIdInitialVector": "8vGO9gIdQne5fr1dnwt5uw==", "numAllowableConnections": 2, "firmware": { "version": "1.03.07", "specVersion": "0.5.6", "updateTime": 1685008038000, "latestFirmware": { "id": 581, "version": "1.03.07", "data": { "checksum": "50E7", "size": "586004", "supportedVersion": "0.5.6" } } }, "currentServerTime": 1739095473, "searchingStatus": "stop", "lastKnownConnection": { "updated": 1713422787, "connectedUser": { "id": "sk3oyvsbkm", "name": "" }, "connectedDevice": { "id": "4f3faa4c-976c-3bd8-b209-607f3a5a9814", "name": "" }, "d2dStatus": "bleScanned", "nearby": true, "onDemand": false }, "e2eEncryption": { "enabled": false }, "timer": 1713422665, "category": { "id": 0 }, "remoteRing": { "enabled": false }, "petWalking": { "enabled": false }, "onboardedBy": { "saGuid": "sk3oyvsbkm" }, "shareable": { "enabled": false }, "agingCounter": { "status": "VALID", "updated": 1713422665 }, "vendor": { "mnId": "0AFD", "setupId": "431", "modelName": "EI-T7300" }, "priorityConnection": { "lba": false, "cameraShutter": false }, "createTime": 1685007660, "updateTime": 1713422665, "fmmSearch": false, "ooTime": { "currentOoTime": 8, "defaultOoTime": 8 }, "pidPoolSize": { "desiredPidPoolSize": 2000, "currentPidPoolSize": 2000 }, "activeMode": { "mode": 0 }, "itemConfig": { "searchingStatus": "stop" } } }, "type": "BLE_D2D", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_6.json000066400000000000000000000607051511701743400254470ustar00rootroot00000000000000{ "items": [ { "deviceId": "4ece486b-89db-f06a-d54d-748b676b4d8e", "name": "Samsung-Room-Air-Conditioner", "label": "Aire Dormitorio Principal", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-01001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4189ac1-208f-461a-8ab6-ea67937b3743", "ownerId": "85ea07e1-7063-f673-3ba5-125293f297c8", "roomId": "1f66199a-1773-4d8f-97b7-44c312a62cf7", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "bypassable", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "audioNotification", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.electricHepaFilter", "version": 1 }, { "id": "custom.doNotDisturbMode", "version": 1 }, { "id": "custom.periodicSensing", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.alwaysOnSensing", "version": 1 }, { "id": "samsungce.airConditionerBeep", "version": 1 }, { "id": "samsungce.airConditionerLighting", "version": 1 }, { "id": "samsungce.airQualityHealthConcern", "version": 1 }, { "id": "samsungce.buttonDisplayCondition", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.dustFilterAlarm", "version": 1 }, { "id": "samsungce.individualControlLock", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.silentAction", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.welcomeCooling", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 }, { "id": "sec.calmConnectionCare", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-28T21:31:35.755Z", "profile": { "id": "091a55f4-7054-39fa-b23e-b56deb7580f8" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "Samsung-Room-Air-Conditioner", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "ARA-WW-TP1-22-COMMON|10229641|60010523001511014600083200800000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "ARA-WW-TP1-22-COMMON_11240702", "vendorId": "DA-AC-RAC-01001", "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", "lastSignupTime": "2025-01-28T21:31:30.090416369Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "0d94e5db-8501-2355-eb4f-214163702cac", "name": "Soundbar", "label": "Soundbar Living", "manufacturerName": "Samsung Electronics", "presentationId": "VD-NetworkAudio-002S", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4189ac1-208f-461a-8ab6-ea67937b3743", "ownerId": "85ea07e1-7063-f673-3ba5-125293f297c8", "roomId": "db506ec3-83b1-4125-9c4c-eb597da5db6a", "deviceTypeName": "Samsung OCF Network Audio Player", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "audioTrackData", "version": 1 }, { "id": "samsungvd.audioInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "audioNotification", "version": 1 }, { "id": "samsungvd.soundFrom", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "samsungvd.audioGroupInfo", "version": 1, "ephemeral": true } ], "categories": [ { "name": "NetworkAudio", "categoryType": "manufacturer" } ] } ], "createTime": "2024-10-26T02:58:40.549Z", "profile": { "id": "3a714028-20ea-3feb-9891-46092132c737" }, "ocf": { "ocfDeviceType": "oic.d.networkaudio", "name": "Soundbar Living", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "HW-Q990C", "platformVersion": "7.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "SAT-iMX8M23WWC-1010.5", "vendorId": "VD-NetworkAudio-002S", "vendorResourceClientServerVersion": "3.2.41", "lastSignupTime": "2024-10-26T02:58:36.491256384Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "0e168539-061a-5f02-2beb-cc5cb6bb3b7b", "name": "[system a/c] Samsung", "label": "Kit AC Wifi", "manufacturerName": "Samsung Electronics", "presentationId": "DA-SAC-WIFIKIT-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4189ac1-208f-461a-8ab6-ea67937b3743", "ownerId": "85ea07e1-7063-f673-3ba5-125293f297c8", "roomId": "072d28ca-996a-420f-95e6-0bedf5df4718", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.wifiKitSubDevices", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-29T22:00:56.061Z", "childDevices": [ { "deviceId": "0e168539-061a-5f02-2beb-000001200000", "profile": {}, "allowed": null, "executionContext": "CLOUD" } ], "profile": { "id": "3713e35a-1dd9-3742-beee-b747773228c5" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "[system a/c] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "MIM-H04N|240611|61FFFF00001411000000000000000000", "platformVersion": "4.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "20240611.1", "vendorId": "DA-SAC-WIFIKIT-000001", "vendorResourceClientServerVersion": "3.2.20", "lastSignupTime": "2025-01-29T22:00:53.860224354Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "0e168539-061a-5f02-2beb-000001200000", "name": "Air Conditioner", "label": "Aire Oficina", "manufacturerName": "Samsung Electronics", "presentationId": "DA-SAC-INDOOR-000001-SUB", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4189ac1-208f-461a-8ab6-ea67937b3743", "ownerId": "85ea07e1-7063-f673-3ba5-125293f297c8", "roomId": "072d28ca-996a-420f-95e6-0bedf5df4718", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.hepaFilter", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.sacDisplayCondition", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-29T22:00:56.982Z", "parentDeviceId": "0e168539-061a-5f02-2beb-cc5cb6bb3b7b", "profile": { "id": "ce0b3091-4ab0-30ea-9f1a-6afa49642269" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "Air Conditioner", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "SAC_RAC|230127|610C0A00001700890400010000000000", "platformVersion": "4.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "20240611.1", "vendorId": "DA-SAC-INDOOR-000001-SUB", "vendorResourceClientServerVersion": "3.2.20", "lastSignupTime": "2025-01-29T22:00:56.103552240Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "bcedebe0-b3e9-4536-2b7c-dbc74dc29fce", "name": "Samsung-Room-Air-Conditioner", "label": "Aire Estar Segundo Piso", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-01001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4189ac1-208f-461a-8ab6-ea67937b3743", "ownerId": "85ea07e1-7063-f673-3ba5-125293f297c8", "roomId": "f1dabf87-1533-44ee-940c-d350ce0d7283", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "bypassable", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "audioNotification", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.electricHepaFilter", "version": 1 }, { "id": "custom.doNotDisturbMode", "version": 1 }, { "id": "custom.periodicSensing", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.alwaysOnSensing", "version": 1 }, { "id": "samsungce.airConditionerBeep", "version": 1 }, { "id": "samsungce.airConditionerLighting", "version": 1 }, { "id": "samsungce.airQualityHealthConcern", "version": 1 }, { "id": "samsungce.buttonDisplayCondition", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.dustFilterAlarm", "version": 1 }, { "id": "samsungce.individualControlLock", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.silentAction", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "samsungce.welcomeCooling", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 }, { "id": "sec.calmConnectionCare", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-28T21:37:31.027Z", "profile": { "id": "091a55f4-7054-39fa-b23e-b56deb7580f8" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "Samsung-Room-Air-Conditioner", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "ARA-WW-TP1-23-GLOBAL|10247441|60010535001711F54E00082200910000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "ARA-WW-TP1-23-GLOBAL_11240702", "vendorId": "DA-AC-RAC-01001", "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", "lastSignupTime": "2025-01-28T21:37:25.560252649Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_7.json000066400000000000000000000177421511701743400254530ustar00rootroot00000000000000{ "items": [ { "deviceId": "96a5ef74-5832-a84b-f1f7-ca799957065d", "name": "[room a/c] Samsung", "label": "AC Office Granit", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "58d3fd7c-c512-4da3-b500-ef269382756c", "ownerId": "f9a28d7c-1ed5-d9e9-a81c-18971ec081db", "roomId": "85a79db4-9cf2-4f09-a5b2-cd70a5c0cef0", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dongleSoftwareInstallation", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] }, { "id": "1", "label": "1", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2021-04-06T16:43:34.753Z", "profile": { "id": "60fbc713-8da5-315d-b31a-6d6dcde4be7b" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "[room a/c] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "ARTIK051_KRAC_18K|10193441|60010132001111110200000000000000", "platformVersion": "0G3MPDCKA00010E", "platformOS": "TizenRT2.0", "hwVersion": "1.0", "firmwareVersion": "0.1.0", "vendorId": "DA-AC-RAC-000001", "lastSignupTime": "2021-04-06T16:43:27.889445Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_8.json000066400000000000000000005716031511701743400254550ustar00rootroot00000000000000{ "items": [ { "deviceId": "e5bba37c-fc5d-4c1c-9644-750e80d94841", "name": "c2c-arlo-pro-3-switch", "label": "Basement Door", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_pro_3", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "alarm", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-03T21:55:57.884Z", "profile": { "id": "89aefc3a-e210-4678-944c-638d47d296f6" }, "viper": { "manufacturerName": "Arlo", "modelName": "VMC4060B", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "0b5577db-5074-4b70-a2c5-efec286d264d", "name": "switch-level", "label": "Den Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "070e9c6f-fbd1-3ef2-a411-ef7e7c41ff03", "deviceManufacturerCode": "TCPi", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "19cec9f9-9947-4568-a98e-ab09a44d2b56", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "legendabsolute60149.levelSteps", "version": 1 }, { "id": "legendabsolute60149.randomOnOff1", "version": 1 }, { "id": "legendabsolute60149.randomNextStep", "version": 1 }, { "id": "legendabsolute60149.progressiveOn1", "version": 1 }, { "id": "legendabsolute60149.progressiveOff1", "version": 1 }, { "id": "legendabsolute60149.forcedOnLevel", "version": 1 }, { "id": "legendabsolute60149.effectsSetCommand", "version": 1 }, { "id": "legendabsolute60149.mirrorGroupFunction", "version": 1 }, { "id": "legendabsolute60149.getGroups", "version": 1 }, { "id": "legendabsolute60149.signalMetrics", "version": 1 }, { "id": "legendabsolute60149.driverVersion1", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "SmartPlug", "categoryType": "manufacturer" }, { "name": "SmartPlug", "categoryType": "user" } ] } ], "createTime": "2023-10-02T12:05:14.157Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "c9999860-f20f-36e6-a2f1-cb9d87df5c36" }, "zigbee": { "eui": "00158D0000948BF6", "networkId": "E7F6", "driverId": "bb1b3fd4-dcba-4d55-8d85-58ed7f1979fb", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "4a59f635-9f0a-4a6c-a2f0-ffb7ef182a7c", "name": "Outlet", "label": "Entryway Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "ac6f4fa6-882a-3d87-a6a3-87b5098e94f2", "deviceManufacturerCode": "CentraLite", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "68b45114-9af8-4906-8636-b973a6faa271", "components": [ { "id": "main", "label": "Entryway Lamp", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2017-05-04T22:36:05Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "e9544f5e-2463-3304-914c-ce2d7a0f72d5" }, "zigbee": { "eui": "000D6F000A9303D9", "networkId": "EE9A", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6ca56087-481f-4e93-9727-fb91049fe396", "name": "Sengled Light", "label": "Table Den Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "bf73a4ce-1c3c-3e85-a589-f25ec6e44096", "deviceManufacturerCode": "sengled", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "19cec9f9-9947-4568-a98e-ab09a44d2b56", "components": [ { "id": "main", "label": "Table Den Lamp", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2021-01-17T01:46:45.398Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "a2405660-c839-3769-a773-497dbc5d96c9" }, "zigbee": { "eui": "B0CE181403113BAC", "networkId": "8B15", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "265e653b-3c0b-4fa6-8e2a-f6a69c7040f0", "name": "ZigBee White Color Temperature Bulb", "label": "Floor Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "0e9a0704-971d-3927-86c6-6d8c7f5d3675", "deviceManufacturerCode": "IKEA of Sweden", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "0d2e9b09-6f13-452b-8482-932d53eb6f79", "components": [ { "id": "main", "label": "Floor Lamp", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2023-05-12T12:28:11.643Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "f30737a9-8769-382c-999c-593f03867fb8" }, "zigbee": { "eui": "000B57FFFE9A322F", "networkId": "44E4", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "8f873071-a9aa-4580-a736-8f5f696e044a", "name": "GE In-Wall Smart Dimmer", "label": "Masterbed room lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "19cec9f9-9947-4568-a98e-ab09a44d2b56", "components": [ { "id": "main", "label": "Masterbed room lights", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2020-03-02T23:56:45Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "0F", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "803cb0d9-addd-4c2d-aaef-d4e20bf88228", "name": "zooz-zen16-multirelay", "label": "Fireplace", "manufacturerName": "SmartThingsCommunity", "presentationId": "231be2de-23bf-3633-a732-f0de9dddae8d", "deviceManufacturerCode": "027A-A000-A00A", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "0d2e9b09-6f13-452b-8482-932d53eb6f79", "components": [ { "id": "relay1", "label": "Relay 1", "capabilities": [ { "id": "switch", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] }, { "id": "relay2", "label": "Relay 2", "capabilities": [ { "id": "switch", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] }, { "id": "relay3", "label": "Relay 3", "capabilities": [ { "id": "switch", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] }, { "id": "main", "label": "Main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "platemusic11009.firmware", "version": 1 }, { "id": "platemusic11009.deviceNetworkId", "version": 1 }, { "id": "platemusic11009.associationGroupTwo", "version": 1 }, { "id": "platemusic11009.associationGroupThree", "version": 1 }, { "id": "platemusic11009.associationGroupFour", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2024-10-12T00:40:06.497Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "2f88b050-eee0-39fd-a404-34ab0d902cdd" }, "zwave": { "networkId": "33", "driverId": "7333473f-722c-465d-9e5d-f3a6ca760489", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_S2_AUTHENTICATED", "provisioningState": "PROVISIONED", "manufacturerId": 634, "productType": 40960, "productId": 40970 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "09076422-62cc-4b2d-8beb-b53bc451c704", "name": "GE In-Wall Smart Dimmer", "label": "Basement Hall", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Basement Hall", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2020-03-28T22:58:31Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "13", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6c582006-aae9-47d0-a9ff-6573fed3b809", "name": "c2c-arlo-go-switch", "label": "Garage Cam", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_go", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "3a1f7e7c-4e59-4c29-adb0-0813be691efd", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-29T17:58:33.515Z", "profile": { "id": "c6adb5c6-6fc1-49bc-9580-88ff9c6d9e10" }, "viper": { "manufacturerName": "Arlo", "modelName": "VMC4030P", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "7d246592-93db-4d72-a10d-5a51793ece8c", "name": "Multipurpose Sensor", "label": "Deck Door", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "SmartThings", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "b277a3c0-b8fe-44de-9133-c1108747810c", "components": [ { "id": "main", "label": "Deck Door", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "Door", "categoryType": "user" } ] } ], "createTime": "2019-02-23T16:53:57Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "24FD5B00010AED6B", "networkId": "C972", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "a9f587c5-5d8b-4273-8907-e7f609af5158", "name": "Yale Push Button Deadbolt Lock", "label": "Basement Door Lock", "manufacturerName": "SmartThingsCommunity", "presentationId": "45f9424f-4e20-34b0-abb6-5f26b189acb0", "deviceManufacturerCode": "Yale", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Basement Door Lock", "capabilities": [ { "id": "lock", "version": 1 }, { "id": "lockCodes", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "SmartLock", "categoryType": "manufacturer" } ] } ], "createTime": "2016-11-18T23:01:19Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "51b76691-3c3a-3fce-8c7c-4f9d50e5885a" }, "zigbee": { "eui": "000D6F0002FB6E24", "networkId": "C771", "driverId": "ce930ffd-8155-4dca-aaa9-6c4158fc4278", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "3f01bf2b-e9a3-3543-1047-42320283a5c1", "name": "27\" Smart Monitor M5", "label": "27\" Smart Monitor M5", "manufacturerName": "Samsung Electronics", "presentationId": "VD-SMONITOR-2022", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "deviceTypeName": "x.com.st.d.monitor", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "sec.deviceConnectionState", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 } ], "categories": [ { "name": "SmartMonitor", "categoryType": "manufacturer" } ] } ], "createTime": "2023-04-28T23:15:13.633Z", "profile": { "id": "d6c6ae24-ad0a-3f6c-86da-5b65996f4150" }, "ocf": { "ocfDeviceType": "x.com.st.d.monitor", "name": "27\" Smart Monitor M5", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "LS27BM501ENXZA", "platformVersion": "6.5", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "T-NKLBWWC-1651.10", "vendorId": "VD-SMONITOR-2022", "vendorResourceClientServerVersion": "4.0.26", "locale": "en_US", "lastSignupTime": "2024-12-04T00:04:45.014259608Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "9b479ba0-81e1-4877-87c5-c301a87cbdab", "name": "Virtual Dimmer Switch", "label": "Basement Lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Basement Lights", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2020-03-28T23:30:50Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "c636b2cd-337b-3c8e-8514-3604fbbb8d8c" }, "virtual": { "name": "Basement Lights", "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "driverId": "572a2641-2af8-47e4-bfe5-ad83748fd7a1", "executingLocally": true }, "type": "VIRTUAL", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "c1107a0c-fa71-43c5-8ff9-a128ea6c4f20", "name": "ge-dimmer-assoc", "label": "Kitchen Lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "b277a3c0-b8fe-44de-9133-c1108747810c", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2023-10-27T01:52:54.650Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "2E", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "NONFUNCTIONAL", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "8eacf25f-aa33-4d9e-ba90-0e4ac3ceb8e0", "name": "Outlet", "label": "Entryway Tree", "manufacturerName": "SmartThingsCommunity", "presentationId": "ac6f4fa6-882a-3d87-a6a3-87b5098e94f2", "deviceManufacturerCode": "CentraLite", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "68b45114-9af8-4906-8636-b973a6faa271", "components": [ { "id": "main", "label": "Entryway Tree", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2018-01-20T23:44:31Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "e9544f5e-2463-3304-914c-ce2d7a0f72d5" }, "zigbee": { "eui": "000D6F000542337E", "networkId": "0C5D", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "2d9a892b-1c93-45a5-84cb-0e81889498c6", "name": "contact-profile", "label": ".Front Door Open/Closed Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "a7f2c1d9-89b3-35a4-b217-fc68d9e4e752", "deviceManufacturerCode": "Visonic", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "68b45114-9af8-4906-8636-b973a6faa271", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "ContactSensor", "categoryType": "manufacturer" }, { "name": "ContactSensor", "categoryType": "user" } ] } ], "createTime": "2023-09-28T17:38:59.179Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "22aa5a07-ac33-365f-b2f1-5ecef8cdb0eb" }, "zigbee": { "eui": "000D6F000576F604", "networkId": "5A44", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "9d686e56-4907-4359-a131-6a3f3f51e521", "name": "SmartThings Hub", "label": "Hub - 27\" Smart Monitor M5", "manufacturerName": "SmartThingsCommunity", "presentationId": "8674970a-4b32-34fc-9787-8374d9be1556", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2024-12-04T00:20:39.227Z", "profile": { "id": "d0802f66-6562-310d-901d-8eba0cb444bf" }, "hub": { "hubEui": "D052A8D8B1AC0001", "firmwareVersion": "000.054.00013", "hubDrivers": [ { "driverVersion": "2024-12-17T18:00:36.611958104", "driverId": "01976eca-e7ff-4d1b-91db-9c980ce668d7", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:35.032104982", "driverId": "4eb5b19a-7bbc-452f-859b-c6d7d857b2da", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.437532099", "driverId": "7beb8bc2-8dfa-45c2-8fdb-7373d4597b12", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-21T19:06:49.949052991", "driverId": "9050ac53-358c-47a1-a927-9a70f5f28cee", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-11-04T22:39:18.253781754", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:15.547412569", "driverId": "c856a3fd-69ee-4478-a224-d7279b6d978f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-12-17T18:00:49.743127189", "driverId": "cd898d81-6c27-4d27-a529-dfadc8caae5a", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-07-11T18:43:49.169154271", "driverId": "d9c3f8b8-c3c3-4b77-9ddd-01d08102c84b", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.195543653", "driverId": "dbe192cb-f6a1-4369-a843-d1c42e5c91ba", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" } ], "hubData": { "zwaveStaticDsk": "00000-00000-00000-00000-00000-00000-00000-00000", "zwaveS2": false, "hardwareType": "SAMSUNG_VD_TV_HUB", "hardwareId": "0043", "zigbeeFirmware": "0.0.0", "zigbee3": false, "zigbeeOta": "ENABLED", "otaEnable": "true", "zigbeeUnsecureRejoin": false, "zigbeeRequiresExternalHardware": true, "threadRequiresExternalHardware": true, "failoverAvailability": "Unsupported", "primarySupportAvailability": "Unsupported", "secondarySupportAvailability": "Unsupported", "zigbeeAvailability": "Unavailable", "zwaveAvailability": "Unsupported", "threadAvailability": "Unavailable", "lanAvailability": "Available", "matterAvailability": "Available", "localVirtualDeviceAvailability": "Available", "childDeviceAvailability": "Unsupported", "edgeDriversAvailability": "Available", "hubReplaceAvailability": "Unsupported", "hubLocalApiAvailability": "Available", "zigbeeManualFirmwareUpdateSupported": true, "matterRendezvousHedgeSupported": true, "matterSoftwareComponentVersion": "1.3-0", "matterDeviceDiagnosticsAvailability": "Available", "zigbeeDeviceDiagnosticsAvailability": "Available", "hedgeTlsCertificate": "-----BEGIN CERTIFICATE-----MIIDyzCCArOgAwIBAgIJALDummyValue1234567890FakeCertMAsGA1UdDwQEAwIFoDANBgkqhkiG9w0BAQsFAAOCAQEApnDummyCertDataGoesHere7DSYdummyvalueshouldlookrealbutbeuseless1234567890abcdefXyxzDummyValuePlaceholderJustForSharing-----END CERTIFICATE-----", "zigbeeChannel": "0", "zigbeePanId": "0000", "zigbeeEui": "0000000000000000", "zigbeeNodeID": "0000", "zwaveNodeID": "00", "zwaveHomeID": "00000000", "zwaveSucID": "00", "zwaveVersion": "0000", "zwaveRegion": "0", "macAddress": "70:09:71:C5:65:A2", "localIP": "192.168.168.172", "zigbeeRadioFunctional": false, "zwaveRadioFunctional": false, "zigbeeRadioEnabled": false, "zwaveRadioEnabled": false, "zigbeeRadioDetected": false, "zwaveRadioDetected": false } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "7db87911-7dce-1cf2-7119-b953432a2f09", "name": "[refrigerator] Samsung", "label": "Refrigerator", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-000001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "3a1f7e7c-4e59-4c29-adb0-0813be691efd", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dongleSoftwareInstallation", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" }, { "name": "Refrigerator", "categoryType": "user" } ] }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "onedoor", "label": "onedoor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-02", "label": "pantry-02", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2022-01-08T16:50:43.544Z", "profile": { "id": "f2a9af35-5df8-3477-91df-94941d302591" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "[refrigerator] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "TP2X_REF_20K|00115641|0004014D011411200103000020000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 1.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "A-RFWW-TP2-21-COMMON_20220110", "vendorId": "DA-REF-NORMAL-000001", "vendorResourceClientServerVersion": "MediaTek Release 2.210524.1", "lastSignupTime": "2024-08-06T15:24:29.362093Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "f4e0517a-d94f-4bd6-a464-222c8c413a66", "name": "Visonic Door/Window Sensor", "label": "Car Garage Door", "manufacturerName": "SmartThingsCommunity", "presentationId": "a7f2c1d9-89b3-35a4-b217-fc68d9e4e752", "deviceManufacturerCode": "Visonic", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "3a1f7e7c-4e59-4c29-adb0-0813be691efd", "components": [ { "id": "main", "label": "Car Garage Door", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "ContactSensor", "categoryType": "manufacturer" }, { "name": "GarageDoor", "categoryType": "user" } ] } ], "createTime": "2023-03-27T11:03:50.408Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "22aa5a07-ac33-365f-b2f1-5ecef8cdb0eb" }, "zigbee": { "eui": "000D6F000576E45E", "networkId": "79A6", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "37c0cdda-9158-41ad-9635-4ca32df9fe5b", "name": "Virtual Contact1", "label": "Mail Announce", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-Simulated_Contact_Sensor", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "Mail Announce", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "ContactSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2018-09-23T12:10:39Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "b5c37a8c-31b7-3c9c-bf31-bad43d9bf23a" }, "virtual": { "name": "Mail Announce", "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "executingLocally": false }, "type": "VIRTUAL", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "cfcd9a21-a943-4519-9972-3c7890cd25b1", "name": "Outlet", "label": "Radon Fan", "manufacturerName": "SmartThingsCommunity", "presentationId": "ac6f4fa6-882a-3d87-a6a3-87b5098e94f2", "deviceManufacturerCode": "CentraLite", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "972f7f0e-9bd2-4387-8df1-06fddc80269d", "components": [ { "id": "main", "label": "Radon Fan", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2017-02-02T16:59:56Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "e9544f5e-2463-3304-914c-ce2d7a0f72d5" }, "zigbee": { "eui": "000D6F0005855215", "networkId": "B09C", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "1a987293-0962-4447-99d4-aa82655ffb55", "name": "Outlet", "label": "Heater Outlet", "manufacturerName": "SmartThingsCommunity", "presentationId": "ac6f4fa6-882a-3d87-a6a3-87b5098e94f2", "deviceManufacturerCode": "CentraLite", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "19cec9f9-9947-4568-a98e-ab09a44d2b56", "components": [ { "id": "main", "label": "Humidifier Outlet", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "SmartPlug", "categoryType": "manufacturer" } ] } ], "createTime": "2021-05-09T15:20:14.487Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "7943e9c3-fb00-3caa-b695-6ff53886b908" }, "zigbee": { "eui": "000D6F0004064BE0", "networkId": "408F", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6b5535c7-c039-42ee-9970-8af86c6b0775", "name": "TR\u00c5DFRI bulb E26 WS opal 980lm", "label": "Saimas Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "959166b6-b255-3c21-8929-d8f0f3dfd6b6", "deviceManufacturerCode": "IKEA of Sweden", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "19cec9f9-9947-4568-a98e-ab09a44d2b56", "components": [ { "id": "main", "label": "Saima Lamp", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2017-11-23T21:16:00Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "49f4e50c-41cf-3bbf-a02c-9288829a17f7" }, "zigbee": { "eui": "000B57FFFE974C46", "networkId": "FECB", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6a2e5058-36f3-4668-aa43-49a66f8df93d", "name": "Virtual Switch", "label": "Fireplace Lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "0d2e9b09-6f13-452b-8482-932d53eb6f79", "components": [ { "id": "main", "label": "Fireplace Lights", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] } ], "createTime": "2018-09-23T04:37:25Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "c636b2cd-337b-3c8e-8514-3604fbbb8d8c" }, "virtual": { "name": "Fireplace Lights", "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "driverId": "572a2641-2af8-47e4-bfe5-ad83748fd7a1", "executingLocally": true }, "type": "VIRTUAL", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "4339f999-1ad2-46fb-9103-cb628b30a022", "name": "switch-binary-indicator", "label": "Garage Tubelight", "manufacturerName": "SmartThingsCommunity", "presentationId": "74cf66e1-ae7f-3a14-a6a8-1affef9ec321", "deviceManufacturerCode": "0063-4952-3137", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "3a1f7e7c-4e59-4c29-adb0-0813be691efd", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2022-11-22T19:19:37.137Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "e615875b-3399-3257-afb9-e851851f403a" }, "zwave": { "networkId": "24", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_S2_FAILED", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18770, "productId": 12599 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "277e0a96-c8ec-41aa-b4cf-0bac57dc1cee", "name": "basic-switch", "label": "Fireplace Lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "28127039-043b-3df0-adf2-7541403dc4c1", "deviceManufacturerCode": "LEDVANCE", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "0d2e9b09-6f13-452b-8482-932d53eb6f79", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2023-09-29T19:28:55.295Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "daeff874-075a-32e3-8b11-bdb99d8e67c7" }, "zigbee": { "eui": "F0D1B8000010F1E4", "networkId": "6D34", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "68e786a6-7f61-4c3a-9e13-70b803cf782b", "name": "base-electric-meter", "label": "Aeon Energy Monitor", "manufacturerName": "SmartThingsCommunity", "presentationId": "8e619cd9-c271-3ba0-9015-62bc074bc47f", "deviceManufacturerCode": "0086-0002-0009", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "powerMeter", "version": 1 }, { "id": "energyMeter", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "CurbPowerMeter", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-03T16:23:57.284Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "d382796f-8ed5-3088-8735-eb03e962203b" }, "zwave": { "networkId": "2A", "driverId": "4fb7ec02-2697-4d73-977d-2b1c65c4484f", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 134, "productType": 2, "productId": 9 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "e879673b-892c-4a0d-8c54-2dcc38d96ca0", "name": "c2c-arlo-pro-3-switch", "label": "Freezer Room", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_pro_3", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "alarm", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-02T21:55:57.806Z", "profile": { "id": "89aefc3a-e210-4678-944c-638d47d296f6" }, "viper": { "manufacturerName": "Arlo", "modelName": "VMC2030B", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "1691801c-ae59-438b-89dc-f2c761fe937d", "name": "ge-switch-assoc", "label": "Masterbed Room Fan", "manufacturerName": "SmartThingsCommunity", "presentationId": "5e3a3ad0-e959-3842-8ee0-6bfd24e67a97", "deviceManufacturerCode": "0063-4952-3038", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "19cec9f9-9947-4568-a98e-ab09a44d2b56", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "button", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2024-07-18T16:21:07.846Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "76d7489d-c548-324f-907a-016e49d4009a" }, "zwave": { "networkId": "31", "driverId": "5ad2cc83-5503-4040-a98b-b0fc9931b9fe", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_S2_AUTHENTICATED", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18770, "productId": 12344 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "3c8d8a9d-649d-4edc-9a0b-4e45d0b491d1", "name": "c2c-arlo-pro-3-switch", "label": "Backyard Floodlight", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_pro_3", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "e73dcd00-6953-431d-ae79-73fd2f2c528e", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "alarm", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-29T17:58:33.476Z", "profile": { "id": "89aefc3a-e210-4678-944c-638d47d296f6" }, "viper": { "manufacturerName": "Arlo", "modelName": "FB1001A", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "c5209cd2-fcb5-46be-b685-5b05f22dcb2c", "name": "switch-level-indicator", "label": "Guest Fan", "manufacturerName": "SmartThingsCommunity", "presentationId": "75ba2386-cdc0-31b8-af71-8127fc08dc91", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "fabca29a-3fea-4c02-848d-b5382ec44797", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "button", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2023-05-06T23:17:57.942Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "6dbb0adb-f6b2-3c2f-ac56-05a8e6835ce4" }, "zwave": { "networkId": "27", "driverId": "5ad2cc83-5503-4040-a98b-b0fc9931b9fe", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "bafc5147-2e48-498b-97ff-34c93fae7814", "name": "Visonic Door/Window Sensor", "label": "Garage Door - Side", "manufacturerName": "SmartThingsCommunity", "presentationId": "a7f2c1d9-89b3-35a4-b217-fc68d9e4e752", "deviceManufacturerCode": "Visonic", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "3a1f7e7c-4e59-4c29-adb0-0813be691efd", "components": [ { "id": "main", "label": "Garage Door - Side", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "ContactSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2023-04-16T19:48:44.066Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "22aa5a07-ac33-365f-b2f1-5ecef8cdb0eb" }, "zigbee": { "eui": "000D6F0005773EFD", "networkId": "330C", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "4be24db2-3125-4112-a8dc-3eb1926c220a", "name": "c2c-arlo-pro-3-switch", "label": "Sump Pump Room", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_pro_3", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "alarm", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2025-02-02T21:55:57.810Z", "profile": { "id": "89aefc3a-e210-4678-944c-638d47d296f6" }, "viper": { "manufacturerName": "Arlo", "modelName": "VMC2030B", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "184c67cc-69e2-44b6-8f73-55c963068ad9", "name": "iPhone", "label": "iPhone", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-Mobile_Presence", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "presenceSensor", "version": 1 } ], "categories": [ { "name": "MobilePresence", "categoryType": "manufacturer" } ] } ], "createTime": "2021-12-02T16:14:24.394Z", "parentDeviceId": "b8e11599-5297-4574-8e62-885995fcaa20", "profile": { "id": "21d0f660-98b4-3f7b-8114-fe62e555628e" }, "type": "MOBILE", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "4588d2d9-a8cf-40f4-9a0b-ed5dfbaccda1", "name": "[TV] Samsung 8 Series (49)", "label": "[TV] Samsung 8 Series (49)", "manufacturerName": "Samsung Electronics", "presentationId": "VD-STV_2017_K", "deviceManufacturerCode": "Samsung Electronics", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "deviceTypeName": "Samsung OCF TV", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 } ], "categories": [ { "name": "Television", "categoryType": "manufacturer" } ] } ], "createTime": "2020-05-07T02:58:10Z", "profile": { "id": "bac5c673-8eea-3d00-b1d2-283b46539017" }, "ocf": { "ocfDeviceType": "oic.d.tv", "name": "[TV] Samsung 8 Series (49)", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "UN49MU8000", "platformVersion": "Tizen 3.0", "platformOS": "4.1.10", "hwVersion": "0-0", "firmwareVersion": "T-KTMAKUC-1290.3", "vendorId": "VD-STV_2017_K", "locale": "en_US", "lastSignupTime": "2021-08-21T18:52:56.748359Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "9a9cb299-5279-4dea-9249-b5c153d22ba1", "name": "virtual-calendar", "label": "Virtual Calendar Device (1685810860)", "manufacturerName": "SmartThingsCommunity", "presentationId": "288ba36c-9234-3e15-bc02-63b2466d3635", "deviceManufacturerCode": "MColmenarejo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "972f7f0e-9bd2-4387-8df1-06fddc80269d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "legendabsolute60149.localDate", "version": 1 }, { "id": "legendabsolute60149.localWeekDay", "version": 1 }, { "id": "legendabsolute60149.sunRise", "version": 1 }, { "id": "legendabsolute60149.sunSet", "version": 1 }, { "id": "legendabsolute60149.dayLength", "version": 1 }, { "id": "legendabsolute60149.sunRiseOffset1", "version": 1 }, { "id": "legendabsolute60149.sunSetOffset1", "version": 1 }, { "id": "legendabsolute60149.currentTimePeriod", "version": 1 }, { "id": "legendabsolute60149.currentTwilight", "version": 1 }, { "id": "legendabsolute60149.sunElevationAngle", "version": 1 }, { "id": "legendabsolute60149.sunAzimuthAngle", "version": 1 }, { "id": "legendabsolute60149.localHourOffset", "version": 1 }, { "id": "legendabsolute60149.localHour", "version": 1 }, { "id": "legendabsolute60149.localHourTwo", "version": 1 }, { "id": "legendabsolute60149.localDay", "version": 1 }, { "id": "legendabsolute60149.localDayTwo", "version": 1 }, { "id": "legendabsolute60149.localMonth", "version": 1 }, { "id": "legendabsolute60149.localMonthTwo", "version": 1 }, { "id": "legendabsolute60149.localYear", "version": 1 }, { "id": "legendabsolute60149.localMonthDayOne", "version": 1 }, { "id": "legendabsolute60149.localMonthDayTwo", "version": 1 }, { "id": "legendabsolute60149.localDateOne", "version": 1 }, { "id": "legendabsolute60149.localDateTwo1", "version": 1 }, { "id": "legendabsolute60149.evenOddDay", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Elevator", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-03T16:47:41.297Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "8e75657e-7c0f-39d9-8f77-5d81cd94e02f" }, "lan": { "networkId": "virtual calendar v1-1685810860", "driverId": "6342be70-6da0-4535-afc1-ff6378d6c650", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "LAN", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "4fddedf0-2662-476e-b1fd-aceaec17ad3a", "name": "GE Dimmer Switch", "label": "Breakfast Table Lamps", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "b277a3c0-b8fe-44de-9133-c1108747810c", "components": [ { "id": "main", "label": "Breakfast Table Lamps", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2021-11-16T14:25:16.136Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "1E", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "d0268a69-abfb-4c92-a646-61cec2e510ad", "name": "plug-level-power", "label": "Dimmer Debian", "manufacturerName": "SmartThingsCommunity", "presentationId": "bb7c4cfb-6eaf-3efc-823b-06a54fc9ded9", "deviceManufacturerCode": "CentraLite", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "SmartPlug", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-15T22:16:37.926Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "24195ea4-635c-3450-a235-71bc78ab3d1c" }, "zigbee": { "eui": "000D6F0003C04BC9", "networkId": "F50E", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "7111243f-39d6-4ed0-a277-f040e40a806d", "name": "Visonic Door/Window Sensor", "label": "Van Garage Door", "manufacturerName": "SmartThingsCommunity", "presentationId": "a7f2c1d9-89b3-35a4-b217-fc68d9e4e752", "deviceManufacturerCode": "Visonic", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "3a1f7e7c-4e59-4c29-adb0-0813be691efd", "components": [ { "id": "main", "label": "Van Garage Door", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "ContactSensor", "categoryType": "manufacturer" }, { "name": "GarageDoor", "categoryType": "user" } ] } ], "createTime": "2023-03-27T11:00:57.946Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "22aa5a07-ac33-365f-b2f1-5ecef8cdb0eb" }, "zigbee": { "eui": "000D6F00059144B3", "networkId": "1127", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "ea2aa187-40fd-4140-9742-453e691c4469", "name": "Water Heater Announce", "label": "Water is heating", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-Simulated_Contact_Sensor", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Water is heating", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "ContactSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2019-02-24T21:31:18Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "b5c37a8c-31b7-3c9c-bf31-bad43d9bf23a" }, "virtual": { "name": "Water is heating", "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "executingLocally": false }, "type": "VIRTUAL", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "aae6a270-7545-470d-940f-568f955129a7", "name": "c2c-switch", "label": "Arlo Production", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-switch", "deviceManufacturerCode": "TP-LINK", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-06T13:25:58.620Z", "profile": { "id": "7eaca7e4-dd01-4711-8e20-1a869bb44b1b" }, "viper": { "uniqueIdentifier": "8006FAEE61E0DE8A47222BB770E62AA61FA7CACB", "manufacturerName": "TP-LINK", "modelName": "KP115(US)", "swVersion": "1.0.21 Build 231129 Rel.171238", "hwVersion": "1.0", "endpointAppId": "viper_48564b90-500e-11e9-870f-f106e22b685b" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "2533fdd0-e064-4fa2-b77b-1e17260b58d7", "name": "GE Dimmer Switch", "label": "Formal Dining Table Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "5cbd562e-44e4-4fb4-8639-5ad986ee92ee", "components": [ { "id": "main", "label": "Dining Table Lamp", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2021-10-06T14:32:42.895Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "1D", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "NONFUNCTIONAL", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "550a1c72-65a0-4d55-b97b-75168e055398", "name": "SYLVANIA SMART+ Smart Plug", "label": "Arlo Beta Basestation", "manufacturerName": "SmartThingsCommunity", "presentationId": "28127039-043b-3df0-adf2-7541403dc4c1", "deviceManufacturerCode": "LEDVANCE", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Pi Hole", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" } ] } ], "createTime": "2018-10-05T12:23:14Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "daeff874-075a-32e3-8b11-bdb99d8e67c7" }, "zigbee": { "eui": "F0D1B80000051E05", "networkId": "801E", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "dba5a745-b23d-4bc2-a77d-22d65a5df704", "name": "c2c-arlo-siren", "label": "Base Station", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-arlo-basestation", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "alarm", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ], "categories": [ { "name": "Siren", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-29T17:58:33.466Z", "profile": { "id": "2bc65b75-4c56-4eca-b4e2-3641fbcdaae7" }, "viper": { "manufacturerName": "Arlo", "modelName": "VMB4000", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "3f82e13c-bd39-4043-bb54-7432a4e47113", "name": "GE Dimmer Switch", "label": "Driveway Light", "manufacturerName": "SmartThingsCommunity", "presentationId": "75ba2386-cdc0-31b8-af71-8127fc08dc91", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "e73dcd00-6953-431d-ae79-73fd2f2c528e", "components": [ { "id": "main", "label": "Driveway Light", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "button", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2020-11-21T18:50:03Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "6dbb0adb-f6b2-3c2f-ac56-05a8e6835ce4" }, "zwave": { "networkId": "16", "driverId": "5ad2cc83-5503-4040-a98b-b0fc9931b9fe", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "08ee0358-9f40-4afa-b5a0-3a6aba18c267", "name": "GE Dimmer Switch", "label": "Girls Lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "fabca29a-3fea-4c02-848d-b5382ec44797", "components": [ { "id": "main", "label": "Girls Lights", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2021-06-13T21:55:18.991Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "18", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "9dd17f8f-cf5e-4647-a11c-d8f24cdf9b2a", "name": "st-multipurpose", "label": "Temp Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "SmartThings", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "MultiFunctionalSensor", "categoryType": "user" } ] } ], "createTime": "2023-09-19T12:47:16.636Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "24FD5B00010A3E4E", "networkId": "0586", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "b3a84295-ac3c-4fb1-95e4-4a4bbb1b0bce", "name": "base-lock", "label": "Door Lock", "manufacturerName": "SmartThingsCommunity", "presentationId": "7a15b375-294d-37fc-9ebe-000aea7436c8", "deviceManufacturerCode": "0129-8107-09D5", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "68b45114-9af8-4906-8636-b973a6faa271", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "lock", "version": 1 }, { "id": "lockCodes", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "SmartLock", "categoryType": "manufacturer" } ] } ], "createTime": "2024-07-23T16:15:05.199Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "8d99f687-b7d8-3650-b3be-57e13e17883b" }, "zwave": { "networkId": "32", "driverId": "0f206d13-508e-4342-9cbb-937e02489141", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_S0_LEGACY", "provisioningState": "PROVISIONED", "manufacturerId": 297, "productType": 33031, "productId": 2517 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "92138ee5-d3bf-4348-98e8-445dedc319cb", "name": "Multipurpose Sensor", "label": "Sump Pump Room", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "SmartThings", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Sump Pump Room", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "Door", "categoryType": "user" } ] } ], "createTime": "2021-02-21T16:13:24.455Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "24FD5B000108053C", "networkId": "C1BB", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "a664fe3f-cd7b-4794-bcdd-1310ecab5483", "name": "c2c-dimmer", "label": "Study Lights", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-dimmer", "deviceManufacturerCode": "TP-LINK", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2024-12-19T16:11:21.813Z", "profile": { "id": "8c78413a-09d0-39f7-b92c-988fad1548a2" }, "viper": { "uniqueIdentifier": "8006EB719BAFA8287EBC2990B37DDE8522BE8674", "manufacturerName": "TP-LINK", "modelName": "ES20M(US)", "swVersion": "1.0.11 Build 240514 Rel.110351", "hwVersion": "1.0", "endpointAppId": "viper_48564b90-500e-11e9-870f-f106e22b685b" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "7b9d924a-de0c-44f9-ac5c-f15869c59411", "name": "switch-level", "label": "Study Room Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "bf73a4ce-1c3c-3e85-a589-f25ec6e44096", "deviceManufacturerCode": "sengled", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" }, { "name": "SmartPlug", "categoryType": "user" } ] } ], "createTime": "2024-08-18T00:08:25.264Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "a2405660-c839-3769-a773-497dbc5d96c9" }, "zigbee": { "eui": "B0CE18140311AA35", "networkId": "304B", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6f4d2e72-7af4-4c96-97ab-d6b6a0d6bc4b", "name": "Outlet", "label": "Floor Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "ac6f4fa6-882a-3d87-a6a3-87b5098e94f2", "deviceManufacturerCode": "CentraLite", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "0d2e9b09-6f13-452b-8482-932d53eb6f79", "components": [ { "id": "main", "label": "Living Room Fan", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2017-01-05T00:13:48Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "e9544f5e-2463-3304-914c-ce2d7a0f72d5" }, "zigbee": { "eui": "000D6F000585751E", "networkId": "4FB6", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6c1b7cfa-7429-4f35-9d02-ab1dfd2f1297", "name": "switch-level", "label": "Dresser Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "070e9c6f-fbd1-3ef2-a411-ef7e7c41ff03", "deviceManufacturerCode": "TCPi", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "19cec9f9-9947-4568-a98e-ab09a44d2b56", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "legendabsolute60149.levelSteps", "version": 1 }, { "id": "legendabsolute60149.randomOnOff1", "version": 1 }, { "id": "legendabsolute60149.randomNextStep", "version": 1 }, { "id": "legendabsolute60149.progressiveOn1", "version": 1 }, { "id": "legendabsolute60149.progressiveOff1", "version": 1 }, { "id": "legendabsolute60149.forcedOnLevel", "version": 1 }, { "id": "legendabsolute60149.effectsSetCommand", "version": 1 }, { "id": "legendabsolute60149.mirrorGroupFunction", "version": 1 }, { "id": "legendabsolute60149.getGroups", "version": 1 }, { "id": "legendabsolute60149.signalMetrics", "version": 1 }, { "id": "legendabsolute60149.driverVersion1", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "SmartPlug", "categoryType": "manufacturer" }, { "name": "SmartPlug", "categoryType": "user" } ] } ], "createTime": "2023-10-02T01:35:23.418Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "c9999860-f20f-36e6-a2f1-cb9d87df5c36" }, "zigbee": { "eui": "00158D000094885B", "networkId": "8959", "driverId": "bb1b3fd4-dcba-4d55-8d85-58ed7f1979fb", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "c5699ff6-af09-4922-901d-bb81b8345bc3", "name": "Outlet", "label": "String Lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "ac6f4fa6-882a-3d87-a6a3-87b5098e94f2", "deviceManufacturerCode": "CentraLite", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "String Lights", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "SmartPlug", "categoryType": "manufacturer" }, { "name": "SmartPlug", "categoryType": "user" } ] } ], "createTime": "2019-03-02T00:39:18Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "7943e9c3-fb00-3caa-b695-6ff53886b908" }, "zigbee": { "eui": "000D6F000A72D1D5", "networkId": "ABCA", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "d48848b9-25b0-4423-8fcf-96a022ac571e", "name": "Light", "label": "Door Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "bf73a4ce-1c3c-3e85-a589-f25ec6e44096", "deviceManufacturerCode": "TCPi", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "68b45114-9af8-4906-8636-b973a6faa271", "components": [ { "id": "main", "label": "Door Lamp", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2022-06-26T18:59:53.764Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "a2405660-c839-3769-a773-497dbc5d96c9" }, "zigbee": { "eui": "00158D0000948ABE", "networkId": "9558", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "7bedac4c-5681-4897-a2ef-e9153cb19ba0", "name": "ge-dimmer-assoc", "label": "Guest Light", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "fabca29a-3fea-4c02-848d-b5382ec44797", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2023-12-20T14:06:58.131Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "2F", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "NONFUNCTIONAL", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "91172212-e9ff-4ca6-9626-e7af0361c9ad", "name": "Light", "label": "Kitchen Basin Light", "manufacturerName": "SmartThingsCommunity", "presentationId": "bf73a4ce-1c3c-3e85-a589-f25ec6e44096", "deviceManufacturerCode": "TCPi", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "b277a3c0-b8fe-44de-9133-c1108747810c", "components": [ { "id": "main", "label": "Kitchen Basin Light", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2021-06-09T15:30:23.655Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "a2405660-c839-3769-a773-497dbc5d96c9" }, "zigbee": { "eui": "00158D0000579BC3", "networkId": "A80B", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "18c47ea4-f08a-4a70-9e95-23fd23182cc2", "name": "c2c-arlo-wired-video-doorbell-battery-no-switch", "label": "Front Doorbell", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_doorbell_battery", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "e73dcd00-6953-431d-ae79-73fd2f2c528e", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "refresh", "version": 1 }, { "id": "button", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "alarm", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-29T17:58:33.467Z", "profile": { "id": "ed1e8a73-26a9-488c-9d84-a7f9ed78c927" }, "viper": { "manufacturerName": "Arlo", "modelName": "AVD1001A", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "a9d42ef0-f972-44b0-86bc-efd6569a1aef", "name": "GE Dimmer Switch", "label": "Formal Living Room", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "5cbd562e-44e4-4fb4-8639-5ad986ee92ee", "components": [ { "id": "main", "label": "Formal Living Room", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2022-03-19T21:00:45.985Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "22", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "829da938-6e92-4a93-8923-7c67f9663c03", "name": "Outlet", "label": "Water Boiler", "manufacturerName": "SmartThingsCommunity", "presentationId": "ac6f4fa6-882a-3d87-a6a3-87b5098e94f2", "deviceManufacturerCode": "CentraLite", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Water Boiler", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "powerMeter", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2017-01-04T23:45:02Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "e9544f5e-2463-3304-914c-ce2d7a0f72d5" }, "zigbee": { "eui": "000D6F00055B6F62", "networkId": "CF2F", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "f3c18803-cbec-48e3-8f15-3c31f302d68b", "name": "GE In-Wall Smart Dimmer", "label": "TV Room", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "TV Room", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2020-03-04T13:34:59Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "11", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "0781c9d0-92cb-4c7b-bb5b-2f2dbe0c41f3", "name": "TR\u00c5DFRI bulb E26 WS opal 980lm", "label": "Guest Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "959166b6-b255-3c21-8929-d8f0f3dfd6b6", "deviceManufacturerCode": "IKEA of Sweden", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "fabca29a-3fea-4c02-848d-b5382ec44797", "components": [ { "id": "main", "label": "Guest Lamp", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "colorTemperature", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 }, { "id": "synthetic.lightingEffectCircadian", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" }, { "name": "Light", "categoryType": "user" } ] } ], "createTime": "2018-09-27T11:47:10Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "49f4e50c-41cf-3bbf-a02c-9288829a17f7" }, "zigbee": { "eui": "000B57FFFE9A3238", "networkId": "3C07", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "16fc526e-dd7d-49a1-bac6-220f664f92ca", "name": "iPhone", "label": "iPhone", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-Mobile_Presence", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "presenceSensor", "version": 1 } ], "categories": [ { "name": "MobilePresence", "categoryType": "manufacturer" } ] } ], "createTime": "2024-12-09T18:20:32.715Z", "parentDeviceId": "6b61e197-d25a-49e5-b812-4b2501f031d9", "profile": { "id": "06dcf54d-ee4a-37a2-8240-42682d14a620" }, "type": "MOBILE", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "name": "SmartThings v2 Hub", "label": "Home Hub", "manufacturerName": "SmartThingsCommunity", "presentationId": "63f1469e-dc4a-3689-8cc5-69e293c1eb21", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "bridge", "version": 1 } ], "categories": [ { "name": "Hub", "categoryType": "manufacturer" } ] } ], "createTime": "2016-11-13T18:18:07Z", "childDevices": [ { "deviceId": "0781c9d0-92cb-4c7b-bb5b-2f2dbe0c41f3", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "08ee0358-9f40-4afa-b5a0-3a6aba18c267", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "09076422-62cc-4b2d-8beb-b53bc451c704", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "0b5577db-5074-4b70-a2c5-efec286d264d", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "115236ea-59e5-4cd4-bade-d67c409967bc", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "1691801c-ae59-438b-89dc-f2c761fe937d", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "1a987293-0962-4447-99d4-aa82655ffb55", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "2533fdd0-e064-4fa2-b77b-1e17260b58d7", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "265e653b-3c0b-4fa6-8e2a-f6a69c7040f0", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "277e0a96-c8ec-41aa-b4cf-0bac57dc1cee", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "2d9a892b-1c93-45a5-84cb-0e81889498c6", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "374ba6fa-5a08-4ea2-969c-1fa43d86e21f", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "37c0cdda-9158-41ad-9635-4ca32df9fe5b", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "3f82e13c-bd39-4043-bb54-7432a4e47113", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "4339f999-1ad2-46fb-9103-cb628b30a022", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "4a59f635-9f0a-4a6c-a2f0-ffb7ef182a7c", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "4c3469c9-3556-4f19-a2e1-1c0a598341dc", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "4fddedf0-2662-476e-b1fd-aceaec17ad3a", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "550a1c72-65a0-4d55-b97b-75168e055398", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "630cf009-eb3b-409e-a77a-9b298540532f", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "6356b240-c7d8-403c-883e-ae438d432abe", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "68e786a6-7f61-4c3a-9e13-70b803cf782b", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "6a2e5058-36f3-4668-aa43-49a66f8df93d", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "6b5535c7-c039-42ee-9970-8af86c6b0775", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "6c1b7cfa-7429-4f35-9d02-ab1dfd2f1297", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "6ca56087-481f-4e93-9727-fb91049fe396", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "6e3e44b3-d84a-4efc-a97b-b5e0dae28ddc", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "6f4d2e72-7af4-4c96-97ab-d6b6a0d6bc4b", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "7111243f-39d6-4ed0-a277-f040e40a806d", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "7b9d924a-de0c-44f9-ac5c-f15869c59411", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "7bedac4c-5681-4897-a2ef-e9153cb19ba0", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "7d246592-93db-4d72-a10d-5a51793ece8c", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "803cb0d9-addd-4c2d-aaef-d4e20bf88228", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "829da938-6e92-4a93-8923-7c67f9663c03", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "84f1eaf0-592e-459a-a2b3-4fc43e004dae", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "8eacf25f-aa33-4d9e-ba90-0e4ac3ceb8e0", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "8f873071-a9aa-4580-a736-8f5f696e044a", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "91172212-e9ff-4ca6-9626-e7af0361c9ad", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "92138ee5-d3bf-4348-98e8-445dedc319cb", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "971b05df-6ed3-446e-b54f-5092eac01921", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "9a9cb299-5279-4dea-9249-b5c153d22ba1", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "9b479ba0-81e1-4877-87c5-c301a87cbdab", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "9dd17f8f-cf5e-4647-a11c-d8f24cdf9b2a", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "a1e6525c-1e24-403c-b18c-eecb65e22ccf", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "a9d42ef0-f972-44b0-86bc-efd6569a1aef", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "a9f587c5-5d8b-4273-8907-e7f609af5158", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "aaedaf28-2ae0-4c1d-b57e-87f6a420c298", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "b3a84295-ac3c-4fb1-95e4-4a4bbb1b0bce", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "b90c085d-7d1f-4abc-a66d-d5ce3f96be02", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "bafc5147-2e48-498b-97ff-34c93fae7814", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "c1107a0c-fa71-43c5-8ff9-a128ea6c4f20", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "c5209cd2-fcb5-46be-b685-5b05f22dcb2c", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "c5699ff6-af09-4922-901d-bb81b8345bc3", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "cfcd9a21-a943-4519-9972-3c7890cd25b1", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "d0268a69-abfb-4c92-a646-61cec2e510ad", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "d20891e5-59b4-46ce-9184-b7fdf0c7ae4c", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "d48848b9-25b0-4423-8fcf-96a022ac571e", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "ea2aa187-40fd-4140-9742-453e691c4469", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "f27d0b27-24fd-4d8c-b003-d3d7aaba1e70", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "f3c18803-cbec-48e3-8f15-3c31f302d68b", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "f3e184b2-631a-47b2-b583-32ac2fec9e3c", "profile": {}, "allowed": null, "executionContext": "CLOUD" }, { "deviceId": "f4e0517a-d94f-4bd6-a464-222c8c413a66", "profile": {}, "allowed": null, "executionContext": "CLOUD" } ], "profile": { "id": "d77ba2f6-c377-36f5-bb68-15db9d1aa0e1" }, "hub": { "hubEui": "D052A872947A0001", "firmwareVersion": "000.055.00005", "hubDrivers": [ { "driverVersion": "2025-01-19T15:05:25.835006968", "driverId": "00425c55-0932-416f-a1ba-78fae98ab614", "channelId": "c8bb99e1-04a3-426b-9d94-2d260134d624" }, { "driverVersion": "2024-12-17T18:00:36.611958104", "driverId": "01976eca-e7ff-4d1b-91db-9c980ce668d7", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-12-17T18:00:48.572636846", "driverId": "0f206d13-508e-4342-9cbb-937e02489141", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-12-17T18:00:07.735400483", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "channelId": "b1373fea-da9b-434b-b674-6694ce5d08cc" }, { "driverVersion": "2024-11-04T22:39:17.976631549", "driverId": "3fb97b6c-f481-441b-a14e-f270d738764e", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:51.437710641", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:35.032104982", "driverId": "4eb5b19a-7bbc-452f-859b-c6d7d857b2da", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-08-08T18:58:32.479650566", "driverId": "4fb7ec02-2697-4d73-977d-2b1c65c4484f", "channelId": "b1373fea-da9b-434b-b674-6694ce5d08cc" }, { "driverVersion": "2024-12-17T18:00:47.743217473", "driverId": "572a2641-2af8-47e4-bfe5-ad83748fd7a1", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2023-07-12T03:33:26.23424277", "driverId": "5ad2cc83-5503-4040-a98b-b0fc9931b9fe", "channelId": "479886db-f6f5-41dd-979c-9c5f9366f070" }, { "driverVersion": "2024-09-17T20:08:25.82515546", "driverId": "5db3363a-d954-412f-93e0-2ee40572658b", "channelId": "2423da55-101c-4b21-af58-0903656b85ca" }, { "driverVersion": "2024-12-08T10:10:03.832334965", "driverId": "6342be70-6da0-4535-afc1-ff6378d6c650", "channelId": "c8bb99e1-04a3-426b-9d94-2d260134d624" }, { "driverVersion": "2022-02-01T21:35:33.624882", "driverId": "6a90f7a0-e275-4366-bbf2-2e8a502efc5d", "channelId": "479886db-f6f5-41dd-979c-9c5f9366f070" }, { "driverVersion": "2024-09-28T21:56:32.002090649", "driverId": "7333473f-722c-465d-9e5d-f3a6ca760489", "channelId": "f8900c5e-d591-4979-9826-75a867e9e0bd" }, { "driverVersion": "2025-02-03T22:38:47.582952919", "driverId": "7beb8bc2-8dfa-45c2-8fdb-7373d4597b12", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-11-15T16:18:24.739596514", "driverId": "7ca45ba9-7cfe-4547-b752-fe41a0efb848", "channelId": "c8bb99e1-04a3-426b-9d94-2d260134d624" }, { "driverVersion": "2024-02-06T21:13:39.427465986", "driverId": "8bf71a5d-677b-4391-93c2-e76471f3d7eb", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-21T19:06:49.949052991", "driverId": "9050ac53-358c-47a1-a927-9a70f5f28cee", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T19:30:29.754256377", "driverId": "92f39ab3-7b2f-47ee-94a7-ba47c4ee8a47", "channelId": "b1373fea-da9b-434b-b674-6694ce5d08cc" }, { "driverVersion": "2024-12-17T18:00:21.846431345", "driverId": "9870bccd-2b3d-4edf-8940-532fcb11e946", "channelId": "b1373fea-da9b-434b-b674-6694ce5d08cc" }, { "driverVersion": "2024-12-09T21:10:00.424854506", "driverId": "a6994e70-93de-4a76-8b5d-42971a3427c9", "channelId": "c8bb99e1-04a3-426b-9d94-2d260134d624" }, { "driverVersion": "2022-01-03T08:19:45.80869", "driverId": "a89371c4-8765-404b-9de9-e9882cc48bd8", "channelId": "14bcc056-f80d-416b-9445-467b0db325e3" }, { "driverVersion": "2025-01-11T20:03:43.842469565", "driverId": "b1504ded-efa4-4ef0-acd5-ae24e7a92e6e", "channelId": "c8bb99e1-04a3-426b-9d94-2d260134d624" }, { "driverVersion": "2024-12-08T09:45:01.460678797", "driverId": "bb1b3fd4-dcba-4d55-8d85-58ed7f1979fb", "channelId": "c8bb99e1-04a3-426b-9d94-2d260134d624" }, { "driverVersion": "2024-11-04T22:39:18.253781754", "driverId": "c21a6c77-872c-474e-be5b-5f6f11a240ef", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-01-30T21:36:15.547412569", "driverId": "c856a3fd-69ee-4478-a224-d7279b6d978f", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2025-01-13T18:55:57.509807915", "driverId": "cd898d81-6c27-4d27-a529-dfadc8caae5a", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-12-17T18:00:48.892833142", "driverId": "ce930ffd-8155-4dca-aaa9-6c4158fc4278", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T19:30:41.208767469", "driverId": "d620900d-f7bc-4ab5-a171-6dd159872f7d", "channelId": "b1373fea-da9b-434b-b674-6694ce5d08cc" }, { "driverVersion": "2024-10-10T19:30:33.46670456", "driverId": "d6b43c85-1561-446b-9e3e-15e2ad81a952", "channelId": "b1373fea-da9b-434b-b674-6694ce5d08cc" }, { "driverVersion": "2023-07-11T18:43:49.169154271", "driverId": "d9c3f8b8-c3c3-4b77-9ddd-01d08102c84b", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2024-10-10T18:17:54.195543653", "driverId": "dbe192cb-f6a1-4369-a843-d1c42e5c91ba", "channelId": "15ea8adc-8be7-4ea6-8b51-4155f56dc6cf" }, { "driverVersion": "2022-10-02T20:15:49.147522379", "driverId": "e120daf2-8000-4a9d-93fa-653214ce70d1", "channelId": "479886db-f6f5-41dd-979c-9c5f9366f070" }, { "driverVersion": "2023-08-15T20:08:28.115440571", "driverId": "e7947a05-947d-4bb5-92c4-2aafaff6d69c", "channelId": "b1373fea-da9b-434b-b674-6694ce5d08cc" }, { "driverVersion": "2025-02-05T18:49:13.3338494", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "channelId": "b1373fea-da9b-434b-b674-6694ce5d08cc" } ], "hubData": { "zwaveStaticDsk": "13740-14339-50623-49310-29679-58685-46457-16097", "zwaveS2": true, "hardwareType": "V2_HUB", "hardwareId": "000D", "zigbeeFirmware": "5.7.10", "zigbee3": true, "zigbeeOta": "ENABLED_WITH_LIGHTS", "otaEnable": "true", "zigbeeUnsecureRejoin": true, "zigbeeRequiresExternalHardware": false, "threadRequiresExternalHardware": false, "failoverAvailability": "Unsupported", "primarySupportAvailability": "Unsupported", "secondarySupportAvailability": "Unsupported", "zigbeeAvailability": "Available", "zwaveAvailability": "Available", "lanAvailability": "Available", "matterAvailability": "Available", "localVirtualDeviceAvailability": "Available", "childDeviceAvailability": "Unsupported", "edgeDriversAvailability": "Available", "hubReplaceAvailability": "Available", "hubLocalApiAvailability": "Available", "zigbeeManualFirmwareUpdateSupported": true, "matterRendezvousHedgeSupported": true, "matterSoftwareComponentVersion": "1.3-0", "matterDeviceDiagnosticsAvailability": "Available", "zigbeeDeviceDiagnosticsAvailability": "Available", "hedgeTlsCertificate": "-----BEGIN CERTIFICATE-----MIIDyzCCArOgAwIBAgIJALDummyValue1234567890FakeCertMAsGA1UdDwQEAwIFoDANBgkqhkiG9w0BAQsFAAOCAQEApnDummyCertDataGoesHere7DSYdummyvalueshouldlookrealbutbeuseless1234567890abcdefXyxzDummyValuePlaceholderJustForSharing-----END CERTIFICATE-----\n", "zigbeeChannel": "14", "zigbeePanId": "0EE7", "zigbeeEui": "D052A872947A0001", "zigbeeNodeID": "0000", "zwaveNodeID": "01", "zwaveHomeID": "CF0F089E", "zwaveSucID": "01", "zwaveVersion": "6.10", "zwaveRegion": "US", "macAddress": "D0:52:A8:72:91:02", "localIP": "192.168.168.189", "zigbeeRadioFunctional": true, "zwaveRadioFunctional": true, "zigbeeRadioEnabled": true, "zwaveRadioEnabled": true, "zigbeeRadioDetected": true, "zwaveRadioDetected": true } }, "type": "HUB", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "374ba6fa-5a08-4ea2-969c-1fa43d86e21f", "name": "Multipurpose Sensor", "label": "Mail Box", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "SmartThings", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "Mail Box", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "MultiFunctionalSensor", "categoryType": "user" } ] } ], "createTime": "2022-08-16T21:08:09.983Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "24FD5B00010A3A95", "networkId": "E71B", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "165c0b42-64b9-4679-9dfb-0c5eff729fb2", "name": "c2c-arlo-pro-3-switch", "label": "Driveway Floodlight", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_pro_3", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "e73dcd00-6953-431d-ae79-73fd2f2c528e", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "alarm", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-29T17:58:33.465Z", "profile": { "id": "89aefc3a-e210-4678-944c-638d47d296f6" }, "viper": { "manufacturerName": "Arlo", "modelName": "FB1001B", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "f45bd97b-6edd-41e5-b65d-9dea2eeaff0b", "name": "c2c-switch", "label": "Sump Pump", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c-switch", "deviceManufacturerCode": "TP-LINK", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "healthCheck", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2024-08-06T13:25:58.618Z", "profile": { "id": "7eaca7e4-dd01-4711-8e20-1a869bb44b1b" }, "viper": { "uniqueIdentifier": "8006908448F8F44BF44488106F5AB2981E49FAC4", "manufacturerName": "TP-LINK", "modelName": "KP115(US)", "swVersion": "1.0.21 Build 231129 Rel.171238", "hwVersion": "1.0", "endpointAppId": "viper_48564b90-500e-11e9-870f-f106e22b685b" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "a1e6525c-1e24-403c-b18c-eecb65e22ccf", "name": "Multipurpose Sensor", "label": "Basement Exit Door", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "SmartThings", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Basement Exit Door", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "Door", "categoryType": "user" } ] } ], "createTime": "2022-11-13T18:52:21.014Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "24FD5B00010ACFEE", "networkId": "D4F2", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "115236ea-59e5-4cd4-bade-d67c409967bc", "name": "two-buttons-battery", "label": "IKEA Remote Control", "manufacturerName": "SmartThingsCommunity", "presentationId": "0951d6c9-05e6-33c3-8f45-96e9a1255209", "deviceManufacturerCode": "IKEA of Sweden", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "f7f39cf6-ff3a-4bcb-8d1b-00a3324c016d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "button", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "RemoteController", "categoryType": "manufacturer" } ] }, { "id": "button1", "label": "button1", "capabilities": [ { "id": "button", "version": 1 } ], "categories": [ { "name": "RemoteController", "categoryType": "manufacturer" } ] }, { "id": "button2", "label": "button2", "capabilities": [ { "id": "button", "version": 1 } ], "categories": [ { "name": "RemoteController", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-13T14:50:12.259Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "d6b4551b-c4b8-3d2a-8632-b79cc0150e29" }, "zigbee": { "eui": "90395EFFFEEBD886", "networkId": "FF91", "driverId": "3fb97b6c-f481-441b-a14e-f270d738764e", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "d20891e5-59b4-46ce-9184-b7fdf0c7ae4c", "name": "main-virtual-device", "label": "MAIN Virtual Devices", "manufacturerName": "SmartThingsCommunity", "presentationId": "3278e7df-73db-3a12-99d0-ab2d2c53e164", "deviceManufacturerCode": "MColmenarejo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "972f7f0e-9bd2-4387-8df1-06fddc80269d", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "legendabsolute60149.createDevice2", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "SmartPlug", "categoryType": "manufacturer" } ] } ], "createTime": "2023-06-03T16:46:55.280Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "10f99999-3087-35f2-8ab9-b2c04ba8636e" }, "lan": { "networkId": "VirtualSwitchBoard-1685810814", "driverId": "6342be70-6da0-4535-afc1-ff6378d6c650", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "LAN", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "f3e184b2-631a-47b2-b583-32ac2fec9e3c", "name": "on-off-level", "label": "Sump Pump Room Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "bf73a4ce-1c3c-3e85-a589-f25ec6e44096", "deviceManufacturerCode": "sengled", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "synthetic.lightingEffectFade", "version": 1 } ], "categories": [ { "name": "Light", "categoryType": "manufacturer" } ] } ], "createTime": "2022-11-10T11:53:49.746Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "a2405660-c839-3769-a773-497dbc5d96c9" }, "zigbee": { "eui": "B0CE1814031167A5", "networkId": "B37F", "driverId": "f2e891c6-00cc-446c-9192-8ebda63d9898", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "f27d0b27-24fd-4d8c-b003-d3d7aaba1e70", "name": "GE Dimmer Switch", "label": "Boys Lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "fabca29a-3fea-4c02-848d-b5382ec44797", "components": [ { "id": "main", "label": "Boys Lights", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2021-06-13T18:46:42.069Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "17", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "aaedaf28-2ae0-4c1d-b57e-87f6a420c298", "name": "GE Dimmer Switch", "label": "Basement Exit Light", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "e73dcd00-6953-431d-ae79-73fd2f2c528e", "components": [ { "id": "main", "label": "Basement Exit Light", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2020-05-25T18:18:01Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "14", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "NONFUNCTIONAL", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "976fc7c3-1f59-444d-bf4b-c215cafc09c2", "name": "c2c-arlo-go-switch", "label": "Basement Exit Cam", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_go", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "e73dcd00-6953-431d-ae79-73fd2f2c528e", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-29T17:58:33.468Z", "profile": { "id": "c6adb5c6-6fc1-49bc-9580-88ff9c6d9e10" }, "viper": { "manufacturerName": "Arlo", "modelName": "VMC4030P", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "6743dbb9-3825-48d8-8db7-db4602db7dba", "name": "c2c-arlo-go-switch", "label": "Driveway Cam", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_go", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "3a1f7e7c-4e59-4c29-adb0-0813be691efd", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2024-08-29T17:58:33.512Z", "profile": { "id": "c6adb5c6-6fc1-49bc-9580-88ff9c6d9e10" }, "viper": { "manufacturerName": "Arlo", "modelName": "VMC4030P", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "6e3e44b3-d84a-4efc-a97b-b5e0dae28ddc", "name": "switch-level", "label": "Salim\u2019s Lamp", "manufacturerName": "SmartThingsCommunity", "presentationId": "070e9c6f-fbd1-3ef2-a411-ef7e7c41ff03", "deviceManufacturerCode": "TCPi", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "19cec9f9-9947-4568-a98e-ab09a44d2b56", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "legendabsolute60149.levelSteps", "version": 1 }, { "id": "legendabsolute60149.randomOnOff1", "version": 1 }, { "id": "legendabsolute60149.randomNextStep", "version": 1 }, { "id": "legendabsolute60149.progressiveOn1", "version": 1 }, { "id": "legendabsolute60149.progressiveOff1", "version": 1 }, { "id": "legendabsolute60149.forcedOnLevel", "version": 1 }, { "id": "legendabsolute60149.effectsSetCommand", "version": 1 }, { "id": "legendabsolute60149.mirrorGroupFunction", "version": 1 }, { "id": "legendabsolute60149.getGroups", "version": 1 }, { "id": "legendabsolute60149.signalMetrics", "version": 1 }, { "id": "legendabsolute60149.driverVersion1", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "SmartPlug", "categoryType": "manufacturer" }, { "name": "SmartPlug", "categoryType": "user" } ] } ], "createTime": "2023-10-02T01:22:57.194Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "c9999860-f20f-36e6-a2f1-cb9d87df5c36" }, "zigbee": { "eui": "00158D0000948BDE", "networkId": "E625", "driverId": "bb1b3fd4-dcba-4d55-8d85-58ed7f1979fb", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "6356b240-c7d8-403c-883e-ae438d432abe", "name": "multi-sensor", "label": "Basement Door", "manufacturerName": "SmartThingsCommunity", "presentationId": "c385e2bc-acb8-317b-be2a-6efd1f879720", "deviceManufacturerCode": "SmartThings", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "threeAxis", "version": 1 }, { "id": "accelerationSensor", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "firmwareUpdate", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "MultiFunctionalSensor", "categoryType": "manufacturer" }, { "name": "MultiFunctionalSensor", "categoryType": "user" } ] } ], "createTime": "2023-07-27T20:57:08.857Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "4471213f-121b-38fd-b022-51df37ac1d4c" }, "zigbee": { "eui": "24FD5B00010AD302", "networkId": "2143", "driverId": "408981c2-91d4-4dfc-bbfb-84ca0205d993", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "10e06a70-ee7d-4832-85e9-a0a06a7a05bd", "name": "c2c-arlo-pro-3-switch", "label": "2nd Floor Hallway", "manufacturerName": "SmartThings", "presentationId": "SmartThings-smartthings-c2c_arlo_pro_3", "deviceManufacturerCode": "Arlo", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "68b45114-9af8-4906-8636-b973a6faa271", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "soundSensor", "version": 1 }, { "id": "healthCheck", "version": 1 }, { "id": "videoStream", "version": 1 }, { "id": "motionSensor", "version": 1 }, { "id": "videoCapture", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "alarm", "version": 1 } ], "categories": [ { "name": "Camera", "categoryType": "manufacturer" } ] } ], "createTime": "2024-11-21T21:55:59.340Z", "profile": { "id": "89aefc3a-e210-4678-944c-638d47d296f6" }, "viper": { "manufacturerName": "Arlo", "modelName": "VMC4041PB", "endpointAppId": "viper_555d6f40-b65a-11ea-8fe0-77cb99571462" }, "type": "VIPER", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "84f1eaf0-592e-459a-a2b3-4fc43e004dae", "name": "GE Dimmer Switch", "label": "Front Door Lights", "manufacturerName": "SmartThingsCommunity", "presentationId": "75ba2386-cdc0-31b8-af71-8127fc08dc91", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "e73dcd00-6953-431d-ae79-73fd2f2c528e", "components": [ { "id": "main", "label": "Front Door Lights", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "button", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2021-06-25T00:15:23.775Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "6dbb0adb-f6b2-3c2f-ac56-05a8e6835ce4" }, "zwave": { "networkId": "1A", "driverId": "5ad2cc83-5503-4040-a98b-b0fc9931b9fe", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "971b05df-6ed3-446e-b54f-5092eac01921", "name": "GE In-Wall Smart Dimmer", "label": "Toy Room", "manufacturerName": "SmartThingsCommunity", "presentationId": "75ba2386-cdc0-31b8-af71-8127fc08dc91", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "ownerId": "d47f2b19-3a6e-4c8d-bf21-9e8a7c5d134e", "roomId": "94be4a1e-382a-4b7f-a5ef-fdb1a7d9f9e6", "components": [ { "id": "main", "label": "Toy Room", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "button", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2020-03-07T15:46:01Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "6dbb0adb-f6b2-3c2f-ac56-05a8e6835ce4" }, "zwave": { "networkId": "12", "driverId": "5ad2cc83-5503-4040-a98b-b0fc9931b9fe", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "PROVISIONED", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "630cf009-eb3b-409e-a77a-9b298540532f", "name": "Motion Sensor", "label": "Motion Sensor", "manufacturerName": "SmartThingsCommunity", "presentationId": "60ace5d4-2c0c-318e-b6d8-e572cb858ead", "deviceManufacturerCode": "Bosch", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "68b45114-9af8-4906-8636-b973a6faa271", "components": [ { "id": "main", "label": "Motion Sensor", "capabilities": [ { "id": "motionSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "battery", "version": 1 }, { "id": "legendabsolute60149.signalMetrics", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "firmwareUpdate", "version": 1 } ], "categories": [ { "name": "MotionSensor", "categoryType": "manufacturer" } ] } ], "createTime": "2016-11-25T00:23:51Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "e57b78dc-ae43-3144-87cb-374b64542aef" }, "zigbee": { "eui": "00155F00782D1961", "networkId": "F4CA", "driverId": "00425c55-0932-416f-a1ba-78fae98ab614", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "provisioningState": "PROVISIONED" }, "type": "ZIGBEE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" }, { "deviceId": "4c3469c9-3556-4f19-a2e1-1c0a598341dc", "name": "switch-level-indicator", "label": "Girls Fan", "manufacturerName": "SmartThingsCommunity", "presentationId": "31cf01ee-cb49-3d95-ac2d-2afab47f25c7", "deviceManufacturerCode": "0063-4944-3130", "locationId": "c4d3b2a1-09f8-765e-4d3c-2b1a09f8e7d6 ", "roomId": "fabca29a-3fea-4c02-848d-b5382ec44797", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "refresh", "version": 1 } ], "categories": [ { "name": "Switch", "categoryType": "manufacturer" }, { "name": "Switch", "categoryType": "user" } ] } ], "createTime": "2023-05-06T22:37:08.724Z", "parentDeviceId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "profile": { "id": "ec5458c2-c011-3479-a59b-82b42820c2f7" }, "zwave": { "networkId": "26", "driverId": "2cbf55e3-dbc2-48a2-8be5-4c3ce756b692", "executingLocally": true, "hubId": "074fa784-8be8-4c70-8e22-6f5ed6f81b7e", "networkSecurityLevel": "ZWAVE_LEGACY_NON_SECURE", "provisioningState": "NONFUNCTIONAL", "manufacturerId": 99, "productType": 18756, "productId": 12592 }, "type": "ZWAVE", "restrictionTier": 0, "allowed": [], "executionContext": "LOCAL" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_9.json000066400000000000000000001026731511701743400254530ustar00rootroot00000000000000{ "items": [ { "deviceId": "29014d68-d9a8-20da-0b6f-053112978980", "name": "Samsung-Room-Air-Conditioner", "label": "Climatiseur Quentin", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-000003", "deviceManufacturerCode": "Samsung Electronics", "locationId": "d507e237-896e-4352-8f0f-0664c91234bd", "ownerId": "097e4bf4-dd1d-f48d-21a2-903cc410a9cc", "roomId": "94f950fc-6d38-4092-808f-5c4cb69cfc3a", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.electricHepaFilter", "version": 1 }, { "id": "custom.doNotDisturbMode", "version": 1 }, { "id": "custom.periodicSensing", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.ocfResourceVersion", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dustFilterAlarm", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.individualControlLock", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-10T17:55:06.398Z", "profile": { "id": "cedae6e3-1ec9-37e3-9aba-f717518156b8" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "Samsung-Room-Air-Conditioner", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP2X_RAC_20K|10256941|60010519001411014600003200800000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "TP2X_RAC_20K_11240702", "vendorId": "DA-AC-RAC-000003", "vendorResourceClientServerVersion": "MediaTek Release 2.240412.1", "lastSignupTime": "2025-01-10T17:54:58.789830031Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "1dca2ebe-b3d8-a476-77b9-bb60612c5d26", "name": "Samsung-Room-Air-Conditioner", "label": "Climatiseur Parents", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-000003", "deviceManufacturerCode": "Samsung Electronics", "locationId": "d507e237-896e-4352-8f0f-0664c91234bd", "ownerId": "097e4bf4-dd1d-f48d-21a2-903cc410a9cc", "roomId": "278e20e9-7dc1-4a2b-8d07-a89d899c29a3", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.electricHepaFilter", "version": 1 }, { "id": "custom.doNotDisturbMode", "version": 1 }, { "id": "custom.periodicSensing", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.ocfResourceVersion", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dustFilterAlarm", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.individualControlLock", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-10T17:59:01.388Z", "profile": { "id": "cedae6e3-1ec9-37e3-9aba-f717518156b8" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "Samsung-Room-Air-Conditioner", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP2X_RAC_20K|10256941|60010519001411014600003200800000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "TP2X_RAC_20K_11240702", "vendorId": "DA-AC-RAC-000003", "vendorResourceClientServerVersion": "MediaTek Release 2.240412.1", "lastSignupTime": "2025-01-10T17:58:57.743228490Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "8c1b8eff-e8c7-dcf8-58f8-da81669b92eb", "name": "TV", "label": "TV", "manufacturerName": "Samsung Electronics", "presentationId": "VD-STV-2023", "deviceManufacturerCode": "Samsung Electronics", "locationId": "d507e237-896e-4352-8f0f-0664c91234bd", "ownerId": "097e4bf4-dd1d-f48d-21a2-903cc410a9cc", "roomId": "9438790a-b4be-47dd-91ed-aef6dffc9f85", "deviceTypeName": "Samsung OCF TV", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "audioMute", "version": 1 }, { "id": "tvChannel", "version": 1 }, { "id": "mediaInputSource", "version": 1 }, { "id": "mediaPlayback", "version": 1 }, { "id": "mediaTrackControl", "version": 1 }, { "id": "custom.error", "version": 1 }, { "id": "custom.picturemode", "version": 1 }, { "id": "custom.soundmode", "version": 1 }, { "id": "custom.accessibility", "version": 1 }, { "id": "custom.launchapp", "version": 1 }, { "id": "custom.recording", "version": 1 }, { "id": "custom.tvsearch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungvd.remoteControl", "version": 1 }, { "id": "samsungvd.ambient", "version": 1 }, { "id": "samsungvd.ambientContent", "version": 1 }, { "id": "samsungvd.mediaInputSource", "version": 1 }, { "id": "samsungvd.supportsFeatures", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "samsungvd.firmwareVersion", "version": 1 }, { "id": "samsungvd.supportsPowerOnByOcf", "version": 1 }, { "id": "samsungvd.deviceCategory", "version": 1 }, { "id": "samsungvd.thingStatus", "version": 1 }, { "id": "sec.deviceConnectionState", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "samsungim.fixedFindNode", "version": 1 }, { "id": "samsungvd.lightControl", "version": 1 } ], "categories": [ { "name": "Television", "categoryType": "manufacturer" } ] } ], "createTime": "2024-09-10T10:22:40.724Z", "profile": { "id": "e54fc67b-f6af-3b3f-a430-f8fe95723b0f" }, "ocf": { "ocfDeviceType": "oic.d.tv", "name": "TV", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "TQ65S90CATXXC", "platformVersion": "8.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "T-PTMCDEUC-0080-2020.2|ST_ENERGY", "vendorId": "VD-STV-2023", "vendorResourceClientServerVersion": "4.0.26", "lastSignupTime": "2024-09-10T10:22:36.130198Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "79542474-e6dd-597d-f09a-8dd0ad380f89", "name": "Samsung-Room-Air-Conditioner", "label": "Climatiseur Salon", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-000003", "deviceManufacturerCode": "Samsung Electronics", "locationId": "d507e237-896e-4352-8f0f-0664c91234bd", "ownerId": "097e4bf4-dd1d-f48d-21a2-903cc410a9cc", "roomId": "9438790a-b4be-47dd-91ed-aef6dffc9f85", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.electricHepaFilter", "version": 1 }, { "id": "custom.doNotDisturbMode", "version": 1 }, { "id": "custom.periodicSensing", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.ocfResourceVersion", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dustFilterAlarm", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.individualControlLock", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-10T17:41:30.341Z", "profile": { "id": "cedae6e3-1ec9-37e3-9aba-f717518156b8" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "Samsung-Room-Air-Conditioner", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP2X_RAC_20K|10217841|60010523001411014200003000000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "TP2X_RAC_20K_11240702", "vendorId": "DA-AC-RAC-000003", "vendorResourceClientServerVersion": "MediaTek Release 2.240412.1", "lastSignupTime": "2025-01-10T17:41:25.828330803Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "9b2d0391-ffd6-1ad6-b9e1-247414819dc8", "name": "Samsung-Room-Air-Conditioner", "label": "Climatiseur Lisa", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-000003", "deviceManufacturerCode": "Samsung Electronics", "locationId": "d507e237-896e-4352-8f0f-0664c91234bd", "ownerId": "097e4bf4-dd1d-f48d-21a2-903cc410a9cc", "roomId": "bf637e8b-0744-4144-8061-fa7a0e17b0f7", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.electricHepaFilter", "version": 1 }, { "id": "custom.doNotDisturbMode", "version": 1 }, { "id": "custom.periodicSensing", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.ocfResourceVersion", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dustFilterAlarm", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.individualControlLock", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-10T18:05:40.172Z", "profile": { "id": "cedae6e3-1ec9-37e3-9aba-f717518156b8" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "Samsung-Room-Air-Conditioner", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP2X_RAC_20K|10256941|60010519001411014600003200800000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "TP2X_RAC_20K_11240702", "vendorId": "DA-AC-RAC-000003", "vendorResourceClientServerVersion": "MediaTek Release 2.240412.1", "lastSignupTime": "2025-01-10T18:05:33.189051506Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" }, { "deviceId": "bcfb285e-5a5e-f5c6-bfe2-e6af42227df9", "name": "Samsung-Room-Air-Conditioner", "label": "Climatiseur Bureau", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-RAC-000003", "deviceManufacturerCode": "Samsung Electronics", "locationId": "d507e237-896e-4352-8f0f-0664c91234bd", "ownerId": "097e4bf4-dd1d-f48d-21a2-903cc410a9cc", "roomId": "7f402cb7-cc5f-4ea6-90be-427e9c2a8dd4", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "relativeHumidityMeasurement", "version": 1 }, { "id": "airQualitySensor", "version": 1 }, { "id": "odorSensor", "version": 1 }, { "id": "dustSensor", "version": 1 }, { "id": "veryFineDustSensor", "version": 1 }, { "id": "audioVolume", "version": 1 }, { "id": "remoteControlStatus", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "custom.spiMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.airConditionerTropicalNightMode", "version": 1 }, { "id": "custom.autoCleaningMode", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.veryFineDustFilter", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.electricHepaFilter", "version": 1 }, { "id": "custom.doNotDisturbMode", "version": 1 }, { "id": "custom.periodicSensing", "version": 1 }, { "id": "custom.airConditionerOdorController", "version": 1 }, { "id": "custom.ocfResourceVersion", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.dustFilterAlarm", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.individualControlLock", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2025-01-10T17:50:13.536Z", "profile": { "id": "cedae6e3-1ec9-37e3-9aba-f717518156b8" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "Samsung-Room-Air-Conditioner", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP2X_RAC_20K|10217841|60010519001411014200003000000000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 2.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "TP2X_RAC_20K_11240702", "vendorId": "DA-AC-RAC-000003", "vendorResourceClientServerVersion": "MediaTek Release 2.240412.1", "lastSignupTime": "2025-01-10T17:50:04.649099407Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_continued.json000066400000000000000000000730441511701743400272720ustar00rootroot00000000000000{ "items": [ { "deviceId": "d424e86b-15cf-79e2-48d5-480a6c0d18f9", "name": "[room a/c] Samsung", "label": "Rumsluftkonditionering", "manufacturerName": "Samsung Electronics", "presentationId": "DA-AC-THERAC-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", "deviceTypeName": "Samsung OCF Air Conditioner", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "ocf", "version": 1 }, { "id": "switch", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "airConditionerMode", "version": 1 }, { "id": "airConditionerFanMode", "version": 1 }, { "id": "fanOscillationMode", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.airConditionerOptionalMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "samsungce.alwaysOnSensing", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 }, { "id": "samsungce.welcomeCooling", "version": 1 } ], "categories": [ { "name": "AirConditioner", "categoryType": "manufacturer" } ] } ], "createTime": "2024-10-17T16:31:53.794Z", "profile": { "id": "81d37656-87e9-3f45-b649-5cfd382830b7" }, "ocf": { "ocfDeviceType": "oic.d.airconditioner", "name": "[room a/c] Samsung", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "ARA-WW-TP2-21-OT9700|10236341|60010523001511000600001200800000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 1.0 + IPv6", "hwVersion": "MediaTek", "firmwareVersion": "ARA-WW-TP2-21-OT9700_11210729", "vendorId": "DA-AC-THERAC-01011", "vendorResourceClientServerVersion": "MediaTek Release 2.210630.1", "lastSignupTime": "2024-10-17T16:31:50.161629012Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD", "relationships": [] }, { "deviceId": "a4b78a08-11e6-6d41-2abc-dcbfddcfea65", "name": "Samsung-Refrigerator", "label": "Kylsk\u00e5p", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.viewInside", "version": 1 }, { "id": "samsungce.fridgeWelcomeLighting", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" } ] }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "onedoor", "label": "onedoor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-03", "label": "icemaker-03", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-10", "label": "scale-10", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "samsungce.weightMeasurementCalibration", "version": 1 }, { "id": "samsungce.connectionState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-11", "label": "scale-11", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-02", "label": "pantry-02", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2024-12-01T06:45:53.319Z", "profile": { "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_REF_21K|00130443|00090026001610304100000021010000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", "vendorId": "DA-REF-NORMAL-01011", "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", "lastSignupTime": "2024-12-01T06:45:53.249899752Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD", "relationships": [] }, { "deviceId": "b851a083-4b2c-9e68-e344-0312024e9fa0", "name": "Samsung-Refrigerator", "label": "Freezer", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01011", "deviceManufacturerCode": "Samsung Electronics", "locationId": "f84d1ae8-bce8-48c5-9b49-3ac9dbe72d19", "ownerId": "83ed1d6b-2a05-c0b6-cfb1-2c60bb8a160a", "roomId": "14591410-f1b4-4e5a-af3f-2dd0424c580a", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "execute", "version": 1 }, { "id": "ocf", "version": 1 }, { "id": "powerConsumptionReport", "version": 1 }, { "id": "demandResponseLoadControl", "version": 1 }, { "id": "refresh", "version": 1 }, { "id": "refrigeration", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.deodorFilter", "version": 1 }, { "id": "custom.dustFilter", "version": 1 }, { "id": "custom.deviceReportStateConfiguration", "version": 1 }, { "id": "custom.energyType", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.disabledComponents", "version": 1 }, { "id": "custom.waterFilter", "version": 1 }, { "id": "samsungce.softwareUpdate", "version": 1 }, { "id": "samsungce.deviceIdentification", "version": 1 }, { "id": "samsungce.driverVersion", "version": 1 }, { "id": "samsungce.fridgeVacationMode", "version": 1 }, { "id": "samsungce.powerCool", "version": 1 }, { "id": "samsungce.powerFreeze", "version": 1 }, { "id": "samsungce.sabbathMode", "version": 1 }, { "id": "samsungce.selfCheck", "version": 1 }, { "id": "samsungce.viewInside", "version": 1 }, { "id": "samsungce.fridgeWelcomeLighting", "version": 1 }, { "id": "samsungce.quickControl", "version": 1 }, { "id": "sec.diagnosticsInformation", "version": 1 }, { "id": "sec.wifiConfiguration", "version": 1 } ], "categories": [ { "name": "Refrigerator", "categoryType": "manufacturer" } ] }, { "id": "freezer", "label": "freezer", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cooler", "label": "cooler", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "cvroom", "label": "cvroom", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "onedoor", "label": "onedoor", "capabilities": [ { "id": "contactSensor", "version": 1 }, { "id": "temperatureMeasurement", "version": 1 }, { "id": "thermostatCoolingSetpoint", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 }, { "id": "custom.fridgeMode", "version": 1 }, { "id": "custom.thermostatSetpointControl", "version": 1 }, { "id": "samsungce.temperatureSetting", "version": 1 }, { "id": "samsungce.freezerConvertMode", "version": 1 }, { "id": "samsungce.unavailableCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker", "label": "icemaker", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-02", "label": "icemaker-02", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "icemaker-03", "label": "icemaker-03", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-10", "label": "scale-10", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "samsungce.weightMeasurementCalibration", "version": 1 }, { "id": "samsungce.connectionState", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "scale-11", "label": "scale-11", "capabilities": [ { "id": "samsungce.weightMeasurement", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-01", "label": "pantry-01", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] }, { "id": "pantry-02", "label": "pantry-02", "capabilities": [ { "id": "samsungce.fridgePantryInfo", "version": 1 }, { "id": "samsungce.fridgePantryMode", "version": 1 }, { "id": "samsungce.meatAging", "version": 1 }, { "id": "samsungce.foodDefrost", "version": 1 }, { "id": "custom.disabledCapabilities", "version": 1 } ], "categories": [ { "name": "Other", "categoryType": "manufacturer" } ] } ], "createTime": "2024-06-18T15:47:42.985Z", "profile": { "id": "37c7b355-bdaa-371b-b246-dbdf2a7f9c84" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Samsung-Refrigerator", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "1.2.1", "manufacturerName": "Samsung Electronics", "modelNumber": "TP1X_REF_21K|00127643|00080020001610304100000020010000", "platformVersion": "DAWIT 2.0", "platformOS": "TizenRT 3.1", "hwVersion": "Realtek", "firmwareVersion": "A-RFWW-TP1-22-REV1_20241030", "vendorId": "DA-REF-NORMAL-01011", "vendorResourceClientServerVersion": "Realtek Release 3.1.240221", "lastSignupTime": "2024-11-27T07:08:32.745636184Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD", "relationships": [] } ], "_links": { "next": { "href": "https://api.smartthings.com/devices?max=200&page=1" } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_fake.json000066400000000000000000000035411511701743400262030ustar00rootroot00000000000000{ "items": [ { "deviceId": "7d3feb98-8a36-4351-c362-5e21ad3a78dd", "name": "Family Hub", "label": "Refrigerator", "manufacturerName": "Samsung Electronics", "presentationId": "DA-REF-NORMAL-01001", "deviceManufacturerCode": "Samsung Electronics", "locationId": "2487472a-06c4-4bce-8f4c-700c5f8644f8", "ownerId": "b603d7e8-6066-4e10-8102-afa752a63816", "roomId": "acaa060a-7c19-4579-8a4a-5ad891a2f0c1", "deviceTypeName": "Samsung OCF Refrigerator", "components": [ { "id": "main", "label": "main", "capabilities": [ { "id": "fakeCapability", "version": 1 } ], "categories": [ { "name": "fakeCategory", "categoryType": "manufacturer" } ] } ], "createTime": "2021-07-27T01:19:42.051Z", "profile": { "id": "4c654f1b-8ef4-35b0-920e-c12568554213" }, "ocf": { "ocfDeviceType": "oic.d.refrigerator", "name": "Family Hub", "specVersion": "core.1.1.0", "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", "manufacturerName": "Samsung Electronics", "modelNumber": "24K_REF_LCD_FHUB9.0|00113141|0002034e051324200103000000000000", "platformVersion": "7.0", "platformOS": "Tizen", "hwVersion": "", "firmwareVersion": "20240616.213423", "vendorId": "DA-REF-NORMAL-01001", "vendorResourceClientServerVersion": "4.0.22", "locale": "", "lastSignupTime": "2021-07-27T01:19:40.244392Z", "transferCandidate": false, "additionalAuthCodeRequired": false }, "type": "OCF", "restrictionTier": 0, "allowed": [], "executionContext": "CLOUD" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/devices_filtered.json000066400000000000000000000042341511701743400270730ustar00rootroot00000000000000{ "items": [ { "deviceId": "be1a61ce-c2a4-4b32-bf8c-31de6d3fa7dd", "name": "Virtual Dimmer Switch", "label": "Dimmer 1", "locationId": "5c03e518-118a-44cb-85ad-7877d0b302e4", "deviceTypeId": "d95742f6-2856-4342-a4f8-a23d8aacf05b", "deviceTypeName": "Virtual Dimmer Switch", "deviceNetworkType": "UNKNOWN", "components": [ { "id": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "sensor", "version": 1 }, { "id": "actuator", "version": 1 } ] } ], "dth": { "deviceTypeId": "d95742f6-2856-4342-a4f8-a23d8aacf05b", "deviceTypeName": "Virtual Dimmer Switch", "deviceNetworkType": "UNKNOWN", "completedSetup": true, "networkSecurityLevel": "UNKNOWN" }, "type": "DTH" }, { "deviceId": "edd26ac6-d156-4505-9647-3b20118ae4d1", "name": "Virtual Dimmer Switch", "label": "Dimmer 2", "locationId": "5c03e518-118a-44cb-85ad-7877d0b302e4", "deviceTypeId": "d95742f6-2856-4342-a4f8-a23d8aacf05b", "deviceTypeName": "Virtual Dimmer Switch", "deviceNetworkType": "UNKNOWN", "components": [ { "id": "main", "capabilities": [ { "id": "switch", "version": 1 }, { "id": "switchLevel", "version": 1 }, { "id": "sensor", "version": 1 }, { "id": "actuator", "version": 1 } ] } ], "dth": { "deviceTypeId": "d95742f6-2856-4342-a4f8-a23d8aacf05b", "deviceTypeName": "Virtual Dimmer Switch", "deviceNetworkType": "UNKNOWN", "completedSetup": true, "networkSecurityLevel": "UNKNOWN" }, "type": "DTH" } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/event.json000066400000000000000000000011331511701743400247070ustar00rootroot00000000000000{ "eventTime": 1739480496560, "eventType": "DEVICE_EVENT", "deviceEvent": { "eventId": "b66aab69-ea4d-11ef-ad0f-bb2d43a06ec6", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerType": "LOCATION", "deviceId": "440063de-a200-40b5-8a6b-f3399eaa0370", "componentId": "main", "capability": "switch", "attribute": "switch", "value": "on", "valueType": "string", "stateChange": true, "data": {}, "subscriptionName": "My Home Assistant sub", "commandId": "", "sensitive": false } } pySmartThings-pysmartthings-71aec67/tests/fixtures/executed_command.json000066400000000000000000000001621511701743400270730ustar00rootroot00000000000000{ "results": [ { "id": "183359b2-ea00-4b51-87ab-c7f9e1426696", "status": "ACCEPTED" } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/health.json000066400000000000000000000001771511701743400250420ustar00rootroot00000000000000{ "deviceId": "612ab3c2-3bb0-48f7-b2c0-15b169cb2fc3", "state": "ONLINE", "lastUpdatedDate": "2025-04-28T11:43:31.600Z" } pySmartThings-pysmartthings-71aec67/tests/fixtures/installedapp_get_response.json000066400000000000000000000012721511701743400310270ustar00rootroot00000000000000{ "installedAppId": "4514eb36-f5fd-4ab2-9520-0597acd1d212", "installedAppType": "WEBHOOK_SMART_APP", "installedAppStatus": "PENDING", "displayName": "pysmartthings", "appId": "c6cde2b0-203e-44cf-a510-3b3ed4706996", "referenceId": null, "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "owner": { "ownerType": "USER", "ownerId": "3c19270b-fca6-5cde-82bc-86a37e52cfa8" }, "notices": [], "createdDate": "2018-12-19T02:49:58Z", "lastUpdatedDate": "2018-12-19T02:49:58Z", "ui": { "pluginId": null, "dashboardCardsEnabled": false, "preInstallDashboardCardsEnabled": false }, "iconImage": { "url": null }, "classifications": ["AUTOMATION"] } pySmartThings-pysmartthings-71aec67/tests/fixtures/installedapps_get_response.json000066400000000000000000000017761511701743400312230ustar00rootroot00000000000000{ "items": [ { "installedAppId": "4514eb36-f5fd-4ab2-9520-0597acd1d212", "installedAppType": "WEBHOOK_SMART_APP", "installedAppStatus": "PENDING", "displayName": "pysmartthings", "appId": "c6cde2b0-203e-44cf-a510-3b3ed4706996", "referenceId": null, "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "owner": { "ownerType": "USER", "ownerId": "3c19270b-fca6-5cde-82bc-86a37e52cfa8" }, "notices": [], "createdDate": "2018-12-19T02:49:58Z", "lastUpdatedDate": "2018-12-19T02:49:58Z", "ui": { "pluginId": null, "dashboardCardsEnabled": false, "preInstallDashboardCardsEnabled": false }, "iconImage": { "url": null }, "classifications": ["AUTOMATION"] } ], "_links": { "next": { "href": "https://api.smartthings.com/installedapps?currentLocationId=NWMwM2U1MTgtMTE4YS00NGNiLTg1YWQtNzg3N2QwYjMwMmU0¤tOffset=MA" }, "previous": null } } pySmartThings-pysmartthings-71aec67/tests/fixtures/installedapps_get_response_2.json000066400000000000000000000015601511701743400314330ustar00rootroot00000000000000{ "items": [ { "installedAppId": "bceb4d29-ac7d-401d-a111-2bfbd6bebae1", "installedAppType": "WEBHOOK_SMART_APP", "installedAppStatus": "AUTHORIZED", "displayName": "HomeAssistant", "appId": "507b23eb-5783-4dc5-94d9-c69fc2ff7387", "referenceId": null, "locationId": "01571579-274b-4405-90ff-85e4ca635221", "owner": { "ownerType": "USER", "ownerId": "3c19270b-fca6-5cde-82bc-86a37e52cfa8" }, "notices": [], "createdDate": "2018-12-31T21:51:51Z", "lastUpdatedDate": "2018-12-31T21:51:57Z", "ui": { "pluginId": null, "dashboardCardsEnabled": false, "preInstallDashboardCardsEnabled": false }, "iconImage": { "url": null }, "classifications": ["AUTOMATION"] } ], "_links": { "next": null, "previous": null } } pySmartThings-pysmartthings-71aec67/tests/fixtures/location.json000066400000000000000000000004271511701743400254030ustar00rootroot00000000000000{ "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "name": "Test Home", "countryCode": "USA", "latitude": 45.00708112, "longitude": -93.11223629, "regionRadius": 150, "temperatureScale": "F", "timeZoneId": null, "locale": "en", "backgroundImage": null } pySmartThings-pysmartthings-71aec67/tests/fixtures/location_update.json000066400000000000000000000004141511701743400267410ustar00rootroot00000000000000{ "eventTime": 1740765012185, "eventType": "LOCATION_LIFECYCLE_EVENT", "locationLifecycleEvent": { "eventId": "75645c9b-f5fc-11ef-9e6f-29646dd608b9", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "lifecycle": "UPDATE", "update": {} } } pySmartThings-pysmartthings-71aec67/tests/fixtures/locations.json000066400000000000000000000003471511701743400255670ustar00rootroot00000000000000{ "items": [ { "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "name": "Home" }, { "locationId": "5c03e518-118a-44cb-85ad-7877d0b302e4", "name": "Test Home" } ], "_links": null } pySmartThings-pysmartthings-71aec67/tests/fixtures/new_device_event.json000066400000000000000000000011741511701743400271040ustar00rootroot00000000000000{ "eventTime": 1740761861429, "eventType": "DEVICE_LIFECYCLE_EVENT", "deviceLifecycleEvent": { "lifecycle": "CREATE", "eventId": "1f6526dd-f5f5-11ef-88df-075751570aa6", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerType": "LOCATION", "deviceId": "46b0958e-4a92-40f3-b531-eb60c5d1aa7a", "deviceName": "", "principal": "", "create": { "presentationId": "238c483a-10e8-359b-b032-1be2b2fcdee7", "manufacturerName": "SmartThingsCommunity", "categories": [], "parentDeviceId": "", "hubId": "" } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/removed_device_event.json000066400000000000000000000010521511701743400277470ustar00rootroot00000000000000{ "eventTime": 1740762112368, "eventType": "DEVICE_LIFECYCLE_EVENT", "deviceLifecycleEvent": { "lifecycle": "DELETE", "eventId": "b4f767e4-f5f5-11ef-ba82-ad0e27284da8", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerType": "LOCATION", "deviceId": "46b0958e-4a92-40f3-b531-eb60c5d1aa7a", "deviceName": "", "principal": "12d4af93-cb68-b108-87f5-625437d7371f", "delete": { "roomId": "", "parentDeviceId": "", "hubId": "" } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/room.json000066400000000000000000000002411511701743400245410ustar00rootroot00000000000000{ "roomId": "7715151d-0314-457a-a82c-5ce48900e065", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "name": "Theater", "backgroundImage": "Test" } pySmartThings-pysmartthings-71aec67/tests/fixtures/room_move_event.json000066400000000000000000000011441511701743400267730ustar00rootroot00000000000000{ "eventTime": 1740761861429, "eventType": "DEVICE_LIFECYCLE_EVENT", "deviceLifecycleEvent": { "lifecycle": "ROOM_MOVE", "eventId": "aa020c2b-fada-11ef-a691-d74084aaa858", "locationId": "fb5dd659-35ac-4a53-a3cb-3093db7a04ad", "ownerId": "fb5dd659-35ac-4a53-a3cb-3093db7a04ad", "ownerType": "LOCATION", "deviceId": "9aa42eba-7c98-6d33-6b9a-b3cd40276383", "deviceName": "G6", "principal": "09714f26-6c5e-2785-67ce-e43517507228", "roomMove": { "roomIdFrom": "4a8b4abd-3f1b-4c93-9585-8a3fc9958bba", "roomIdTo": "83ca5360-1938-4e7d-9eac-bec26b283e82" } } } pySmartThings-pysmartthings-71aec67/tests/fixtures/room_post.json000066400000000000000000000000651511701743400256120ustar00rootroot00000000000000{ "name": "Theater", "backgroundImage": "Test" } pySmartThings-pysmartthings-71aec67/tests/fixtures/room_put.json000066400000000000000000000000651511701743400254350ustar00rootroot00000000000000{ "name": "Theater", "backgroundImage": "Test" } pySmartThings-pysmartthings-71aec67/tests/fixtures/rooms.json000066400000000000000000000003361511701743400247310ustar00rootroot00000000000000{ "items": [ { "roomId": "7715151d-0314-457a-a82c-5ce48900e065", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "name": "Theater", "backgroundImage": null } ], "_links": null } pySmartThings-pysmartthings-71aec67/tests/fixtures/scene_execute.json000066400000000000000000000000321511701743400264020ustar00rootroot00000000000000{ "status": "success" } pySmartThings-pysmartthings-71aec67/tests/fixtures/scenes.json000066400000000000000000000016561511701743400250600ustar00rootroot00000000000000{ "items": [ { "sceneId": "743b0f37-89b8-476c-aedf-eea8ad8cd29d", "sceneName": "Away", "sceneIcon": "203", "sceneColor": null, "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "createdBy": "12d4af93-cb68-b108-87f5-625437d7371f", "createdDate": 1738964737000, "lastUpdatedDate": 1738964737000, "lastExecutedDate": null, "editable": false, "apiVersion": "20200501" }, { "sceneId": "f3341e8b-9b32-4509-af2e-4f7c952e98ba", "sceneName": "Home", "sceneIcon": "204", "sceneColor": null, "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "createdBy": "12d4af93-cb68-b108-87f5-625437d7371f", "createdDate": 1738964731000, "lastUpdatedDate": 1738964731000, "lastExecutedDate": null, "editable": false, "apiVersion": "20200501" } ], "_links": { "next": null, "previous": null } } pySmartThings-pysmartthings-71aec67/tests/fixtures/scenes_location_filter.json000066400000000000000000000010311511701743400303000ustar00rootroot00000000000000{ "items": [ { "sceneId": "9b58411f-5d26-418d-b193-3434a77c484a", "sceneName": "All Off", "sceneIcon": "st.scenes.wand", "sceneColor": "#F7F9FF", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "createdBy": "18ce6ee8-18a6-4efc-89e7-09921077c91a", "createdDate": 1524927538000, "lastUpdatedDate": 1524927538000, "lastExecutedDate": 1547946862000, "editable": true, "apiVersion": "20170809" } ], "_links": { "next": null, "previous": null } } pySmartThings-pysmartthings-71aec67/tests/fixtures/sse_subscription.json000066400000000000000000000007741511701743400271760ustar00rootroot00000000000000{ "subscriptionId": "f5768ce8-c9e5-4507-9020-912c0c60e0ab", "registrationUrl": "https://spigot-regional.api.smartthings.com/filters/f5768ce8-c9e5-4507-9020-912c0c60e0ab/activate?filterRegion=eu-west-1", "name": "My Home Assistant sub", "version": 20250122, "subscriptionFilters": [ { "type": "LOCATIONIDS", "value": ["88a3a314-f0c8-40b4-bb44-44ba06c9c42e"], "eventType": ["DEVICE_EVENT"], "attribute": null, "capability": null, "component": null } ] } pySmartThings-pysmartthings-71aec67/tests/fixtures/subscription_capability_get_response.json000066400000000000000000000005771511701743400333030ustar00rootroot00000000000000{ "id": "7bdf5909-57c4-41f3-9089-e520513bd92a", "installedAppId": "4514eb36-f5fd-4ab2-9520-0597acd1d212", "sourceType": "CAPABILITY", "capability": { "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "capability": "switchLevel", "attribute": "*", "value": "*", "stateChangeOnly": true, "subscriptionName": "switchLevel_sub", "modes": [] } } pySmartThings-pysmartthings-71aec67/tests/fixtures/subscription_device_get_response.json000066400000000000000000000005301511701743400324060ustar00rootroot00000000000000{ "id": "498752fd-db87-4a5e-95f5-25a0e412838d", "installedAppId": "4514eb36-f5fd-4ab2-9520-0597acd1d212", "sourceType": "DEVICE", "device": { "deviceId": "64e7f664-5b99-4573-b76d-03be3021dc78", "componentId": "*", "capability": "*", "attribute": "*", "value": "*", "stateChangeOnly": true, "modes": [] } } pySmartThings-pysmartthings-71aec67/tests/fixtures/subscription_post_request.json000066400000000000000000000002151511701743400311270ustar00rootroot00000000000000{ "sourceType": "CAPABILITY", "capability": { "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "capability": "switch" } } pySmartThings-pysmartthings-71aec67/tests/fixtures/subscription_post_response.json000066400000000000000000000005171511701743400313020ustar00rootroot00000000000000{ "id": "7bdf5909-57c4-41f3-9089-e520513bd92a", "installedAppId": "4514eb36-f5fd-4ab2-9520-0597acd1d212", "sourceType": "CAPABILITY", "capability": { "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "capability": "switch", "attribute": "*", "value": "*", "stateChangeOnly": true, "modes": [] } } pySmartThings-pysmartthings-71aec67/tests/fixtures/subscriptions_get_response.json000066400000000000000000000023611511701743400312560ustar00rootroot00000000000000{ "items": [ { "id": "1e0a1706-2b52-403c-915b-df096470bf03", "installedAppId": "4514eb36-f5fd-4ab2-9520-0597acd1d212", "sourceType": "CAPABILITY", "capability": { "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "capability": "switch", "attribute": "*", "value": "*", "stateChangeOnly": true, "modes": [] } }, { "id": "498752fd-db87-4a5e-95f5-25a0e412838d", "installedAppId": "4514eb36-f5fd-4ab2-9520-0597acd1d212", "sourceType": "DEVICE", "device": { "deviceId": "64e7f664-5b99-4573-b76d-03be3021dc78", "componentId": "*", "capability": "*", "attribute": "*", "value": "*", "stateChangeOnly": true, "modes": [] } }, { "id": "7bdf5909-57c4-41f3-9089-e520513bd92a", "installedAppId": "4514eb36-f5fd-4ab2-9520-0597acd1d212", "sourceType": "CAPABILITY", "capability": { "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "capability": "switchLevel", "attribute": "*", "value": "*", "stateChangeOnly": true, "subscriptionName": "switchLevel_sub", "modes": [] } } ], "_links": {} } pySmartThings-pysmartthings-71aec67/tests/fixtures/token_invalid_response.json000066400000000000000000000001651511701743400303360ustar00rootroot00000000000000{ "error": "invalid_grant", "error_description": "Invalid refresh token: a86a5c8e-0014-44a6-8980-5846633972dd" } pySmartThings-pysmartthings-71aec67/tests/fixtures/token_response.json000066400000000000000000000003011511701743400266200ustar00rootroot00000000000000{ "access_token": "ad0fbf27-48d4-4ee9-ba47-7f5fedd7be35", "token_type": "bearer", "refresh_token": "3d1a8d0a-a312-45c2-a9f5-95e59dc0e879", "expires_in": 299, "scope": "r:devices:*" } pySmartThings-pysmartthings-71aec67/tests/fixtures/update_device_event.json000066400000000000000000000023571511701743400276010ustar00rootroot00000000000000{ "eventTime": 1740763557197, "eventType": "DEVICE_LIFECYCLE_EVENT", "deviceLifecycleEvent": { "lifecycle": "UPDATE", "eventId": "1226d078-f5f9-11ef-9a19-4bcdf1bb653b", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "ownerType": "LOCATION", "deviceId": "2894dc93-0f11-49cc-8a81-3a684cebebf6", "deviceName": "asd12", "principal": "12d4af93-cb68-b108-87f5-625437d7371f", "update": { "labelDiff": { "old": "asd", "new": "asd12" }, "componentDiff": { "old": { "id": "", "label": "", "categories": [], "capabilities": [], "icon": "" }, "new": { "id": "", "label": "", "categories": [], "capabilities": [], "icon": "" } }, "iconDiff": { "old": "", "new": "" }, "IndoorMapDiff": { "old": { "coordinates": [], "rotation": [], "visible": false, "data": {} }, "new": { "coordinates": [], "rotation": [], "visible": false, "data": {} } } } } } pySmartThings-pysmartthings-71aec67/tests/ruff.toml000066400000000000000000000011301511701743400226560ustar00rootroot00000000000000# This extend our general Ruff rules specifically for tests extend = "../pyproject.toml" lint.extend-select = [ "PT", # Use @pytest.fixture without parentheses ] lint.extend-ignore = [ "PT011", "PTH207", "I001", "FBT003", "PLR0915", "PT015", "ANN001", "E501", "ANN201", "S101", # Use of assert detected. As these are tests... "S105", # Detection of passwords... "S106", # Detection of passwords... "SLF001", # Tests will access private/protected members... "TC002", # pytest doesn't like this one... "PLR0913", # we're overwriting function that has many arguments ] pySmartThings-pysmartthings-71aec67/tests/syrupy.py000066400000000000000000000034571511701743400227620ustar00rootroot00000000000000"""Asynchronous Python client for SmartThings.""" from __future__ import annotations from dataclasses import asdict, is_dataclass from typing import TYPE_CHECKING, Any from syrupy.extensions import AmberSnapshotExtension from syrupy.extensions.amber import AmberDataSerializer if TYPE_CHECKING: from syrupy.types import ( PropertyFilter, PropertyMatcher, PropertyPath, SerializableData, ) class SmartThingsSnapshotSerializer(AmberDataSerializer): """SmartThings snapshot serializer for Syrupy. Handles special cases for SmartThings data structures. """ @classmethod def _serialize( # pylint: disable=too-many-arguments cls, data: SerializableData, *, depth: int = 0, exclude: PropertyFilter | None = None, include: PropertyFilter | None = None, matcher: PropertyMatcher | None = None, path: PropertyPath = (), visited: set[Any] | None = None, ) -> str: """Pre-process data before serializing. This allows us to handle specific cases for SmartThings data structures. """ serializable_data = data if is_dataclass(type(data)): serializable_data = asdict(data) return super()._serialize( serializable_data, depth=depth, exclude=exclude, include=include, matcher=matcher, path=path, visited=visited, ) class SmartThingsSnapshotExtension(AmberSnapshotExtension): """SmartThings extension for Syrupy.""" VERSION = "1" """Current version of serialization format. Need to be bumped when we change the SmartThingsSnapshotSerializer. """ serializer_class: type[AmberDataSerializer] = SmartThingsSnapshotSerializer pySmartThings-pysmartthings-71aec67/tests/test_device.py000066400000000000000000000300231511701743400236720ustar00rootroot00000000000000"""Tests for the Device file.""" from __future__ import annotations import logging import re from typing import Any, TYPE_CHECKING import pytest from aiohttp.hdrs import METH_GET, METH_POST from aioresponses import aioresponses from yarl import URL from pysmartthings import SmartThings, Capability, Command, SmartThingsCommandError from . import load_fixture, load_json_fixture from .const import MOCK_URL, HEADERS if TYPE_CHECKING: from syrupy import SnapshotAssertion @pytest.mark.parametrize( "fixture", [ "devices_2", "devices_3", "devices_4", "devices_5", "devices_6", "devices_7", "devices_8", "devices_9", "devices_10", "devices_11", "devices_12", "devices_13", "devices_14", "devices_15", "devices_16", "devices_17", "devices_18", "devices_fake", ], ) async def test_fetching_devices( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, fixture: str, ) -> None: """Test getting devices.""" responses.get( f"{MOCK_URL}/v1/devices", status=200, body=load_fixture(f"{fixture}.json"), ) assert await client.get_devices() == snapshot responses.assert_called_once_with( f"{MOCK_URL}/v1/devices", METH_GET, headers=HEADERS, params={}, json=None, ) @pytest.mark.parametrize( ("kwargs", "params"), [ ({"device_ids": ["abc", "def"]}, {"deviceId": "abc,def"}), ({"device_ids": ["abc"]}, {"deviceId": "abc"}), ({"location_ids": ["abc", "def"]}, {"locationId": "abc,def"}), ( {"capabilities": [Capability.SWITCH, Capability.SWITCH_LEVEL]}, {"capability": "switch,switchLevel"}, ), ], ) async def test_fetching_specific_devices( client: SmartThings, responses: aioresponses, kwargs: dict[str, Any], params: dict[str, Any], ) -> None: """Test getting devices.""" url = str(URL(f"{MOCK_URL}/v1/devices").with_query(params)) responses.get( url, status=200, body=load_fixture("devices_2.json"), ) assert await client.get_devices(**kwargs) responses.assert_called_once_with( f"{MOCK_URL}/v1/devices", METH_GET, headers=HEADERS, params=params, json=None, ) async def test_fetching_single_device( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, ) -> None: """Test getting a single device.""" responses.get( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370", status=200, body=load_fixture("device.json"), ) assert await client.get_device("440063de-a200-40b5-8a6b-f3399eaa0370") == snapshot responses.assert_called_once_with( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370", METH_GET, headers=HEADERS, params=None, json=None, ) @pytest.mark.parametrize( "fixture", [ "hue_color_temperature_bulb", "hue_rgbw_color_bulb", "c2c_shade", "c2c_motion_2", "c2c_thermostat_bridge_1", "c2c_humidity", "c2c_switch", "da_ks_range_0101x", "da_ks_walloven_000003", "da_wm_wd_00001", "da_wm_dw_00001", "da_ks_microwave_0101x", "da_ref_normal_01001", "da_ref_normal_01011", "da_ref_normal_01011_1", "da_ref_normal_000001", "da_rvc_normal_000001", "da_wm_wm_000001", "da_wm_wm_000001_2", "da_wm_wm_000001_3", "da_wm_sc_000001", "hub", "im_smarttag_ble_uwb", "im_smarttag2_ble_uwb", "da_ac_therac_01011", "da_ac_rac_01001", "da_ac_rac_000001", "da_ac_rac_000003", "da_sac_wifikit_000001", "vd_network_audio_002s", "vd_network_audio_003s", "c2c_arlo_pro_3_switch", "switch_level", "centralite", "sengled", "ikea_floor_lamp", "ge_in_wall_smart_dimmer", "zooz_zen16_multirelay", "c2c_arlo_go_switch", "multipurpose_sensor", "yale_push_button_deadbolt_lock", "27_smart_monitor_m5", "contact_sensor", "ge_dimmer_assoc", "car_garage_door", "ikea_e26", "switch_binary_indicator", "ledvance_switch", "basic_electric_meter", "iphone", "vd_stv_2017_k", "vd_stv_2021", "vd_stv_2022", "vd_stv_2023", "vd_stv_2023_1", "vd_frame_2024", "vd_sensor_light_2023", "vd_sensor_sound_2023", "virtual_calendar", "c2c_arlo_siren", "c2c_arlo_doorbell_battery", "ikea_remote_control", "base_lock", "main_virtual_device", "soundbar_hw_q80_r", "sensibo_airconditioner_1", "aeotec_home_energy_meter_gen5", "virtual_water_sensor", "virtual_thermostat", "virtual_valve", "ecobee_thermostat", "ecobee_sensor", ], ) async def test_fetching_status_of_single_device( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, fixture: str, ) -> None: """Test getting a single device.""" responses.get( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/status", status=200, body=load_fixture(f"device_status/{fixture}.json"), ) assert ( await client.get_device_status("440063de-a200-40b5-8a6b-f3399eaa0370") == snapshot ) responses.assert_called_once_with( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/status", METH_GET, headers=HEADERS, params=None, json=None, ) async def test_fetching_health( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, ) -> None: """Test getting health state of a device.""" responses.get( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/health", status=200, body=load_fixture("health.json"), ) assert ( await client.get_device_health("440063de-a200-40b5-8a6b-f3399eaa0370") == snapshot ) responses.assert_called_once_with( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/health", METH_GET, headers=HEADERS, params=None, json=None, ) @pytest.mark.parametrize( ("capability", "command", "argument", "fixture"), [ ( Capability.COLOR_TEMPERATURE, Command.SET_COLOR_TEMPERATURE, 3000, "set_color_temperature", ) ], ) async def test_executing_command( client: SmartThings, responses: aioresponses, capability: Capability, command: Command, argument: int | str | list[Any] | dict[str, Any] | None, fixture: str, ) -> None: """Test executing a command.""" responses.post( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/commands", status=200, body=load_fixture("executed_command.json"), ) await client.execute_device_command( "440063de-a200-40b5-8a6b-f3399eaa0370", capability, command, argument=argument ) responses.assert_called_once_with( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/commands", METH_POST, headers=HEADERS, params=None, json=load_json_fixture(f"device_commands/{fixture}.json"), ) async def test_executing_command_error( client: SmartThings, responses: aioresponses, ) -> None: """Test executing a command.""" responses.post( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/commands", status=422, body=load_fixture("device_command_error.json"), ) with pytest.raises( SmartThingsCommandError, match=re.escape( "SmartThingsCommandError (ConstraintViolationError, The request is malformed.) -> UnprocessableEntityError: commands[0].arguments[0]: must have a maximum value of 30000" ), ): await client.execute_device_command( "440063de-a200-40b5-8a6b-f3399eaa0370", Capability.COLOR_TEMPERATURE, Command.SET_COLOR_TEMPERATURE, argument=300000, ) async def test_fetching_unknown_capability( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, caplog: pytest.LogCaptureFixture, ) -> None: """Test getting a single device.""" caplog.set_level(logging.DEBUG) responses.get( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/status", status=200, body=load_fixture("device_status/fake.json"), ) assert ( await client.get_device_status("440063de-a200-40b5-8a6b-f3399eaa0370") == snapshot ) assert ( "Unknown capability fakeCapability. Please raise an issue at https://github.com/pySmartThings/pysmartthings." in caplog.text ) caplog.clear() responses.get( f"{MOCK_URL}/v1/devices/440063de-a200-40b5-8a6b-f3399eaa0370/status", status=200, body=load_fixture("device_status/fake.json"), ) await client.get_device_status("440063de-a200-40b5-8a6b-f3399eaa0370") assert ( "Unknown capability fakeCapability. Please raise an issue at https://github.com/pySmartThings/pysmartthings." not in caplog.text ) async def test_fetching_unknown_category( client: SmartThings, responses: aioresponses, caplog: pytest.LogCaptureFixture, ) -> None: """Test getting a single device.""" caplog.set_level(logging.DEBUG) responses.get( f"{MOCK_URL}/v1/devices", status=200, body=load_fixture("devices_fake.json"), ) await client.get_devices() assert ( "Unknown category `fakeCategory`. Please raise an issue at https://github.com/pySmartThings/pysmartthings" in caplog.text ) async def test_fetching_multiple_pages( client: SmartThings, responses: aioresponses, ) -> None: """Test getting multiple device pages.""" responses.get( f"{MOCK_URL}/v1/devices", status=200, body=load_fixture("devices_continued.json"), ) responses.get( f"{MOCK_URL}/v1/devices?max=200&page=1", status=200, body=load_fixture("devices_18.json"), ) assert len(await client.get_devices()) == 8 responses.assert_called_with( f"{MOCK_URL}/v1/devices", METH_GET, headers=HEADERS, params={}, json=None, ) responses.assert_called_with( f"{MOCK_URL}/v1/devices", METH_GET, headers=HEADERS, params={ "max": 200, "page": 1, }, json=None, ) async def test_fetching_multiple_pages_raw( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion ) -> None: """Test getting multiple device pages.""" responses.get( f"{MOCK_URL}/v1/devices", status=200, body=load_fixture("devices_continued.json"), ) responses.get( f"{MOCK_URL}/v1/devices?max=200&page=1", status=200, body=load_fixture("devices_18.json"), ) assert await client.get_raw_devices() == snapshot responses.assert_called_with( f"{MOCK_URL}/v1/devices", METH_GET, headers=HEADERS, params={}, json=None, ) responses.assert_called_with( f"{MOCK_URL}/v1/devices", METH_GET, headers=HEADERS, params={ "max": 200, "page": 1, }, json=None, ) pySmartThings-pysmartthings-71aec67/tests/test_location.py000066400000000000000000000026361511701743400242540ustar00rootroot00000000000000"""Tests for the Location module.""" from aiohttp.hdrs import METH_GET from aioresponses import aioresponses from syrupy import SnapshotAssertion from pysmartthings import SmartThings from . import load_fixture from .const import MOCK_URL, HEADERS async def test_fetching_all_locations( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, ) -> None: """Test getting all locations.""" responses.get( f"{MOCK_URL}/v1/locations", status=200, body=load_fixture("locations.json") ) assert await client.get_locations() == snapshot responses.assert_called_once_with( f"{MOCK_URL}/v1/locations", METH_GET, headers=HEADERS, params=None, json=None, ) async def test_fetching_single_location( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, ) -> None: """Test getting a single location.""" responses.get( f"{MOCK_URL}/v1/locations/397678e5-9995-4a39-9d9f-ae6ba310236b", status=200, body=load_fixture("location.json"), ) assert await client.get_location("397678e5-9995-4a39-9d9f-ae6ba310236b") == snapshot responses.assert_called_once_with( f"{MOCK_URL}/v1/locations/397678e5-9995-4a39-9d9f-ae6ba310236b", METH_GET, headers=HEADERS, params=None, json=None, ) pySmartThings-pysmartthings-71aec67/tests/test_room.py000066400000000000000000000033271511701743400234160ustar00rootroot00000000000000"""Tests for the room module.""" from aiohttp.hdrs import METH_GET from aioresponses import aioresponses from syrupy import SnapshotAssertion from pysmartthings import SmartThings from . import load_fixture from .const import MOCK_URL, HEADERS async def test_fetching_all_rooms( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, ) -> None: """Test getting all rooms for a location.""" responses.get( f"{MOCK_URL}/v1/locations/397678e5-9995-4a39-9d9f-ae6ba310236b/rooms", status=200, body=load_fixture("rooms.json"), ) assert await client.get_rooms("397678e5-9995-4a39-9d9f-ae6ba310236b") == snapshot responses.assert_called_once_with( f"{MOCK_URL}/v1/locations/397678e5-9995-4a39-9d9f-ae6ba310236b/rooms", METH_GET, headers=HEADERS, params=None, json=None, ) async def test_fetching_single_room( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, ) -> None: """Test getting a single room.""" responses.get( f"{MOCK_URL}/v1/locations/397678e5-9995-4a39-9d9f-ae6ba310236b/rooms/7715151d-0314-457a-a82c-5ce48900e065", status=200, body=load_fixture("room.json"), ) assert ( await client.get_room( "397678e5-9995-4a39-9d9f-ae6ba310236b", "7715151d-0314-457a-a82c-5ce48900e065", ) == snapshot ) responses.assert_called_once_with( f"{MOCK_URL}/v1/locations/397678e5-9995-4a39-9d9f-ae6ba310236b/rooms/7715151d-0314-457a-a82c-5ce48900e065", METH_GET, headers=HEADERS, params=None, json=None, ) pySmartThings-pysmartthings-71aec67/tests/test_scenes.py000066400000000000000000000037421511701743400237230ustar00rootroot00000000000000"""Tests for the scene module.""" from aiohttp.hdrs import METH_GET, METH_POST from aioresponses import aioresponses from syrupy import SnapshotAssertion from pysmartthings import SmartThings from tests import load_fixture from tests.const import MOCK_URL, HEADERS async def test_fetching_all_scenes( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, ) -> None: """Test getting all scenes.""" responses.get( f"{MOCK_URL}/v1/scenes", status=200, body=load_fixture("scenes.json"), ) assert await client.get_scenes() == snapshot responses.assert_called_once_with( f"{MOCK_URL}/v1/scenes", METH_GET, headers=HEADERS, params={}, json=None, ) async def test_fetch_scenes_for_location( client: SmartThings, responses: aioresponses, ) -> None: """Test getting all scenes.""" responses.get( f"{MOCK_URL}/v1/scenes?locationId=397678e5-9995-4a39-9d9f-ae6ba310236b", status=200, body=load_fixture("scenes.json"), ) assert await client.get_scenes("397678e5-9995-4a39-9d9f-ae6ba310236b") responses.assert_called_once_with( f"{MOCK_URL}/v1/scenes", METH_GET, headers=HEADERS, params={"locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b"}, json=None, ) async def test_executing_scene( client: SmartThings, responses: aioresponses, ) -> None: """Test executing a scene.""" responses.post( f"{MOCK_URL}/v1/scenes/3a570170-7c10-4e5a-bef8-0d02175798f2/execute", status=200, body=load_fixture("scene_execute.json"), ) await client.execute_scene("3a570170-7c10-4e5a-bef8-0d02175798f2") responses.assert_called_once_with( f"{MOCK_URL}/v1/scenes/3a570170-7c10-4e5a-bef8-0d02175798f2/execute", METH_POST, headers=HEADERS, params=None, json=None, ) pySmartThings-pysmartthings-71aec67/tests/test_smartapp.py000066400000000000000000000043301511701743400242640ustar00rootroot00000000000000"""Tests for SmartThings SmartApp endpoints.""" from aiohttp.hdrs import METH_DELETE, METH_GET from aioresponses import aioresponses from syrupy import SnapshotAssertion from pysmartthings import SmartThings from . import load_fixture from .const import MOCK_URL, HEADERS async def test_deleting_smart_app( client: SmartThings, responses: aioresponses, ) -> None: """Test deleting a SmartApp.""" responses.delete( f"{MOCK_URL}/v1/apps/c6cde2b0-203e-44cf-a510-3b3ed4706996", status=200 ) await client.delete_smart_app( "abcabcabcabc", "c6cde2b0-203e-44cf-a510-3b3ed4706996" ) responses.assert_called_once_with( f"{MOCK_URL}/v1/apps/c6cde2b0-203e-44cf-a510-3b3ed4706996", METH_DELETE, headers={**HEADERS, "Authorization": "Bearer abcabcabcabc"}, params=None, json=None, ) async def test_deleting_installed_app( client: SmartThings, responses: aioresponses, ) -> None: """Test deleting an installed SmartApp.""" responses.delete( f"{MOCK_URL}/v1/installedapps/4514eb36-f5fd-4ab2-9520-0597acd1d212", status=200 ) await client.delete_installed_app( "abcabcabcabc", "4514eb36-f5fd-4ab2-9520-0597acd1d212" ) responses.assert_called_once_with( f"{MOCK_URL}/v1/installedapps/4514eb36-f5fd-4ab2-9520-0597acd1d212", METH_DELETE, headers={**HEADERS, "Authorization": "Bearer abcabcabcabc"}, params=None, json=None, ) async def test_get_installed_app( client: SmartThings, responses: aioresponses, snapshot: SnapshotAssertion, ) -> None: """Test getting an installed SmartApp.""" responses.get( f"{MOCK_URL}/v1/installedapps/4514eb36-f5fd-4ab2-9520-0597acd1d212", status=200, body=load_fixture("installedapp_get_response.json"), ) assert ( await client.get_installed_app( "abcabcabcabc", "4514eb36-f5fd-4ab2-9520-0597acd1d212" ) == snapshot ) responses.assert_called_once_with( f"{MOCK_URL}/v1/installedapps/4514eb36-f5fd-4ab2-9520-0597acd1d212", METH_GET, headers={**HEADERS, "Authorization": "Bearer abcabcabcabc"}, params=None, json=None, )