pax_global_header00006660000000000000000000000064151430761620014517gustar00rootroot0000000000000052 comment=fc7601d6b8a0924a4e9b1d3d8701eeba75577f1b pySmartThings-pysmartthings-fc7601d/000077500000000000000000000000001514307616200176615ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/.coveragerc000066400000000000000000000000351514307616200220000ustar00rootroot00000000000000[run] source = pysmartthings pySmartThings-pysmartthings-fc7601d/.github/000077500000000000000000000000001514307616200212215ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/.github/PULL_REQUEST_TEMPLATE.md000066400000000000000000000006561514307616200250310ustar00rootroot00000000000000## 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-fc7601d/.github/labels.yml000066400000000000000000000054331514307616200232130ustar00rootroot00000000000000--- - 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-fc7601d/.github/release-drafter.yml000066400000000000000000000020471514307616200250140ustar00rootroot00000000000000--- 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-fc7601d/.github/renovate.json000066400000000000000000000021611514307616200237370ustar00rootroot00000000000000{ "$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-fc7601d/.github/workflows/000077500000000000000000000000001514307616200232565ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/.github/workflows/generate.yaml000066400000000000000000000027071514307616200257420ustar00rootroot00000000000000--- 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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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.2 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@v8 with: base: ${{ github.head_ref }} title: Update capabilities body: Sync the capabilities with the SmartThings API pySmartThings-pysmartthings-fc7601d/.github/workflows/labels.yaml000066400000000000000000000007361514307616200254120ustar00rootroot00000000000000--- 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.2 - name: ๐Ÿš€ Run Label Syncer uses: micnncim/action-label-syncer@v1.3.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} pySmartThings-pysmartthings-fc7601d/.github/workflows/linting.yaml000066400000000000000000000146011514307616200256100ustar00rootroot00000000000000--- 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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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@6044e13b5dc448c55e2357c09f80417699197238 # 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-fc7601d/.github/workflows/lock.yaml000066400000000000000000000006651514307616200251010ustar00rootroot00000000000000--- 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@v6.0.0 with: github-token: ${{ github.token }} issue-inactive-days: "30" issue-lock-reason: "" pr-inactive-days: "1" pr-lock-reason: "" pySmartThings-pysmartthings-fc7601d/.github/workflows/pr-labels.yaml000066400000000000000000000013021514307616200260170ustar00rootroot00000000000000--- 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-fc7601d/.github/workflows/release-drafter.yaml000066400000000000000000000005741514307616200272150ustar00rootroot00000000000000--- 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.2.0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} pySmartThings-pysmartthings-fc7601d/.github/workflows/release.yaml000066400000000000000000000031351514307616200255640ustar00rootroot00000000000000--- 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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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.2.0 with: inputs: ./dist/*.tar.gz ./dist/*.whl release-signing-artifacts: true pySmartThings-pysmartthings-fc7601d/.github/workflows/tests.yaml000066400000000000000000000050751514307616200253130ustar00rootroot00000000000000--- 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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ matrix.python }} id: python uses: actions/setup-python@v6.2.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@v6.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.2 with: fetch-depth: 0 - name: โฌ‡๏ธ Download coverage data uses: actions/download-artifact@v7.0.0 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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.2 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-fc7601d/.github/workflows/typing.yaml000066400000000000000000000016071514307616200254600ustar00rootroot00000000000000--- 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.2 - name: ๐Ÿ— Set up Poetry run: pipx install poetry - name: ๐Ÿ— Set up Python ${{ env.DEFAULT_PYTHON }} id: python uses: actions/setup-python@v6.2.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-fc7601d/.gitignore000066400000000000000000000027011514307616200216510ustar00rootroot00000000000000# 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-fc7601d/.nvmrc000066400000000000000000000000101514307616200207760ustar00rootroot0000000000000024.13.0 pySmartThings-pysmartthings-fc7601d/.pre-commit-config.yaml000066400000000000000000000076771514307616200241630ustar00rootroot00000000000000--- 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-fc7601d/.prettierignore000066400000000000000000000000131514307616200227160ustar00rootroot00000000000000.gitignore pySmartThings-pysmartthings-fc7601d/.vscode/000077500000000000000000000000001514307616200212225ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/.vscode/settings.json000066400000000000000000000011731514307616200237570ustar00rootroot00000000000000{ "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-fc7601d/.yamllint000066400000000000000000000024001514307616200215070ustar00rootroot00000000000000--- 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-fc7601d/CONTRIBUTING.md000066400000000000000000000057531514307616200221240ustar00rootroot00000000000000# 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-fc7601d/LICENSE000066400000000000000000000252151514307616200206730ustar00rootroot00000000000000Apache 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-fc7601d/README.md000066400000000000000000000342671514307616200211540ustar00rootroot00000000000000# 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-fc7601d/package-lock.json000066400000000000000000000014301514307616200230730ustar00rootroot00000000000000{ "name": "pysmartthings", "version": "0.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "pysmartthings", "version": "0.0.0", "license": "Apache-2.0", "devDependencies": { "prettier": "3.8.1" } }, "node_modules/prettier": { "version": "3.8.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz", "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==", "dev": true, "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, "engines": { "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } } } } pySmartThings-pysmartthings-fc7601d/package.json000066400000000000000000000005271514307616200221530ustar00rootroot00000000000000{ "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.8.1" } } pySmartThings-pysmartthings-fc7601d/poetry.lock000066400000000000000000005631021514307616200220640ustar00rootroot00000000000000# 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.3" description = "Async http client/server framework (asyncio)" optional = false python-versions = ">=3.9" files = [ {file = "aiohttp-3.13.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a372fd5afd301b3a89582817fdcdb6c34124787c70dbcc616f259013e7eef7"}, {file = "aiohttp-3.13.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:147e422fd1223005c22b4fe080f5d93ced44460f5f9c105406b753612b587821"}, {file = "aiohttp-3.13.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:859bd3f2156e81dd01432f5849fc73e2243d4a487c4fd26609b1299534ee1845"}, {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dca68018bf48c251ba17c72ed479f4dafe9dbd5a73707ad8d28a38d11f3d42af"}, {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fee0c6bc7db1de362252affec009707a17478a00ec69f797d23ca256e36d5940"}, {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c048058117fd649334d81b4b526e94bde3ccaddb20463a815ced6ecbb7d11160"}, {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:215a685b6fbbfcf71dfe96e3eba7a6f58f10da1dfdf4889c7dd856abe430dca7"}, {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2c184bb1fe2cbd2cefba613e9db29a5ab559323f994b6737e370d3da0ac455"}, {file = "aiohttp-3.13.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:75ca857eba4e20ce9f546cd59c7007b33906a4cd48f2ff6ccf1ccfc3b646f279"}, {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81e97251d9298386c2b7dbeb490d3d1badbdc69107fb8c9299dd04eb39bddc0e"}, {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c0e2d366af265797506f0283487223146af57815b388623f0357ef7eac9b209d"}, {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4e239d501f73d6db1522599e14b9b321a7e3b1de66ce33d53a765d975e9f4808"}, {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0db318f7a6f065d84cb1e02662c526294450b314a02bd9e2a8e67f0d8564ce40"}, {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bfc1cc2fe31a6026a8a88e4ecfb98d7f6b1fec150cfd708adbfd1d2f42257c29"}, {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af71fff7bac6bb7508956696dce8f6eec2bbb045eceb40343944b1ae62b5ef11"}, {file = "aiohttp-3.13.3-cp310-cp310-win32.whl", hash = "sha256:37da61e244d1749798c151421602884db5270faf479cf0ef03af0ff68954c9dd"}, {file = "aiohttp-3.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:7e63f210bc1b57ef699035f2b4b6d9ce096b5914414a49b0997c839b2bd2223c"}, {file = "aiohttp-3.13.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5b6073099fb654e0a068ae678b10feff95c5cae95bbfcbfa7af669d361a8aa6b"}, {file = "aiohttp-3.13.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cb93e166e6c28716c8c6aeb5f99dfb6d5ccf482d29fe9bf9a794110e6d0ab64"}, {file = "aiohttp-3.13.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:28e027cf2f6b641693a09f631759b4d9ce9165099d2b5d92af9bd4e197690eea"}, {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3b61b7169ababd7802f9568ed96142616a9118dd2be0d1866e920e77ec8fa92a"}, {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:80dd4c21b0f6237676449c6baaa1039abae86b91636b6c91a7f8e61c87f89540"}, {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:65d2ccb7eabee90ce0503c17716fc77226be026dcc3e65cce859a30db715025b"}, {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5b179331a481cb5529fca8b432d8d3c7001cb217513c94cd72d668d1248688a3"}, {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d4c940f02f49483b18b079d1c27ab948721852b281f8b015c058100e9421dd1"}, {file = "aiohttp-3.13.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f9444f105664c4ce47a2a7171a2418bce5b7bae45fb610f4e2c36045d85911d3"}, {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:694976222c711d1d00ba131904beb60534f93966562f64440d0c9d41b8cdb440"}, {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f33ed1a2bf1997a36661874b017f5c4b760f41266341af36febaf271d179f6d7"}, {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e636b3c5f61da31a92bf0d91da83e58fdfa96f178ba682f11d24f31944cdd28c"}, {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5d2d94f1f5fcbe40838ac51a6ab5704a6f9ea42e72ceda48de5e6b898521da51"}, {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2be0e9ccf23e8a94f6f0650ce06042cefc6ac703d0d7ab6c7a917289f2539ad4"}, {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9af5e68ee47d6534d36791bbe9b646d2a7c7deb6fc24d7943628edfbb3581f29"}, {file = "aiohttp-3.13.3-cp311-cp311-win32.whl", hash = "sha256:a2212ad43c0833a873d0fb3c63fa1bacedd4cf6af2fee62bf4b739ceec3ab239"}, {file = "aiohttp-3.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:642f752c3eb117b105acbd87e2c143de710987e09860d674e068c4c2c441034f"}, {file = "aiohttp-3.13.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b903a4dfee7d347e2d87697d0713be59e0b87925be030c9178c5faa58ea58d5c"}, {file = "aiohttp-3.13.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a45530014d7a1e09f4a55f4f43097ba0fd155089372e105e4bff4ca76cb1b168"}, {file = "aiohttp-3.13.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:27234ef6d85c914f9efeb77ff616dbf4ad2380be0cda40b4db086ffc7ddd1b7d"}, {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d32764c6c9aafb7fb55366a224756387cd50bfa720f32b88e0e6fa45b27dcf29"}, {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b1a6102b4d3ebc07dad44fbf07b45bb600300f15b552ddf1851b5390202ea2e3"}, {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c014c7ea7fb775dd015b2d3137378b7be0249a448a1612268b5a90c2d81de04d"}, {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2b8d8ddba8f95ba17582226f80e2de99c7a7948e66490ef8d947e272a93e9463"}, {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ae8dd55c8e6c4257eae3a20fd2c8f41edaea5992ed67156642493b8daf3cecc"}, {file = "aiohttp-3.13.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:01ad2529d4b5035578f5081606a465f3b814c542882804e2e8cda61adf5c71bf"}, {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bb4f7475e359992b580559e008c598091c45b5088f28614e855e42d39c2f1033"}, {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c19b90316ad3b24c69cd78d5c9b4f3aa4497643685901185b65166293d36a00f"}, {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:96d604498a7c782cb15a51c406acaea70d8c027ee6b90c569baa6e7b93073679"}, {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:084911a532763e9d3dd95adf78a78f4096cd5f58cdc18e6fdbc1b58417a45423"}, {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7a4a94eb787e606d0a09404b9c38c113d3b099d508021faa615d70a0131907ce"}, {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:87797e645d9d8e222e04160ee32aa06bc5c163e8499f24db719e7852ec23093a"}, {file = "aiohttp-3.13.3-cp312-cp312-win32.whl", hash = "sha256:b04be762396457bef43f3597c991e192ee7da460a4953d7e647ee4b1c28e7046"}, {file = "aiohttp-3.13.3-cp312-cp312-win_amd64.whl", hash = "sha256:e3531d63d3bdfa7e3ac5e9b27b2dd7ec9df3206a98e0b3445fa906f233264c57"}, {file = "aiohttp-3.13.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c"}, {file = "aiohttp-3.13.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9"}, {file = "aiohttp-3.13.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3"}, {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf"}, {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6"}, {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d"}, {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261"}, {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0"}, {file = "aiohttp-3.13.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730"}, {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91"}, {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3"}, {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4"}, {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998"}, {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0"}, {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591"}, {file = "aiohttp-3.13.3-cp313-cp313-win32.whl", hash = "sha256:1449ceddcdbcf2e0446957863af03ebaaa03f94c090f945411b61269e2cb5daf"}, {file = "aiohttp-3.13.3-cp313-cp313-win_amd64.whl", hash = "sha256:693781c45a4033d31d4187d2436f5ac701e7bbfe5df40d917736108c1cc7436e"}, {file = "aiohttp-3.13.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:ea37047c6b367fd4bd632bff8077449b8fa034b69e812a18e0132a00fae6e808"}, {file = "aiohttp-3.13.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6fc0e2337d1a4c3e6acafda6a78a39d4c14caea625124817420abceed36e2415"}, {file = "aiohttp-3.13.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c685f2d80bb67ca8c3837823ad76196b3694b0159d232206d1e461d3d434666f"}, {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48e377758516d262bde50c2584fc6c578af272559c409eecbdd2bae1601184d6"}, {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:34749271508078b261c4abb1767d42b8d0c0cc9449c73a4df494777dc55f0687"}, {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:82611aeec80eb144416956ec85b6ca45a64d76429c1ed46ae1b5f86c6e0c9a26"}, {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2fff83cfc93f18f215896e3a190e8e5cb413ce01553901aca925176e7568963a"}, {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bbe7d4cecacb439e2e2a8a1a7b935c25b812af7a5fd26503a66dadf428e79ec1"}, {file = "aiohttp-3.13.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b928f30fe49574253644b1ca44b1b8adbd903aa0da4b9054a6c20fc7f4092a25"}, {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7b5e8fe4de30df199155baaf64f2fcd604f4c678ed20910db8e2c66dc4b11603"}, {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:8542f41a62bcc58fc7f11cf7c90e0ec324ce44950003feb70640fc2a9092c32a"}, {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5e1d8c8b8f1d91cd08d8f4a3c2b067bfca6ec043d3ff36de0f3a715feeedf926"}, {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:90455115e5da1c3c51ab619ac57f877da8fd6d73c05aacd125c5ae9819582aba"}, {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:042e9e0bcb5fba81886c8b4fbb9a09d6b8a00245fd8d88e4d989c1f96c74164c"}, {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2eb752b102b12a76ca02dff751a801f028b4ffbbc478840b473597fc91a9ed43"}, {file = "aiohttp-3.13.3-cp314-cp314-win32.whl", hash = "sha256:b556c85915d8efaed322bf1bdae9486aa0f3f764195a0fb6ee962e5c71ef5ce1"}, {file = "aiohttp-3.13.3-cp314-cp314-win_amd64.whl", hash = "sha256:9bf9f7a65e7aa20dd764151fb3d616c81088f91f8df39c3893a536e279b4b984"}, {file = "aiohttp-3.13.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:05861afbbec40650d8a07ea324367cb93e9e8cc7762e04dd4405df99fa65159c"}, {file = "aiohttp-3.13.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2fc82186fadc4a8316768d61f3722c230e2c1dcab4200d52d2ebdf2482e47592"}, {file = "aiohttp-3.13.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0add0900ff220d1d5c5ebbf99ed88b0c1bbf87aa7e4262300ed1376a6b13414f"}, {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:568f416a4072fbfae453dcf9a99194bbb8bdeab718e08ee13dfa2ba0e4bebf29"}, {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:add1da70de90a2569c5e15249ff76a631ccacfe198375eead4aadf3b8dc849dc"}, {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:10b47b7ba335d2e9b1239fa571131a87e2d8ec96b333e68b2a305e7a98b0bae2"}, {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3dd4dce1c718e38081c8f35f323209d4c1df7d4db4bab1b5c88a6b4d12b74587"}, {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34bac00a67a812570d4a460447e1e9e06fae622946955f939051e7cc895cfab8"}, {file = "aiohttp-3.13.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19884d2ee70b06d9204b2727a7b9f983d0c684c650254679e716b0b77920632"}, {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ca7f2bb6ba8348a3614c7918cc4bb73268c5ac2a207576b7afea19d3d9f64"}, {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b0d95340658b9d2f11d9697f59b3814a9d3bb4b7a7c20b131df4bcef464037c0"}, {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1e53262fd202e4b40b70c3aff944a8155059beedc8a89bba9dc1f9ef06a1b56"}, {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d60ac9663f44168038586cab2157e122e46bdef09e9368b37f2d82d354c23f72"}, {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:90751b8eed69435bac9ff4e3d2f6b3af1f57e37ecb0fbeee59c0174c9e2d41df"}, {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fc353029f176fd2b3ec6cfc71be166aba1936fe5d73dd1992ce289ca6647a9aa"}, {file = "aiohttp-3.13.3-cp314-cp314t-win32.whl", hash = "sha256:2e41b18a58da1e474a057b3d35248d8320029f61d70a37629535b16a0c8f3767"}, {file = "aiohttp-3.13.3-cp314-cp314t-win_amd64.whl", hash = "sha256:44531a36aa2264a1860089ffd4dce7baf875ee5a6079d5fb42e261c704ef7344"}, {file = "aiohttp-3.13.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:31a83ea4aead760dfcb6962efb1d861db48c34379f2ff72db9ddddd4cda9ea2e"}, {file = "aiohttp-3.13.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:988a8c5e317544fdf0d39871559e67b6341065b87fceac641108c2096d5506b7"}, {file = "aiohttp-3.13.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b174f267b5cfb9a7dba9ee6859cecd234e9a681841eb85068059bc867fb8f02"}, {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:947c26539750deeaee933b000fb6517cc770bbd064bad6033f1cff4803881e43"}, {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9ebf57d09e131f5323464bd347135a88622d1c0976e88ce15b670e7ad57e4bd6"}, {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4ae5b5a0e1926e504c81c5b84353e7a5516d8778fbbff00429fe7b05bb25cbce"}, {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ba0eea45eb5cc3172dbfc497c066f19c41bac70963ea1a67d51fc92e4cf9a80"}, {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bae5c2ed2eae26cc382020edad80d01f36cb8e746da40b292e68fec40421dc6a"}, {file = "aiohttp-3.13.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8a60e60746623925eab7d25823329941aee7242d559baa119ca2b253c88a7bd6"}, {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e50a2e1404f063427c9d027378472316201a2290959a295169bcf25992d04558"}, {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:9a9dc347e5a3dc7dfdbc1f82da0ef29e388ddb2ed281bfce9dd8248a313e62b7"}, {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b46020d11d23fe16551466c77823df9cc2f2c1e63cc965daf67fa5eec6ca1877"}, {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:69c56fbc1993fa17043e24a546959c0178fe2b5782405ad4559e6c13975c15e3"}, {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b99281b0704c103d4e11e72a76f1b543d4946fea7dd10767e7e1b5f00d4e5704"}, {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:40c5e40ecc29ba010656c18052b877a1c28f84344825efa106705e835c28530f"}, {file = "aiohttp-3.13.3-cp39-cp39-win32.whl", hash = "sha256:56339a36b9f1fc708260c76c87e593e2afb30d26de9ae1eb445b5e051b98a7a1"}, {file = "aiohttp-3.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:c6b8568a3bb5819a0ad087f16d40e5a3fb6099f39ea1d5625a3edc1e923fc538"}, {file = "aiohttp-3.13.3.tar.gz", hash = "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88"}, ] [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 (>=1.2)", "aiodns (>=3.3.0)", "backports.zstd", "brotlicffi (>=1.2)"] [[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.4" description = "An abstract syntax tree for Python with inference support." optional = false python-versions = ">=3.10.0" files = [ {file = "astroid-4.0.4-py3-none-any.whl", hash = "sha256:52f39653876c7dec3e3afd4c2696920e05c83832b9737afc21928f2d2eb7a753"}, {file = "astroid-4.0.4.tar.gz", hash = "sha256:986fed8bcf79fb82c78b18a53352a0b287a73817d6dbcfba3162da36667c49a0"}, ] [[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.13.4" description = "Code coverage measurement for Python" optional = false python-versions = ">=3.10" files = [ {file = "coverage-7.13.4-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0fc31c787a84f8cd6027eba44010517020e0d18487064cd3d8968941856d1415"}, {file = "coverage-7.13.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a32ebc02a1805adf637fc8dec324b5cdacd2e493515424f70ee33799573d661b"}, {file = "coverage-7.13.4-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e24f9156097ff9dc286f2f913df3a7f63c0e333dcafa3c196f2c18b4175ca09a"}, {file = "coverage-7.13.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8041b6c5bfdc03257666e9881d33b1abc88daccaf73f7b6340fb7946655cd10f"}, {file = "coverage-7.13.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2a09cfa6a5862bc2fc6ca7c3def5b2926194a56b8ab78ffcf617d28911123012"}, {file = "coverage-7.13.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:296f8b0af861d3970c2a4d8c91d48eb4dd4771bcef9baedec6a9b515d7de3def"}, {file = "coverage-7.13.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e101609bcbbfb04605ea1027b10dc3735c094d12d40826a60f897b98b1c30256"}, {file = "coverage-7.13.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:aa3feb8db2e87ff5e6d00d7e1480ae241876286691265657b500886c98f38bda"}, {file = "coverage-7.13.4-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:4fc7fa81bbaf5a02801b65346c8b3e657f1d93763e58c0abdf7c992addd81a92"}, {file = "coverage-7.13.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:33901f604424145c6e9c2398684b92e176c0b12df77d52db81c20abd48c3794c"}, {file = "coverage-7.13.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:bb28c0f2cf2782508a40cec377935829d5fcc3ad9a3681375af4e84eb34b6b58"}, {file = "coverage-7.13.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:9d107aff57a83222ddbd8d9ee705ede2af2cc926608b57abed8ef96b50b7e8f9"}, {file = "coverage-7.13.4-cp310-cp310-win32.whl", hash = "sha256:a6f94a7d00eb18f1b6d403c91a88fd58cfc92d4b16080dfdb774afc8294469bf"}, {file = "coverage-7.13.4-cp310-cp310-win_amd64.whl", hash = "sha256:2cb0f1e000ebc419632bbe04366a8990b6e32c4e0b51543a6484ffe15eaeda95"}, {file = "coverage-7.13.4-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d490ba50c3f35dd7c17953c68f3270e7ccd1c6642e2d2afe2d8e720b98f5a053"}, {file = "coverage-7.13.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:19bc3c88078789f8ef36acb014d7241961dbf883fd2533d18cb1e7a5b4e28b11"}, {file = "coverage-7.13.4-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3998e5a32e62fdf410c0dbd3115df86297995d6e3429af80b8798aad894ca7aa"}, {file = "coverage-7.13.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:8e264226ec98e01a8e1054314af91ee6cde0eacac4f465cc93b03dbe0bce2fd7"}, {file = "coverage-7.13.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a3aa4e7b9e416774b21797365b358a6e827ffadaaca81b69ee02946852449f00"}, {file = "coverage-7.13.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:71ca20079dd8f27fcf808817e281e90220475cd75115162218d0e27549f95fef"}, {file = "coverage-7.13.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e2f25215f1a359ab17320b47bcdaca3e6e6356652e8256f2441e4ef972052903"}, {file = "coverage-7.13.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d65b2d373032411e86960604dc4edac91fdfb5dca539461cf2cbe78327d1e64f"}, {file = "coverage-7.13.4-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:94eb63f9b363180aff17de3e7c8760c3ba94664ea2695c52f10111244d16a299"}, {file = "coverage-7.13.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e856bf6616714c3a9fbc270ab54103f4e685ba236fa98c054e8f87f266c93505"}, {file = "coverage-7.13.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:65dfcbe305c3dfe658492df2d85259e0d79ead4177f9ae724b6fb245198f55d6"}, {file = "coverage-7.13.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b507778ae8a4c915436ed5c2e05b4a6cecfa70f734e19c22a005152a11c7b6a9"}, {file = "coverage-7.13.4-cp311-cp311-win32.whl", hash = "sha256:784fc3cf8be001197b652d51d3fd259b1e2262888693a4636e18879f613a62a9"}, {file = "coverage-7.13.4-cp311-cp311-win_amd64.whl", hash = "sha256:2421d591f8ca05b308cf0092807308b2facbefe54af7c02ac22548b88b95c98f"}, {file = "coverage-7.13.4-cp311-cp311-win_arm64.whl", hash = "sha256:79e73a76b854d9c6088fe5d8b2ebe745f8681c55f7397c3c0a016192d681045f"}, {file = "coverage-7.13.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:02231499b08dabbe2b96612993e5fc34217cdae907a51b906ac7fca8027a4459"}, {file = "coverage-7.13.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40aa8808140e55dc022b15d8aa7f651b6b3d68b365ea0398f1441e0b04d859c3"}, {file = "coverage-7.13.4-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:5b856a8ccf749480024ff3bd7310adaef57bf31fd17e1bfc404b7940b6986634"}, {file = "coverage-7.13.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2c048ea43875fbf8b45d476ad79f179809c590ec7b79e2035c662e7afa3192e3"}, {file = "coverage-7.13.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b7b38448866e83176e28086674fe7368ab8590e4610fb662b44e345b86d63ffa"}, {file = "coverage-7.13.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:de6defc1c9badbf8b9e67ae90fd00519186d6ab64e5cc5f3d21359c2a9b2c1d3"}, {file = "coverage-7.13.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:7eda778067ad7ffccd23ecffce537dface96212576a07924cbf0d8799d2ded5a"}, {file = "coverage-7.13.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e87f6c587c3f34356c3759f0420693e35e7eb0e2e41e4c011cb6ec6ecbbf1db7"}, {file = "coverage-7.13.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:8248977c2e33aecb2ced42fef99f2d319e9904a36e55a8a68b69207fb7e43edc"}, {file = "coverage-7.13.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:25381386e80ae727608e662474db537d4df1ecd42379b5ba33c84633a2b36d47"}, {file = "coverage-7.13.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:ee756f00726693e5ba94d6df2bdfd64d4852d23b09bb0bc700e3b30e6f333985"}, {file = "coverage-7.13.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fdfc1e28e7c7cdce44985b3043bc13bbd9c747520f94a4d7164af8260b3d91f0"}, {file = "coverage-7.13.4-cp312-cp312-win32.whl", hash = "sha256:01d4cbc3c283a17fc1e42d614a119f7f438eabb593391283adca8dc86eff1246"}, {file = "coverage-7.13.4-cp312-cp312-win_amd64.whl", hash = "sha256:9401ebc7ef522f01d01d45532c68c5ac40fb27113019b6b7d8b208f6e9baa126"}, {file = "coverage-7.13.4-cp312-cp312-win_arm64.whl", hash = "sha256:b1ec7b6b6e93255f952e27ab58fbc68dcc468844b16ecbee881aeb29b6ab4d8d"}, {file = "coverage-7.13.4-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:b66a2da594b6068b48b2692f043f35d4d3693fb639d5ea8b39533c2ad9ac3ab9"}, {file = "coverage-7.13.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3599eb3992d814d23b35c536c28df1a882caa950f8f507cef23d1cbf334995ac"}, {file = "coverage-7.13.4-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:93550784d9281e374fb5a12bf1324cc8a963fd63b2d2f223503ef0fd4aa339ea"}, {file = "coverage-7.13.4-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b720ce6a88a2755f7c697c23268ddc47a571b88052e6b155224347389fdf6a3b"}, {file = "coverage-7.13.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7b322db1284a2ed3aa28ffd8ebe3db91c929b7a333c0820abec3d838ef5b3525"}, {file = "coverage-7.13.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f4594c67d8a7c89cf922d9df0438c7c7bb022ad506eddb0fdb2863359ff78242"}, {file = "coverage-7.13.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:53d133df809c743eb8bce33b24bcababb371f4441340578cd406e084d94a6148"}, {file = "coverage-7.13.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:76451d1978b95ba6507a039090ba076105c87cc76fc3efd5d35d72093964d49a"}, {file = "coverage-7.13.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:7f57b33491e281e962021de110b451ab8a24182589be17e12a22c79047935e23"}, {file = "coverage-7.13.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:1731dc33dc276dafc410a885cbf5992f1ff171393e48a21453b78727d090de80"}, {file = "coverage-7.13.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:bd60d4fe2f6fa7dff9223ca1bbc9f05d2b6697bc5961072e5d3b952d46e1b1ea"}, {file = "coverage-7.13.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9181a3ccead280b828fae232df12b16652702b49d41e99d657f46cc7b1f6ec7a"}, {file = "coverage-7.13.4-cp313-cp313-win32.whl", hash = "sha256:f53d492307962561ac7de4cd1de3e363589b000ab69617c6156a16ba7237998d"}, {file = "coverage-7.13.4-cp313-cp313-win_amd64.whl", hash = "sha256:e6f70dec1cc557e52df5306d051ef56003f74d56e9c4dd7ddb07e07ef32a84dd"}, {file = "coverage-7.13.4-cp313-cp313-win_arm64.whl", hash = "sha256:fb07dc5da7e849e2ad31a5d74e9bece81f30ecf5a42909d0a695f8bd1874d6af"}, {file = "coverage-7.13.4-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:40d74da8e6c4b9ac18b15331c4b5ebc35a17069410cad462ad4f40dcd2d50c0d"}, {file = "coverage-7.13.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4223b4230a376138939a9173f1bdd6521994f2aff8047fae100d6d94d50c5a12"}, {file = "coverage-7.13.4-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1d4be36a5114c499f9f1f9195e95ebf979460dbe2d88e6816ea202010ba1c34b"}, {file = "coverage-7.13.4-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:200dea7d1e8095cc6e98cdabe3fd1d21ab17d3cee6dab00cadbb2fe35d9c15b9"}, {file = "coverage-7.13.4-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b8eb931ee8e6d8243e253e5ed7336deea6904369d2fd8ae6e43f68abbf167092"}, {file = "coverage-7.13.4-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:75eab1ebe4f2f64d9509b984f9314d4aa788540368218b858dad56dc8f3e5eb9"}, {file = "coverage-7.13.4-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c35eb28c1d085eb7d8c9b3296567a1bebe03ce72962e932431b9a61f28facf26"}, {file = "coverage-7.13.4-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb88b316ec33760714a4720feb2816a3a59180fd58c1985012054fa7aebee4c2"}, {file = "coverage-7.13.4-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:7d41eead3cc673cbd38a4417deb7fd0b4ca26954ff7dc6078e33f6ff97bed940"}, {file = "coverage-7.13.4-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:fb26a934946a6afe0e326aebe0730cdff393a8bc0bbb65a2f41e30feddca399c"}, {file = "coverage-7.13.4-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:dae88bc0fc77edaa65c14be099bd57ee140cf507e6bfdeea7938457ab387efb0"}, {file = "coverage-7.13.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:845f352911777a8e722bfce168958214951e07e47e5d5d9744109fa5fe77f79b"}, {file = "coverage-7.13.4-cp313-cp313t-win32.whl", hash = "sha256:2fa8d5f8de70688a28240de9e139fa16b153cc3cbb01c5f16d88d6505ebdadf9"}, {file = "coverage-7.13.4-cp313-cp313t-win_amd64.whl", hash = "sha256:9351229c8c8407645840edcc277f4a2d44814d1bc34a2128c11c2a031d45a5dd"}, {file = "coverage-7.13.4-cp313-cp313t-win_arm64.whl", hash = "sha256:30b8d0512f2dc8c8747557e8fb459d6176a2c9e5731e2b74d311c03b78451997"}, {file = "coverage-7.13.4-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:300deaee342f90696ed186e3a00c71b5b3d27bffe9e827677954f4ee56969601"}, {file = "coverage-7.13.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:29e3220258d682b6226a9b0925bc563ed9a1ebcff3cad30f043eceea7eaf2689"}, {file = "coverage-7.13.4-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:391ee8f19bef69210978363ca930f7328081c6a0152f1166c91f0b5fdd2a773c"}, {file = "coverage-7.13.4-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:0dd7ab8278f0d58a0128ba2fca25824321f05d059c1441800e934ff2efa52129"}, {file = "coverage-7.13.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78cdf0d578b15148b009ccf18c686aa4f719d887e76e6b40c38ffb61d264a552"}, {file = "coverage-7.13.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:48685fee12c2eb3b27c62f2658e7ea21e9c3239cba5a8a242801a0a3f6a8c62a"}, {file = "coverage-7.13.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4e83efc079eb39480e6346a15a1bcb3e9b04759c5202d157e1dd4303cd619356"}, {file = "coverage-7.13.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ecae9737b72408d6a950f7e525f30aca12d4bd8dd95e37342e5beb3a2a8c4f71"}, {file = "coverage-7.13.4-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:ae4578f8528569d3cf303fef2ea569c7f4c4059a38c8667ccef15c6e1f118aa5"}, {file = "coverage-7.13.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:6fdef321fdfbb30a197efa02d48fcd9981f0d8ad2ae8903ac318adc653f5df98"}, {file = "coverage-7.13.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b0f6ccf3dbe577170bebfce1318707d0e8c3650003cb4b3a9dd744575daa8b5"}, {file = "coverage-7.13.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:75fcd519f2a5765db3f0e391eb3b7d150cce1a771bf4c9f861aeab86c767a3c0"}, {file = "coverage-7.13.4-cp314-cp314-win32.whl", hash = "sha256:8e798c266c378da2bd819b0677df41ab46d78065fb2a399558f3f6cae78b2fbb"}, {file = "coverage-7.13.4-cp314-cp314-win_amd64.whl", hash = "sha256:245e37f664d89861cf2329c9afa2c1fe9e6d4e1a09d872c947e70718aeeac505"}, {file = "coverage-7.13.4-cp314-cp314-win_arm64.whl", hash = "sha256:ad27098a189e5838900ce4c2a99f2fe42a0bf0c2093c17c69b45a71579e8d4a2"}, {file = "coverage-7.13.4-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:85480adfb35ffc32d40918aad81b89c69c9cc5661a9b8a81476d3e645321a056"}, {file = "coverage-7.13.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:79be69cf7f3bf9b0deeeb062eab7ac7f36cd4cc4c4dd694bd28921ba4d8596cc"}, {file = "coverage-7.13.4-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:caa421e2684e382c5d8973ac55e4f36bed6821a9bad5c953494de960c74595c9"}, {file = "coverage-7.13.4-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:14375934243ee05f56c45393fe2ce81fe5cc503c07cee2bdf1725fb8bef3ffaf"}, {file = "coverage-7.13.4-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:25a41c3104d08edb094d9db0d905ca54d0cd41c928bb6be3c4c799a54753af55"}, {file = "coverage-7.13.4-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6f01afcff62bf9a08fb32b2c1d6e924236c0383c02c790732b6537269e466a72"}, {file = "coverage-7.13.4-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:eb9078108fbf0bcdde37c3f4779303673c2fa1fe8f7956e68d447d0dd426d38a"}, {file = "coverage-7.13.4-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:0e086334e8537ddd17e5f16a344777c1ab8194986ec533711cbe6c41cde841b6"}, {file = "coverage-7.13.4-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:725d985c5ab621268b2edb8e50dfe57633dc69bda071abc470fed55a14935fd3"}, {file = "coverage-7.13.4-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:3c06f0f1337c667b971ca2f975523347e63ec5e500b9aa5882d91931cd3ef750"}, {file = "coverage-7.13.4-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:590c0ed4bf8e85f745e6b805b2e1c457b2e33d5255dd9729743165253bc9ad39"}, {file = "coverage-7.13.4-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:eb30bf180de3f632cd043322dad5751390e5385108b2807368997d1a92a509d0"}, {file = "coverage-7.13.4-cp314-cp314t-win32.whl", hash = "sha256:c4240e7eded42d131a2d2c4dec70374b781b043ddc79a9de4d55ca71f8e98aea"}, {file = "coverage-7.13.4-cp314-cp314t-win_amd64.whl", hash = "sha256:4c7d3cc01e7350f2f0f6f7036caaf5673fb56b6998889ccfe9e1c1fe75a9c932"}, {file = "coverage-7.13.4-cp314-cp314t-win_arm64.whl", hash = "sha256:23e3f687cf945070d1c90f85db66d11e3025665d8dafa831301a0e0038f3db9b"}, {file = "coverage-7.13.4-py3-none-any.whl", hash = "sha256:1af1641e57cf7ba1bd67d677c9abdbcd6cc2ab7da3bca7fa1e2b7e50e65f2ad0"}, {file = "coverage-7.13.4.tar.gz", hash = "sha256:e5c8f6ed1e61a8b2dcdf31eb0b9bbf0130750ca79c1c49eb898e2ad86f5ccc91"}, ] [package.extras] toml = ["tomli"] [[package]] name = "dill" version = "0.4.1" description = "serialize all of Python" optional = false python-versions = ">=3.9" files = [ {file = "dill-0.4.1-py3-none-any.whl", hash = "sha256:1e1ce33e978ae97fcfcff5638477032b801c46c7c65cf717f95fbc2248f79a9d"}, {file = "dill-0.4.1.tar.gz", hash = "sha256:423092df4182177d4d8ba8290c8a5b640c66ab35ec7da59ccfa00f6fa3eea5fa"}, ] [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.3" description = "A platform independent file lock." optional = false python-versions = ">=3.10" files = [ {file = "filelock-3.20.3-py3-none-any.whl", hash = "sha256:4b0dda527ee31078689fc205ec4f1c1bf7d56cf88b6dc9426c4f230e46c2dce1"}, {file = "filelock-3.20.3.tar.gz", hash = "sha256:18c57ee915c7ec61cff0ecf7f0f869936c7c30191bb0cf406f1341778d0834e1"}, ] [[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.16" description = "File identification library for Python" optional = false python-versions = ">=3.10" files = [ {file = "identify-2.6.16-py2.py3-none-any.whl", hash = "sha256:391ee4d77741d994189522896270b787aed8670389bfd60f326d677d64a6dfb0"}, {file = "identify-2.6.16.tar.gz", hash = "sha256:846857203b5511bbe94d5a352a48ef2359532bc8f6727b5544077a0dcfb24980"}, ] [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.8" description = "Mypyc runtime library" optional = false python-versions = ">=3.9" files = [ {file = "librt-0.7.8-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b45306a1fc5f53c9330fbee134d8b3227fe5da2ab09813b892790400aa49352d"}, {file = "librt-0.7.8-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:864c4b7083eeee250ed55135d2127b260d7eb4b5e953a9e5df09c852e327961b"}, {file = "librt-0.7.8-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6938cc2de153bc927ed8d71c7d2f2ae01b4e96359126c602721340eb7ce1a92d"}, {file = "librt-0.7.8-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:66daa6ac5de4288a5bbfbe55b4caa7bf0cd26b3269c7a476ffe8ce45f837f87d"}, {file = "librt-0.7.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4864045f49dc9c974dadb942ac56a74cd0479a2aafa51ce272c490a82322ea3c"}, {file = "librt-0.7.8-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a36515b1328dc5b3ffce79fe204985ca8572525452eacabee2166f44bb387b2c"}, {file = "librt-0.7.8-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:b7e7f140c5169798f90b80d6e607ed2ba5059784968a004107c88ad61fb3641d"}, {file = "librt-0.7.8-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ff71447cb778a4f772ddc4ce360e6ba9c95527ed84a52096bd1bbf9fee2ec7c0"}, {file = "librt-0.7.8-cp310-cp310-win32.whl", hash = "sha256:047164e5f68b7a8ebdf9fae91a3c2161d3192418aadd61ddd3a86a56cbe3dc85"}, {file = "librt-0.7.8-cp310-cp310-win_amd64.whl", hash = "sha256:d6f254d096d84156a46a84861183c183d30734e52383602443292644d895047c"}, {file = "librt-0.7.8-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ff3e9c11aa260c31493d4b3197d1e28dd07768594a4f92bec4506849d736248f"}, {file = "librt-0.7.8-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ddb52499d0b3ed4aa88746aaf6f36a08314677d5c346234c3987ddc506404eac"}, {file = "librt-0.7.8-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:e9c0afebbe6ce177ae8edba0c7c4d626f2a0fc12c33bb993d163817c41a7a05c"}, {file = "librt-0.7.8-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:631599598e2c76ded400c0a8722dec09217c89ff64dc54b060f598ed68e7d2a8"}, {file = "librt-0.7.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9c1ba843ae20db09b9d5c80475376168feb2640ce91cd9906414f23cc267a1ff"}, {file = "librt-0.7.8-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b5b007bb22ea4b255d3ee39dfd06d12534de2fcc3438567d9f48cdaf67ae1ae3"}, {file = "librt-0.7.8-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:dbd79caaf77a3f590cbe32dc2447f718772d6eea59656a7dcb9311161b10fa75"}, {file = "librt-0.7.8-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:87808a8d1e0bd62a01cafc41f0fd6818b5a5d0ca0d8a55326a81643cdda8f873"}, {file = "librt-0.7.8-cp311-cp311-win32.whl", hash = "sha256:31724b93baa91512bd0a376e7cf0b59d8b631ee17923b1218a65456fa9bda2e7"}, {file = "librt-0.7.8-cp311-cp311-win_amd64.whl", hash = "sha256:978e8b5f13e52cf23a9e80f3286d7546baa70bc4ef35b51d97a709d0b28e537c"}, {file = "librt-0.7.8-cp311-cp311-win_arm64.whl", hash = "sha256:20e3946863d872f7cabf7f77c6c9d370b8b3d74333d3a32471c50d3a86c0a232"}, {file = "librt-0.7.8-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9b6943885b2d49c48d0cff23b16be830ba46b0152d98f62de49e735c6e655a63"}, {file = "librt-0.7.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:46ef1f4b9b6cc364b11eea0ecc0897314447a66029ee1e55859acb3dd8757c93"}, {file = "librt-0.7.8-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:907ad09cfab21e3c86e8f1f87858f7049d1097f77196959c033612f532b4e592"}, {file = "librt-0.7.8-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2991b6c3775383752b3ca0204842743256f3ad3deeb1d0adc227d56b78a9a850"}, {file = "librt-0.7.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:03679b9856932b8c8f674e87aa3c55ea11c9274301f76ae8dc4d281bda55cf62"}, {file = "librt-0.7.8-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3968762fec1b2ad34ce57458b6de25dbb4142713e9ca6279a0d352fa4e9f452b"}, {file = "librt-0.7.8-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:bb7a7807523a31f03061288cc4ffc065d684c39db7644c676b47d89553c0d714"}, {file = "librt-0.7.8-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad64a14b1e56e702e19b24aae108f18ad1bf7777f3af5fcd39f87d0c5a814449"}, {file = "librt-0.7.8-cp312-cp312-win32.whl", hash = "sha256:0241a6ed65e6666236ea78203a73d800dbed896cf12ae25d026d75dc1fcd1dac"}, {file = "librt-0.7.8-cp312-cp312-win_amd64.whl", hash = "sha256:6db5faf064b5bab9675c32a873436b31e01d66ca6984c6f7f92621656033a708"}, {file = "librt-0.7.8-cp312-cp312-win_arm64.whl", hash = "sha256:57175aa93f804d2c08d2edb7213e09276bd49097611aefc37e3fa38d1fb99ad0"}, {file = "librt-0.7.8-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4c3995abbbb60b3c129490fa985dfe6cac11d88fc3c36eeb4fb1449efbbb04fc"}, {file = "librt-0.7.8-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:44e0c2cbc9bebd074cf2cdbe472ca185e824be4e74b1c63a8e934cea674bebf2"}, {file = "librt-0.7.8-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:4d2f1e492cae964b3463a03dc77a7fe8742f7855d7258c7643f0ee32b6651dd3"}, {file = "librt-0.7.8-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:451e7ffcef8f785831fdb791bd69211f47e95dc4c6ddff68e589058806f044c6"}, {file = "librt-0.7.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3469e1af9f1380e093ae06bedcbdd11e407ac0b303a56bbe9afb1d6824d4982d"}, {file = "librt-0.7.8-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f11b300027ce19a34f6d24ebb0a25fd0e24a9d53353225a5c1e6cadbf2916b2e"}, {file = "librt-0.7.8-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:4adc73614f0d3c97874f02f2c7fd2a27854e7e24ad532ea6b965459c5b757eca"}, {file = "librt-0.7.8-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:60c299e555f87e4c01b2eca085dfccda1dde87f5a604bb45c2906b8305819a93"}, {file = "librt-0.7.8-cp313-cp313-win32.whl", hash = "sha256:b09c52ed43a461994716082ee7d87618096851319bf695d57ec123f2ab708951"}, {file = "librt-0.7.8-cp313-cp313-win_amd64.whl", hash = "sha256:f8f4a901a3fa28969d6e4519deceab56c55a09d691ea7b12ca830e2fa3461e34"}, {file = "librt-0.7.8-cp313-cp313-win_arm64.whl", hash = "sha256:43d4e71b50763fcdcf64725ac680d8cfa1706c928b844794a7aa0fa9ac8e5f09"}, {file = "librt-0.7.8-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:be927c3c94c74b05128089a955fba86501c3b544d1d300282cc1b4bd370cb418"}, {file = "librt-0.7.8-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:7b0803e9008c62a7ef79058233db7ff6f37a9933b8f2573c05b07ddafa226611"}, {file = "librt-0.7.8-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:79feb4d00b2a4e0e05c9c56df707934f41fcb5fe53fd9efb7549068d0495b758"}, {file = "librt-0.7.8-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b9122094e3f24aa759c38f46bd8863433820654927370250f460ae75488b66ea"}, {file = "librt-0.7.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e03bea66af33c95ce3addf87a9bf1fcad8d33e757bc479957ddbc0e4f7207ac"}, {file = "librt-0.7.8-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f1ade7f31675db00b514b98f9ab9a7698c7282dad4be7492589109471852d398"}, {file = "librt-0.7.8-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:a14229ac62adcf1b90a15992f1ab9c69ae8b99ffb23cb64a90878a6e8a2f5b81"}, {file = "librt-0.7.8-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5bcaaf624fd24e6a0cb14beac37677f90793a96864c67c064a91458611446e83"}, {file = "librt-0.7.8-cp314-cp314-win32.whl", hash = "sha256:7aa7d5457b6c542ecaed79cec4ad98534373c9757383973e638ccced0f11f46d"}, {file = "librt-0.7.8-cp314-cp314-win_amd64.whl", hash = "sha256:3d1322800771bee4a91f3b4bd4e49abc7d35e65166821086e5afd1e6c0d9be44"}, {file = "librt-0.7.8-cp314-cp314-win_arm64.whl", hash = "sha256:5363427bc6a8c3b1719f8f3845ea53553d301382928a86e8fab7984426949bce"}, {file = "librt-0.7.8-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:ca916919793a77e4a98d4a1701e345d337ce53be4a16620f063191f7322ac80f"}, {file = "librt-0.7.8-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:54feb7b4f2f6706bb82325e836a01be805770443e2400f706e824e91f6441dde"}, {file = "librt-0.7.8-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:39a4c76fee41007070f872b648cc2f711f9abf9a13d0c7162478043377b52c8e"}, {file = "librt-0.7.8-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ac9c8a458245c7de80bc1b9765b177055efff5803f08e548dd4bb9ab9a8d789b"}, {file = "librt-0.7.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:95b67aa7eff150f075fda09d11f6bfb26edffd300f6ab1666759547581e8f666"}, {file = "librt-0.7.8-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:535929b6eff670c593c34ff435d5440c3096f20fa72d63444608a5aef64dd581"}, {file = "librt-0.7.8-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:63937bd0f4d1cb56653dc7ae900d6c52c41f0015e25aaf9902481ee79943b33a"}, {file = "librt-0.7.8-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cf243da9e42d914036fd362ac3fa77d80a41cadcd11ad789b1b5eec4daaf67ca"}, {file = "librt-0.7.8-cp314-cp314t-win32.whl", hash = "sha256:171ca3a0a06c643bd0a2f62a8944e1902c94aa8e5da4db1ea9a8daf872685365"}, {file = "librt-0.7.8-cp314-cp314t-win_amd64.whl", hash = "sha256:445b7304145e24c60288a2f172b5ce2ca35c0f81605f5299f3fa567e189d2e32"}, {file = "librt-0.7.8-cp314-cp314t-win_arm64.whl", hash = "sha256:8766ece9de08527deabcd7cb1b4f1a967a385d26e33e536d6d8913db6ef74f06"}, {file = "librt-0.7.8-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c7e8f88f79308d86d8f39c491773cbb533d6cb7fa6476f35d711076ee04fceb6"}, {file = "librt-0.7.8-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:389bd25a0db916e1d6bcb014f11aa9676cedaa485e9ec3752dfe19f196fd377b"}, {file = "librt-0.7.8-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:73fd300f501a052f2ba52ede721232212f3b06503fa12665408ecfc9d8fd149c"}, {file = "librt-0.7.8-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6d772edc6a5f7835635c7562f6688e031f0b97e31d538412a852c49c9a6c92d5"}, {file = "librt-0.7.8-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde8a130bd0f239e45503ab39fab239ace094d63ee1d6b67c25a63d741c0f71"}, {file = "librt-0.7.8-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:fdec6e2368ae4f796fc72fad7fd4bd1753715187e6d870932b0904609e7c878e"}, {file = "librt-0.7.8-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:00105e7d541a8f2ee5be52caacea98a005e0478cfe78c8080fbb7b5d2b340c63"}, {file = "librt-0.7.8-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c6f8947d3dfd7f91066c5b4385812c18be26c9d5a99ca56667547f2c39149d94"}, {file = "librt-0.7.8-cp39-cp39-win32.whl", hash = "sha256:41d7bb1e07916aeb12ae4a44e3025db3691c4149ab788d0315781b4d29b86afb"}, {file = "librt-0.7.8-cp39-cp39-win_amd64.whl", hash = "sha256:e90a8e237753c83b8e484d478d9a996dc5e39fd5bd4c6ce32563bc8123f132be"}, {file = "librt-0.7.8.tar.gz", hash = "sha256:1a4ede613941d9c3470b0368be851df6bb78ab218635512d0370b27a277a0862"}, ] [[package]] name = "mashumaro" version = "3.20" description = "Fast and well tested serialization library" optional = false python-versions = ">=3.9" files = [ {file = "mashumaro-3.20-py3-none-any.whl", hash = "sha256:648bc326f64c55447988eab67d6bfe3b7958c0961c83590709b1f950f88f4a3c"}, {file = "mashumaro-3.20.tar.gz", hash = "sha256:af4573f14ae61be3fbc3a473158ddfc1420f345410385809fd782e0d79e9215c"}, ] [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.1" description = "multidict implementation" optional = false python-versions = ">=3.9" files = [ {file = "multidict-6.7.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c93c3db7ea657dd4637d57e74ab73de31bccefe144d3d4ce370052035bc85fb5"}, {file = "multidict-6.7.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:974e72a2474600827abaeda71af0c53d9ebbc3c2eb7da37b37d7829ae31232d8"}, {file = "multidict-6.7.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cdea2e7b2456cfb6694fb113066fd0ec7ea4d67e3a35e1f4cbeea0b448bf5872"}, {file = "multidict-6.7.1-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17207077e29342fdc2c9a82e4b306f1127bf1ea91f8b71e02d4798a70bb99991"}, {file = "multidict-6.7.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d4f49cb5661344764e4c7c7973e92a47a59b8fc19b6523649ec9dc4960e58a03"}, {file = "multidict-6.7.1-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a9fc4caa29e2e6ae408d1c450ac8bf19892c5fca83ee634ecd88a53332c59981"}, {file = "multidict-6.7.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c5f0c21549ab432b57dcc82130f388d84ad8179824cc3f223d5e7cfbfd4143f6"}, {file = "multidict-6.7.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7dfb78d966b2c906ae1d28ccf6e6712a3cd04407ee5088cd276fe8cb42186190"}, {file = "multidict-6.7.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9b0d9b91d1aa44db9c1f1ecd0d9d2ae610b2f4f856448664e01a3b35899f3f92"}, {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:dd96c01a9dcd4889dcfcf9eb5544ca0c77603f239e3ffab0524ec17aea9a93ee"}, {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:067343c68cd6612d375710f895337b3a98a033c94f14b9a99eff902f205424e2"}, {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:5884a04f4ff56c6120f6ccf703bdeb8b5079d808ba604d4d53aec0d55dc33568"}, {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:8affcf1c98b82bc901702eb73b6947a1bfa170823c153fe8a47b5f5f02e48e40"}, {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:0d17522c37d03e85c8098ec8431636309b2682cf12e58f4dbc76121fb50e4962"}, {file = "multidict-6.7.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:24c0cf81544ca5e17cfcb6e482e7a82cd475925242b308b890c9452a074d4505"}, {file = "multidict-6.7.1-cp310-cp310-win32.whl", hash = "sha256:d82dd730a95e6643802f4454b8fdecdf08667881a9c5670db85bc5a56693f122"}, {file = "multidict-6.7.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf37cbe5ced48d417ba045aca1b21bafca67489452debcde94778a576666a1df"}, {file = "multidict-6.7.1-cp310-cp310-win_arm64.whl", hash = "sha256:59bc83d3f66b41dac1e7460aac1d196edc70c9ba3094965c467715a70ecb46db"}, {file = "multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d"}, {file = "multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e"}, {file = "multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855"}, {file = "multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3"}, {file = "multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e"}, {file = "multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a"}, {file = "multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8"}, {file = "multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0"}, {file = "multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144"}, {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49"}, {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71"}, {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3"}, {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c"}, {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0"}, {file = "multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa"}, {file = "multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a"}, {file = "multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b"}, {file = "multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6"}, {file = "multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172"}, {file = "multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd"}, {file = "multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7"}, {file = "multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53"}, {file = "multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75"}, {file = "multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b"}, {file = "multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733"}, {file = "multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a"}, {file = "multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961"}, {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582"}, {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e"}, {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3"}, {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6"}, {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a"}, {file = "multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba"}, {file = "multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511"}, {file = "multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19"}, {file = "multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf"}, {file = "multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23"}, {file = "multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2"}, {file = "multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445"}, {file = "multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177"}, {file = "multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23"}, {file = "multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060"}, {file = "multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d"}, {file = "multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed"}, {file = "multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429"}, {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6"}, {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9"}, {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c"}, {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84"}, {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d"}, {file = "multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33"}, {file = "multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3"}, {file = "multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5"}, {file = "multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df"}, {file = "multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1"}, {file = "multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963"}, {file = "multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34"}, {file = "multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65"}, {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292"}, {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43"}, {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca"}, {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd"}, {file = "multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7"}, {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3"}, {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4"}, {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8"}, {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c"}, {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52"}, {file = "multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108"}, {file = "multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32"}, {file = "multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8"}, {file = "multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118"}, {file = "multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee"}, {file = "multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2"}, {file = "multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1"}, {file = "multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d"}, {file = "multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31"}, {file = "multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048"}, {file = "multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362"}, {file = "multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37"}, {file = "multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709"}, {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0"}, {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb"}, {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd"}, {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601"}, {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1"}, {file = "multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b"}, {file = "multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d"}, {file = "multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f"}, {file = "multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5"}, {file = "multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581"}, {file = "multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a"}, {file = "multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c"}, {file = "multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262"}, {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59"}, {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889"}, {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4"}, {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d"}, {file = "multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609"}, {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489"}, {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c"}, {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e"}, {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c"}, {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9"}, {file = "multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2"}, {file = "multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7"}, {file = "multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5"}, {file = "multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2"}, {file = "multidict-6.7.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:65573858d27cdeaca41893185677dc82395159aa28875a8867af66532d413a8f"}, {file = "multidict-6.7.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:c524c6fb8fc342793708ab111c4dbc90ff9abd568de220432500e47e990c0358"}, {file = "multidict-6.7.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:aa23b001d968faef416ff70dc0f1ab045517b9b42a90edd3e9bcdb06479e31d5"}, {file = "multidict-6.7.1-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:6704fa2b7453b2fb121740555fa1ee20cd98c4d011120caf4d2b8d4e7c76eec0"}, {file = "multidict-6.7.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:121a34e5bfa410cdf2c8c49716de160de3b1dbcd86b49656f5681e4543bcd1a8"}, {file = "multidict-6.7.1-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:026d264228bcd637d4e060844e39cdc60f86c479e463d49075dedc21b18fbbe0"}, {file = "multidict-6.7.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0e697826df7eb63418ee190fd06ce9f1803593bb4b9517d08c60d9b9a7f69d8f"}, {file = "multidict-6.7.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb08271280173720e9fea9ede98e5231defcbad90f1624bea26f32ec8a956e2f"}, {file = "multidict-6.7.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c6b3228e1d80af737b72925ce5fb4daf5a335e49cd7ab77ed7b9fdfbf58c526e"}, {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:3943debf0fbb57bdde5901695c11094a9a36723e5c03875f87718ee15ca2f4d2"}, {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:98c5787b0a0d9a41d9311eae44c3b76e6753def8d8870ab501320efe75a6a5f8"}, {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:08ccb2a6dc72009093ebe7f3f073e5ec5964cba9a706fa94b1a1484039b87941"}, {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb351f72c26dc9abe338ca7294661aa22969ad8ffe7ef7d5541d19f368dc854a"}, {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ac1c665bad8b5d762f5f85ebe4d94130c26965f11de70c708c75671297c776de"}, {file = "multidict-6.7.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fa6609d0364f4f6f58351b4659a1f3e0e898ba2a8c5cac04cb2c7bc556b0bc5"}, {file = "multidict-6.7.1-cp39-cp39-win32.whl", hash = "sha256:6f77ce314a29263e67adadc7e7c1bc699fcb3a305059ab973d038f87caa42ed0"}, {file = "multidict-6.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:f537b55778cd3cbee430abe3131255d3a78202e0f9ea7ffc6ada893a4bcaeea4"}, {file = "multidict-6.7.1-cp39-cp39-win_arm64.whl", hash = "sha256:749aa54f578f2e5f439538706a475aa844bfa8ef75854b1401e6e528e4937cf9"}, {file = "multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56"}, {file = "multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d"}, ] [[package]] name = "mypy" version = "1.19.1" description = "Optional static typing for Python" optional = false python-versions = ">=3.9" files = [ {file = "mypy-1.19.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5f05aa3d375b385734388e844bc01733bd33c644ab48e9684faa54e5389775ec"}, {file = "mypy-1.19.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:022ea7279374af1a5d78dfcab853fe6a536eebfda4b59deab53cd21f6cd9f00b"}, {file = "mypy-1.19.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee4c11e460685c3e0c64a4c5de82ae143622410950d6be863303a1c4ba0e36d6"}, {file = "mypy-1.19.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de759aafbae8763283b2ee5869c7255391fbc4de3ff171f8f030b5ec48381b74"}, {file = "mypy-1.19.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:ab43590f9cd5108f41aacf9fca31841142c786827a74ab7cc8a2eacb634e09a1"}, {file = "mypy-1.19.1-cp310-cp310-win_amd64.whl", hash = "sha256:2899753e2f61e571b3971747e302d5f420c3fd09650e1951e99f823bc3089dac"}, {file = "mypy-1.19.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:d8dfc6ab58ca7dda47d9237349157500468e404b17213d44fc1cb77bce532288"}, {file = "mypy-1.19.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e3f276d8493c3c97930e354b2595a44a21348b320d859fb4a2b9f66da9ed27ab"}, {file = "mypy-1.19.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2abb24cf3f17864770d18d673c85235ba52456b36a06b6afc1e07c1fdcd3d0e6"}, {file = "mypy-1.19.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a009ffa5a621762d0c926a078c2d639104becab69e79538a494bcccb62cc0331"}, {file = "mypy-1.19.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:f7cee03c9a2e2ee26ec07479f38ea9c884e301d42c6d43a19d20fb014e3ba925"}, {file = "mypy-1.19.1-cp311-cp311-win_amd64.whl", hash = "sha256:4b84a7a18f41e167f7995200a1d07a4a6810e89d29859df936f1c3923d263042"}, {file = "mypy-1.19.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a8174a03289288c1f6c46d55cef02379b478bfbc8e358e02047487cad44c6ca1"}, {file = "mypy-1.19.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ffcebe56eb09ff0c0885e750036a095e23793ba6c2e894e7e63f6d89ad51f22e"}, {file = "mypy-1.19.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b64d987153888790bcdb03a6473d321820597ab8dd9243b27a92153c4fa50fd2"}, {file = "mypy-1.19.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c35d298c2c4bba75feb2195655dfea8124d855dfd7343bf8b8c055421eaf0cf8"}, {file = "mypy-1.19.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:34c81968774648ab5ac09c29a375fdede03ba253f8f8287847bd480782f73a6a"}, {file = "mypy-1.19.1-cp312-cp312-win_amd64.whl", hash = "sha256:b10e7c2cd7870ba4ad9b2d8a6102eb5ffc1f16ca35e3de6bfa390c1113029d13"}, {file = "mypy-1.19.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e3157c7594ff2ef1634ee058aafc56a82db665c9438fd41b390f3bde1ab12250"}, {file = "mypy-1.19.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:bdb12f69bcc02700c2b47e070238f42cb87f18c0bc1fc4cdb4fb2bc5fd7a3b8b"}, {file = "mypy-1.19.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f859fb09d9583a985be9a493d5cfc5515b56b08f7447759a0c5deaf68d80506e"}, {file = "mypy-1.19.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c9a6538e0415310aad77cb94004ca6482330fece18036b5f360b62c45814c4ef"}, {file = "mypy-1.19.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:da4869fc5e7f62a88f3fe0b5c919d1d9f7ea3cef92d3689de2823fd27e40aa75"}, {file = "mypy-1.19.1-cp313-cp313-win_amd64.whl", hash = "sha256:016f2246209095e8eda7538944daa1d60e1e8134d98983b9fc1e92c1fc0cb8dd"}, {file = "mypy-1.19.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:06e6170bd5836770e8104c8fdd58e5e725cfeb309f0a6c681a811f557e97eac1"}, {file = "mypy-1.19.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:804bd67b8054a85447c8954215a906d6eff9cabeabe493fb6334b24f4bfff718"}, {file = "mypy-1.19.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:21761006a7f497cb0d4de3d8ef4ca70532256688b0523eee02baf9eec895e27b"}, {file = "mypy-1.19.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:28902ee51f12e0f19e1e16fbe2f8f06b6637f482c459dd393efddd0ec7f82045"}, {file = "mypy-1.19.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:481daf36a4c443332e2ae9c137dfee878fcea781a2e3f895d54bd3002a900957"}, {file = "mypy-1.19.1-cp314-cp314-win_amd64.whl", hash = "sha256:8bb5c6f6d043655e055be9b542aa5f3bdd30e4f3589163e85f93f3640060509f"}, {file = "mypy-1.19.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7bcfc336a03a1aaa26dfce9fff3e287a3ba99872a157561cbfcebe67c13308e3"}, {file = "mypy-1.19.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b7951a701c07ea584c4fe327834b92a30825514c868b1f69c30445093fdd9d5a"}, {file = "mypy-1.19.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b13cfdd6c87fc3efb69ea4ec18ef79c74c3f98b4e5498ca9b85ab3b2c2329a67"}, {file = "mypy-1.19.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4f28f99c824ecebcdaa2e55d82953e38ff60ee5ec938476796636b86afa3956e"}, {file = "mypy-1.19.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c608937067d2fc5a4dd1a5ce92fd9e1398691b8c5d012d66e1ddd430e9244376"}, {file = "mypy-1.19.1-cp39-cp39-win_amd64.whl", hash = "sha256:409088884802d511ee52ca067707b90c883426bd95514e8cfda8281dc2effe24"}, {file = "mypy-1.19.1-py3-none-any.whl", hash = "sha256:f1235f5ea01b7db5468d53ece6aaddf1ad0b88d9e7462b86ef96fe04995d7247"}, {file = "mypy-1.19.1.tar.gz", hash = "sha256:19d88bb05303fe63f71dd2c6270daca27cb9401c4ca8255fe50d1d920e0eb9ba"}, ] [package.dependencies] librt = {version = ">=0.6.2", markers = "platform_python_implementation != \"PyPy\""} 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.10.0" 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.10.0-py2.py3-none-any.whl", hash = "sha256:5bb13e3eed2923615535339b3c620e76779af4cb4c6a90deccc9e36b274d3827"}, {file = "nodeenv-1.10.0.tar.gz", hash = "sha256:996c191ad80897d076bdfba80a41994c2b47c68e224c542b48feba42ba00f8bb"}, ] [[package]] name = "orjson" version = "3.11.7" description = "Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy" optional = false python-versions = ">=3.10" files = [ {file = "orjson-3.11.7-cp310-cp310-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:a02c833f38f36546ba65a452127633afce4cf0dd7296b753d3bb54e55e5c0174"}, {file = "orjson-3.11.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b63c6e6738d7c3470ad01601e23376aa511e50e1f3931395b9f9c722406d1a67"}, {file = "orjson-3.11.7-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:043d3006b7d32c7e233b8cfb1f01c651013ea079e08dcef7189a29abd8befe11"}, {file = "orjson-3.11.7-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57036b27ac8a25d81112eb0cc9835cd4833c5b16e1467816adc0015f59e870dc"}, {file = "orjson-3.11.7-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:733ae23ada68b804b222c44affed76b39e30806d38660bf1eb200520d259cc16"}, {file = "orjson-3.11.7-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5fdfad2093bdd08245f2e204d977facd5f871c88c4a71230d5bcbd0e43bf6222"}, {file = "orjson-3.11.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cededd6738e1c153530793998e31c05086582b08315db48ab66649768f326baa"}, {file = "orjson-3.11.7-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:14f440c7268c8f8633d1b3d443a434bd70cb15686117ea6beff8fdc8f5917a1e"}, {file = "orjson-3.11.7-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:3a2479753bbb95b0ebcf7969f562cdb9668e6d12416a35b0dda79febf89cdea2"}, {file = "orjson-3.11.7-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:71924496986275a737f38e3f22b4e0878882b3f7a310d2ff4dc96e812789120c"}, {file = "orjson-3.11.7-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b4a9eefdc70bf8bf9857f0290f973dec534ac84c35cd6a7f4083be43e7170a8f"}, {file = "orjson-3.11.7-cp310-cp310-win32.whl", hash = "sha256:ae9e0b37a834cef7ce8f99de6498f8fad4a2c0bf6bfc3d02abd8ed56aa15b2de"}, {file = "orjson-3.11.7-cp310-cp310-win_amd64.whl", hash = "sha256:d772afdb22555f0c58cfc741bdae44180122b3616faa1ecadb595cd526e4c993"}, {file = "orjson-3.11.7-cp311-cp311-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:9487abc2c2086e7c8eb9a211d2ce8855bae0e92586279d0d27b341d5ad76c85c"}, {file = "orjson-3.11.7-cp311-cp311-macosx_15_0_arm64.whl", hash = "sha256:79cacb0b52f6004caf92405a7e1f11e6e2de8bdf9019e4f76b44ba045125cd6b"}, {file = "orjson-3.11.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c2e85fe4698b6a56d5e2ebf7ae87544d668eb6bde1ad1226c13f44663f20ec9e"}, {file = "orjson-3.11.7-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b8d14b71c0b12963fe8a62aac87119f1afdf4cb88a400f61ca5ae581449efcb5"}, {file = "orjson-3.11.7-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:91c81ef070c8f3220054115e1ef468b1c9ce8497b4e526cb9f68ab4dc0a7ac62"}, {file = "orjson-3.11.7-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:411ebaf34d735e25e358a6d9e7978954a9c9d58cfb47bc6683cdc3964cd2f910"}, {file = "orjson-3.11.7-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a16bcd08ab0bcdfc7e8801d9c4a9cc17e58418e4d48ddc6ded4e9e4b1a94062b"}, {file = "orjson-3.11.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c0b51672e466fd7e56230ffbae7f1639e18d0ce023351fb75da21b71bc2c960"}, {file = "orjson-3.11.7-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:136dcd6a2e796dfd9ffca9fc027d778567b0b7c9968d092842d3c323cef88aa8"}, {file = "orjson-3.11.7-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:7ba61079379b0ae29e117db13bda5f28d939766e410d321ec1624afc6a0b0504"}, {file = "orjson-3.11.7-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0527a4510c300e3b406591b0ba69b5dc50031895b0a93743526a3fc45f59d26e"}, {file = "orjson-3.11.7-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a709e881723c9b18acddcfb8ba357322491ad553e277cf467e1e7e20e2d90561"}, {file = "orjson-3.11.7-cp311-cp311-win32.whl", hash = "sha256:c43b8b5bab288b6b90dac410cca7e986a4fa747a2e8f94615aea407da706980d"}, {file = "orjson-3.11.7-cp311-cp311-win_amd64.whl", hash = "sha256:6543001328aa857187f905308a028935864aefe9968af3848401b6fe80dbb471"}, {file = "orjson-3.11.7-cp311-cp311-win_arm64.whl", hash = "sha256:1ee5cc7160a821dfe14f130bc8e63e7611051f964b463d9e2a3a573204446a4d"}, {file = "orjson-3.11.7-cp312-cp312-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:bd03ea7606833655048dab1a00734a2875e3e86c276e1d772b2a02556f0d895f"}, {file = "orjson-3.11.7-cp312-cp312-macosx_15_0_arm64.whl", hash = "sha256:89e440ebc74ce8ab5c7bc4ce6757b4a6b1041becb127df818f6997b5c71aa60b"}, {file = "orjson-3.11.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ede977b5fe5ac91b1dffc0a517ca4542d2ec8a6a4ff7b2652d94f640796342a"}, {file = "orjson-3.11.7-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b7b1dae39230a393df353827c855a5f176271c23434cfd2db74e0e424e693e10"}, {file = "orjson-3.11.7-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ed46f17096e28fb28d2975834836a639af7278aa87c84f68ab08fbe5b8bd75fa"}, {file = "orjson-3.11.7-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3726be79e36e526e3d9c1aceaadbfb4a04ee80a72ab47b3f3c17fefb9812e7b8"}, {file = "orjson-3.11.7-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0724e265bc548af1dedebd9cb3d24b4e1c1e685a343be43e87ba922a5c5fff2f"}, {file = "orjson-3.11.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7745312efa9e11c17fbd3cb3097262d079da26930ae9ae7ba28fb738367cbad"}, {file = "orjson-3.11.7-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:f904c24bdeabd4298f7a977ef14ca2a022ca921ed670b92ecd16ab6f3d01f867"}, {file = "orjson-3.11.7-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b9fc4d0f81f394689e0814617aadc4f2ea0e8025f38c226cbf22d3b5ddbf025d"}, {file = "orjson-3.11.7-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:849e38203e5be40b776ed2718e587faf204d184fc9a008ae441f9442320c0cab"}, {file = "orjson-3.11.7-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4682d1db3bcebd2b64757e0ddf9e87ae5f00d29d16c5cdf3a62f561d08cc3dd2"}, {file = "orjson-3.11.7-cp312-cp312-win32.whl", hash = "sha256:f4f7c956b5215d949a1f65334cf9d7612dde38f20a95f2315deef167def91a6f"}, {file = "orjson-3.11.7-cp312-cp312-win_amd64.whl", hash = "sha256:bf742e149121dc5648ba0a08ea0871e87b660467ef168a3a5e53bc1fbd64bb74"}, {file = "orjson-3.11.7-cp312-cp312-win_arm64.whl", hash = "sha256:26c3b9132f783b7d7903bf1efb095fed8d4a3a85ec0d334ee8beff3d7a4749d5"}, {file = "orjson-3.11.7-cp313-cp313-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:1d98b30cc1313d52d4af17d9c3d307b08389752ec5f2e5febdfada70b0f8c733"}, {file = "orjson-3.11.7-cp313-cp313-macosx_15_0_arm64.whl", hash = "sha256:d897e81f8d0cbd2abb82226d1860ad2e1ab3ff16d7b08c96ca00df9d45409ef4"}, {file = "orjson-3.11.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:814be4b49b228cfc0b3c565acf642dd7d13538f966e3ccde61f4f55be3e20785"}, {file = "orjson-3.11.7-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d06e5c5fed5caedd2e540d62e5b1c25e8c82431b9e577c33537e5fa4aa909539"}, {file = "orjson-3.11.7-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:31c80ce534ac4ea3739c5ee751270646cbc46e45aea7576a38ffec040b4029a1"}, {file = "orjson-3.11.7-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f50979824bde13d32b4320eedd513431c921102796d86be3eee0b58e58a3ecd1"}, {file = "orjson-3.11.7-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9e54f3808e2b6b945078c41aa8d9b5834b28c50843846e97807e5adb75fa9705"}, {file = "orjson-3.11.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a12b80df61aab7b98b490fe9e4879925ba666fccdfcd175252ce4d9035865ace"}, {file = "orjson-3.11.7-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:996b65230271f1a97026fd0e6a753f51fbc0c335d2ad0c6201f711b0da32693b"}, {file = "orjson-3.11.7-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ab49d4b2a6a1d415ddb9f37a21e02e0d5dbfe10b7870b21bf779fc21e9156157"}, {file = "orjson-3.11.7-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:390a1dce0c055ddf8adb6aa94a73b45a4a7d7177b5c584b8d1c1947f2ba60fb3"}, {file = "orjson-3.11.7-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:1eb80451a9c351a71dfaf5b7ccc13ad065405217726b59fdbeadbcc544f9d223"}, {file = "orjson-3.11.7-cp313-cp313-win32.whl", hash = "sha256:7477aa6a6ec6139c5cb1cc7b214643592169a5494d200397c7fc95d740d5fcf3"}, {file = "orjson-3.11.7-cp313-cp313-win_amd64.whl", hash = "sha256:b9f95dcdea9d4f805daa9ddf02617a89e484c6985fa03055459f90e87d7a0757"}, {file = "orjson-3.11.7-cp313-cp313-win_arm64.whl", hash = "sha256:800988273a014a0541483dc81021247d7eacb0c845a9d1a34a422bc718f41539"}, {file = "orjson-3.11.7-cp314-cp314-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:de0a37f21d0d364954ad5de1970491d7fbd0fb1ef7417d4d56a36dc01ba0c0a0"}, {file = "orjson-3.11.7-cp314-cp314-macosx_15_0_arm64.whl", hash = "sha256:c2428d358d85e8da9d37cba18b8c4047c55222007a84f97156a5b22028dfbfc0"}, {file = "orjson-3.11.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c4bc6c6ac52cdaa267552544c73e486fecbd710b7ac09bc024d5a78555a22f6"}, {file = "orjson-3.11.7-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bd0d68edd7dfca1b2eca9361a44ac9f24b078de3481003159929a0573f21a6bf"}, {file = "orjson-3.11.7-cp314-cp314-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:623ad1b9548ef63886319c16fa317848e465a21513b31a6ad7b57443c3e0dcf5"}, {file = "orjson-3.11.7-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6e776b998ac37c0396093d10290e60283f59cfe0fc3fccbd0ccc4bd04dd19892"}, {file = "orjson-3.11.7-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:652c6c3af76716f4a9c290371ba2e390ede06f6603edb277b481daf37f6f464e"}, {file = "orjson-3.11.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a56df3239294ea5964adf074c54bcc4f0ccd21636049a2cf3ca9cf03b5d03cf1"}, {file = "orjson-3.11.7-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:bda117c4148e81f746655d5a3239ae9bd00cb7bc3ca178b5fc5a5997e9744183"}, {file = "orjson-3.11.7-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:23d6c20517a97a9daf1d48b580fcdc6f0516c6f4b5038823426033690b4d2650"}, {file = "orjson-3.11.7-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:8ff206156006da5b847c9304b6308a01e8cdbc8cce824e2779a5ba71c3def141"}, {file = "orjson-3.11.7-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:962d046ee1765f74a1da723f4b33e3b228fe3a48bd307acce5021dfefe0e29b2"}, {file = "orjson-3.11.7-cp314-cp314-win32.whl", hash = "sha256:89e13dd3f89f1c38a9c9eba5fbf7cdc2d1feca82f5f290864b4b7a6aac704576"}, {file = "orjson-3.11.7-cp314-cp314-win_amd64.whl", hash = "sha256:845c3e0d8ded9c9271cd79596b9b552448b885b97110f628fb687aee2eed11c1"}, {file = "orjson-3.11.7-cp314-cp314-win_arm64.whl", hash = "sha256:4a2e9c5be347b937a2e0203866f12bba36082e89b402ddb9e927d5822e43088d"}, {file = "orjson-3.11.7.tar.gz", hash = "sha256:9b1a67243945819ce55d24a30b59d6a168e86220452d2c96f4d1f093e71c0c49"}, ] [[package]] name = "packaging" version = "26.0" description = "Core utilities for Python packages" optional = false python-versions = ">=3.8" files = [ {file = "packaging-26.0-py3-none-any.whl", hash = "sha256:b36f1fef9334a5588b4166f8bcd26a14e521f2b55e6b9de3aaa80d3ff7a37529"}, {file = "packaging-26.0.tar.gz", hash = "sha256:00243ae351a257117b6a241061796684b084ed1c516a08c48a3f7e147a9d80b4"}, ] [[package]] name = "pathspec" version = "1.0.4" description = "Utility library for gitignore style pattern matching of file paths." optional = false python-versions = ">=3.9" files = [ {file = "pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723"}, {file = "pathspec-1.0.4.tar.gz", hash = "sha256:0210e2ae8a21a9137c0d470578cb0e595af87edaa6ebf12ff176f14a02e0e645"}, ] [package.extras] hyperscan = ["hyperscan (>=0.7)"] optional = ["typing-extensions (>=4)"] re2 = ["google-re2 (>=1.1)"] tests = ["pytest (>=9)", "typing-extensions (>=4.15)"] [[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.1" description = "A framework for managing and maintaining multi-language pre-commit hooks." optional = false python-versions = ">=3.10" files = [ {file = "pre_commit-4.5.1-py2.py3-none-any.whl", hash = "sha256:3b3afd891e97337708c1674210f8eba659b52a38ea5f822ff142d10786221f77"}, {file = "pre_commit-4.5.1.tar.gz", hash = "sha256:eb545fcff725875197837263e977ea257a402056661f09dae08e4b149b030a61"}, ] [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.19.1" 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.9" files = [ {file = "ruamel_yaml-0.19.1-py3-none-any.whl", hash = "sha256:27592957fedf6e0b62f281e96effd28043345e0e66001f97683aa9a40c667c93"}, {file = "ruamel_yaml-0.19.1.tar.gz", hash = "sha256:53eb66cd27849eff968ebf8f0bf61f46cdac2da1d1f3576dd4ccee9b25c31993"}, ] [package.extras] docs = ["mercurial (>5.7)", "ryd"] jinja2 = ["ruamel.yaml.jinja2 (>=0.2)"] libyaml = ["ruamel.yaml.clibz (>=0.3.7)"] oldlibyaml = ["ruamel.yaml.clib"] [[package]] name = "ruff" version = "0.14.14" description = "An extremely fast Python linter and code formatter, written in Rust." optional = false python-versions = ">=3.7" files = [ {file = "ruff-0.14.14-py3-none-linux_armv6l.whl", hash = "sha256:7cfe36b56e8489dee8fbc777c61959f60ec0f1f11817e8f2415f429552846aed"}, {file = "ruff-0.14.14-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:6006a0082336e7920b9573ef8a7f52eec837add1265cc74e04ea8a4368cd704c"}, {file = "ruff-0.14.14-py3-none-macosx_11_0_arm64.whl", hash = "sha256:026c1d25996818f0bf498636686199d9bd0d9d6341c9c2c3b62e2a0198b758de"}, {file = "ruff-0.14.14-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f666445819d31210b71e0a6d1c01e24447a20b85458eea25a25fe8142210ae0e"}, {file = "ruff-0.14.14-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c0f18b922c6d2ff9a5e6c3ee16259adc513ca775bcf82c67ebab7cbd9da5bc8"}, {file = "ruff-0.14.14-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1629e67489c2dea43e8658c3dba659edbfd87361624b4040d1df04c9740ae906"}, {file = "ruff-0.14.14-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:27493a2131ea0f899057d49d303e4292b2cae2bb57253c1ed1f256fbcd1da480"}, {file = "ruff-0.14.14-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:01ff589aab3f5b539e35db38425da31a57521efd1e4ad1ae08fc34dbe30bd7df"}, {file = "ruff-0.14.14-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1cc12d74eef0f29f51775f5b755913eb523546b88e2d733e1d701fe65144e89b"}, {file = "ruff-0.14.14-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb8481604b7a9e75eff53772496201690ce2687067e038b3cc31aaf16aa0b974"}, {file = "ruff-0.14.14-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:14649acb1cf7b5d2d283ebd2f58d56b75836ed8c6f329664fa91cdea19e76e66"}, {file = "ruff-0.14.14-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:e8058d2145566510790eab4e2fad186002e288dec5e0d343a92fe7b0bc1b3e13"}, {file = "ruff-0.14.14-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:e651e977a79e4c758eb807f0481d673a67ffe53cfa92209781dfa3a996cf8412"}, {file = "ruff-0.14.14-py3-none-musllinux_1_2_i686.whl", hash = "sha256:cc8b22da8d9d6fdd844a68ae937e2a0adf9b16514e9a97cc60355e2d4b219fc3"}, {file = "ruff-0.14.14-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:16bc890fb4cc9781bb05beb5ab4cd51be9e7cb376bf1dd3580512b24eb3fda2b"}, {file = "ruff-0.14.14-py3-none-win32.whl", hash = "sha256:b530c191970b143375b6a68e6f743800b2b786bbcf03a7965b06c4bf04568167"}, {file = "ruff-0.14.14-py3-none-win_amd64.whl", hash = "sha256:3dde1435e6b6fe5b66506c1dff67a421d0b7f6488d466f651c07f4cab3bf20fd"}, {file = "ruff-0.14.14-py3-none-win_arm64.whl", hash = "sha256:56e6981a98b13a32236a72a8da421d7839221fa308b223b9283312312e5ac76c"}, {file = "ruff-0.14.14.tar.gz", hash = "sha256:2d0f819c9a90205f3a867dbbd0be083bee9912e170fd7d9704cc8ae45824896b"}, ] [[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.1.0" description = "Pytest Snapshot Test Utility" optional = false python-versions = ">=3.10" files = [ {file = "syrupy-5.1.0-py3-none-any.whl", hash = "sha256:95162d2b05e61ed3e13f117b88dfab7c58bd6f90e66ebbf918e8a77114ad51c5"}, {file = "syrupy-5.1.0.tar.gz", hash = "sha256:df543c7aa50d3cf1246e83d58fe490afe5f7dab7b41e74ecc0d8d23ae19bd4b8"}, ] [package.dependencies] pytest = ">=8.0.0" [[package]] name = "tomlkit" version = "0.14.0" description = "Style preserving TOML library" optional = false python-versions = ">=3.9" files = [ {file = "tomlkit-0.14.0-py3-none-any.whl", hash = "sha256:592064ed85b40fa213469f81ac584f67a4f2992509a7c3ea2d632208623a3680"}, {file = "tomlkit-0.14.0.tar.gz", hash = "sha256:cf00efca415dbd57575befb1f6634c4f42d2d87dbba376128adb42c121b87064"}, ] [[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.36.1" description = "Virtual Python Environment builder" optional = false python-versions = ">=3.8" files = [ {file = "virtualenv-20.36.1-py3-none-any.whl", hash = "sha256:575a8d6b124ef88f6f51d56d656132389f961062a9177016a50e4f507bbcc19f"}, {file = "virtualenv-20.36.1.tar.gz", hash = "sha256:8befb5c81842c641f8ee658481e42641c68b5eab3521d8e092d18320902466ba"}, ] [package.dependencies] distlib = ">=0.3.7,<1" filelock = {version = ">=3.20.1,<4", markers = "python_version >= \"3.10\""} 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.38.0" description = "A linter for YAML files." optional = false python-versions = ">=3.10" files = [ {file = "yamllint-1.38.0-py3-none-any.whl", hash = "sha256:fc394a5b3be980a4062607b8fdddc0843f4fa394152b6da21722f5d59013c220"}, {file = "yamllint-1.38.0.tar.gz", hash = "sha256:09e5f29531daab93366bb061e76019d5e91691ef0a40328f04c927387d1d364d"}, ] [package.dependencies] pathspec = ">=1.0.0" pyyaml = "*" [package.extras] dev = ["doc8", "flake8", "flake8-import-order", "rstcheck[sphinx]", "ruff", "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 = "1587dcdf600a22d8e44a89a7ada8db67ea4dda3ca13b0384096a3b32693d4b63" pySmartThings-pysmartthings-fc7601d/pyproject.toml000066400000000000000000000076461514307616200226120ustar00rootroot00000000000000[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.13.4", 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.1" pre-commit-hooks = "6.0.0" yamllint = "1.38.0" ruff = "0.14.14" syrupy = "5.1.0" aioresponses = "0.7.8" treelib = "1.8.0" pyperclip = "1.11.0" mypy = "1.19.1" [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-fc7601d/script/000077500000000000000000000000001514307616200211655ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/script/__init__.py000066400000000000000000000000251514307616200232730ustar00rootroot00000000000000"""Script module.""" pySmartThings-pysmartthings-fc7601d/script/generate_enums.py000066400000000000000000000166571514307616200245570ustar00rootroot00000000000000"""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-fc7601d/script/process_device_status.py000066400000000000000000000072511514307616200261440ustar00rootroot00000000000000"""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-fc7601d/script/sort_capability.py000066400000000000000000000022661514307616200247350ustar00rootroot00000000000000"""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-fc7601d/script/sort_command.py000066400000000000000000000007741514307616200242340ustar00rootroot00000000000000"""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-fc7601d/sonar-project.properties000066400000000000000000000011341514307616200245640ustar00rootroot00000000000000sonar.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-fc7601d/src/000077500000000000000000000000001514307616200204505ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/src/pysmartthings/000077500000000000000000000000001514307616200233645ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/src/pysmartthings/__init__.py000066400000000000000000000037171514307616200255050ustar00rootroot00000000000000"""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-fc7601d/src/pysmartthings/attribute.py000066400000000000000000004353751514307616200257620ustar00rootroot00000000000000"""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_CURTAIN_POWER_BUTTONS = "availableCurtainPowerButtons" AVAILABLE_CUSTOM_BUTTONS = "availableCustomButtons" AVAILABLE_DEHUMIDIFIER_MODES = "availableDehumidifierModes" 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" INVISIBLE_LIST = "invisibleList" 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" PRELOADED_BREWING_RECIPES = "preloadedBrewingRecipes" 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_COUNTRY = "releaseCountry" 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" SAVER_MODE = "saverMode" 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_SAVER_MODES = "supportedSaverModes" 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_SWITCH_TO_SAVER_MODES = "supportedSwitchToSaverModes" 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" SWITCH_TO_SAVER_MODE = "switchToSaverMode" 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_DEFINED_BREWING_RECIPES = "userDefinedBrewingRecipes" 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" VISIBLE_LIST = "visibleList" 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_CURTAIN_POWER_BUTTON: [ Attribute.AVAILABLE_CURTAIN_POWER_BUTTONS ], 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.ACTIVATED, Attribute.COFFEE_BREWING_RECIPES, Attribute.COFFEE_BREWING_STATUS, Attribute.INVISIBLE_LIST, Attribute.MAX_NUMBER_OF_RECIPES, Attribute.PRELOADED_BREWING_RECIPES, Attribute.SUPPORTED_PUBLISHER_I_DS, Attribute.USER_DEFINED_BREWING_RECIPES, Attribute.VISIBLE_LIST, ], 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.AVAILABLE_DEHUMIDIFIER_MODES, 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_COUNTRY, 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.SAVER_MODE, Attribute.SUPPORTED_POWER_SAVINGS, Attribute.SUPPORTED_SAVER_MODES, Attribute.SUPPORTED_SWITCH_TO_SAVER_MODES, Attribute.SWITCH_TO_SAVER_MODE, ], 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_COLOR2: [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-fc7601d/src/pysmartthings/capability.py000066400000000000000000001437271514307616200260750ustar00rootroot00000000000000"""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_CURTAIN_POWER_BUTTON = "statelessCurtainPowerButton" 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_COLOR2 = "platemusic11009.zoozLedColor2" 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-fc7601d/src/pysmartthings/command.py000066400000000000000000002641721514307616200253700ustar00rootroot00000000000000"""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_INVISIBLE_LIST = "setInvisibleList" 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_SAVER_MODE = "setSaverMode" 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_SWITCH_TO_SAVER_MODE = "setSwitchToSaverMode" 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_DEFINED_BREWING_RECIPES = "setUserDefinedBrewingRecipes" SET_USER_LOCATION = "setUserLocation" SET_VALUE = "setValue" SET_VIRUS_DOCTOR_MODE = "setVirusDoctorMode" SET_VISIBLE_LIST = "setVisibleList" 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_CURTAIN_POWER_BUTTON: [Command.SET_BUTTON], 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.ACTIVATE, Command.DEACTIVATE, Command.SET_COFFEE_BREWING_RECIPE, Command.SET_INVISIBLE_LIST, Command.SET_USER_DEFINED_BREWING_RECIPES, Command.SET_VISIBLE_LIST, ], 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, Command.SET_SAVER_MODE, Command.SET_SWITCH_TO_SAVER_MODE, ], 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_COLOR2: [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-fc7601d/src/pysmartthings/const.py000066400000000000000000000003141514307616200250620ustar00rootroot00000000000000"""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-fc7601d/src/pysmartthings/exceptions.py000066400000000000000000000030011514307616200261110ustar00rootroot00000000000000"""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-fc7601d/src/pysmartthings/models.py000066400000000000000000000447131514307616200252320ustar00rootroot00000000000000"""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-fc7601d/src/pysmartthings/py.typed000066400000000000000000000000001514307616200250510ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/src/pysmartthings/smartthings.py000066400000000000000000000635531514307616200263150ustar00rootroot00000000000000"""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-fc7601d/tests/000077500000000000000000000000001514307616200210235ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/__init__.py000066400000000000000000000007031514307616200231340ustar00rootroot00000000000000"""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-fc7601d/tests/__snapshots__/000077500000000000000000000000001514307616200236415ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/__snapshots__/test_device.ambr000066400000000000000000061271611514307616200270200ustar00rootroot00000000000000# 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-fc7601d/tests/__snapshots__/test_location.ambr000066400000000000000000000010761514307616200273570ustar00rootroot00000000000000# 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-fc7601d/tests/__snapshots__/test_room.ambr000066400000000000000000000006551514307616200265250ustar00rootroot00000000000000# 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-fc7601d/tests/__snapshots__/test_scenes.ambr000066400000000000000000000007411514307616200270250ustar00rootroot00000000000000# 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-fc7601d/tests/__snapshots__/test_smartapp.ambr000066400000000000000000000004411514307616200273710ustar00rootroot00000000000000# 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-fc7601d/tests/conftest.py000066400000000000000000000021711514307616200232230ustar00rootroot00000000000000"""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-fc7601d/tests/const.py000066400000000000000000000003071514307616200225230ustar00rootroot00000000000000"""Constants for the SmartThings tests.""" MOCK_URL = "https://api.smartthings.com" HEADERS = { "Authorization": "Bearer token", "Accept": "application/vnd.smartthings+json;v=20250122", } pySmartThings-pysmartthings-fc7601d/tests/fixtures/000077500000000000000000000000001514307616200226745ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/fixtures/app_get.json000066400000000000000000000022161514307616200252070ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/app_oauth_generate_request.json000066400000000000000000000001001514307616200311600ustar00rootroot00000000000000{ "clientName": "pysmartthings", "scope": ["r:devices:*"] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/app_oauth_generate_response.json000066400000000000000000000004551514307616200313430ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/app_oauth_get_response.json000066400000000000000000000001311514307616200303170ustar00rootroot00000000000000{ "clientName": "pysmartthings-test", "scope": ["r:devices"], "redirectUris": [] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/app_oauth_put_request.json000066400000000000000000000001031514307616200302010ustar00rootroot00000000000000{ "clientName": "pysmartthings-test", "scope": ["r:devices"] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/app_oauth_put_response.json000066400000000000000000000001311514307616200303500ustar00rootroot00000000000000{ "clientName": "pysmartthings-test", "scope": ["r:devices"], "redirectUris": [] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/app_post_request.json000066400000000000000000000005631514307616200271700ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/app_post_response.json000066400000000000000000000014451514307616200273360ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/app_put_request.json000066400000000000000000000005041514307616200270060ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/app_put_response.json000066400000000000000000000020561514307616200271600ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/app_settings.json000066400000000000000000000000531514307616200262650ustar00rootroot00000000000000{ "settings": { "test": "test" } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/apps.json000066400000000000000000000007021514307616200245310ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device.json000066400000000000000000000032021514307616200250230ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_command_error.json000066400000000000000000000005711514307616200277400ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_command_post_channel_down.json000066400000000000000000000001771514307616200323150ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "tvChannel", "command": "channelDown" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_channel_up.json000066400000000000000000000001751514307616200317700ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "tvChannel", "command": "channelUp" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_close.json000066400000000000000000000001731514307616200307570ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "doorControl", "command": "close" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_close_legacy.json000066400000000000000000000002011514307616200322730ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "garageDoorControl", "command": "close" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_close_window_shade.json000066400000000000000000000001731514307616200335120ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "windowShade", "command": "close" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_execute.json000066400000000000000000000002521514307616200313120ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "execute", "command": "execute", "arguments": ["Test", { "data": "Test" }] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_fast_forward.json000066400000000000000000000002031514307616200323250ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "fastForward" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_lock.json000066400000000000000000000001631514307616200306010ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "lock", "command": "lock" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_mute.json000066400000000000000000000001701514307616200306210ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioMute", "command": "mute" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_open.json000066400000000000000000000001721514307616200306120ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "doorControl", "command": "open" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_open_legacy.json000066400000000000000000000002001514307616200321260ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "garageDoorControl", "command": "open" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_open_window_shade.json000066400000000000000000000001721514307616200333450ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "windowShade", "command": "open" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_override_drlc_action.json000066400000000000000000000002611514307616200340300ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "demandResponseLoadControl", "command": "overrideDrlcAction", "arguments": [true] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_pause.json000066400000000000000000000001751514307616200307710ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "pause" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_play.json000066400000000000000000000001741514307616200306200ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "play" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_preset_position.json000066400000000000000000000002041514307616200330730ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "windowShade", "command": "presetPosition" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_request_drlc_action.json000066400000000000000000000003171514307616200337030ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "demandResponseLoadControl", "command": "requestDrlcAction", "arguments": [1, 2, "1970-01-01T00:00:00Z", 10, 1] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_rewind.json000066400000000000000000000001761514307616200311450ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "rewind" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_air_conditioner_mode.json000066400000000000000000000002571514307616200347040ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "airConditionerMode", "command": "setAirConditionerMode", "arguments": ["auto"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_air_flow_direction.json000066400000000000000000000002541514307616200343670ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "airFlowDirection", "command": "setAirFlowDirection", "arguments": ["fixed"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_color.json000066400000000000000000000003411514307616200316400ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorControl", "command": "setColor", "arguments": [ { "hue": 25, "saturation": 50 } ] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_color_hex.json000066400000000000000000000003141514307616200325040ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorControl", "command": "setColor", "arguments": [ { "hex": "#4B6432" } ] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_color_temperature.json000066400000000000000000000002511514307616200342550ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorTemperature", "command": "setColorTemperature", "arguments": [3000] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_cooling_setpoint.json000066400000000000000000000002571514307616200341070ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "thermostatCoolingSetpoint", "command": "setCoolingSetpoint", "arguments": [76] } ] } device_command_post_set_cooling_setpoint_legacy.json000066400000000000000000000002401514307616200353440ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/fixtures{ "commands": [ { "component": "main", "capability": "thermostat", "command": "setCoolingSetpoint", "arguments": [76] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_fan_mode.json000066400000000000000000000002471514307616200322770ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "airConditionerFanMode", "command": "setFanMode", "arguments": ["auto"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_fan_oscillation_mode.json000066400000000000000000000002561514307616200346770ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "fanOscillationMode", "command": "setFanOscillationMode", "arguments": ["all"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_fan_speed.json000066400000000000000000000002271514307616200324510ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "fanSpeed", "command": "setFanSpeed", "arguments": [66] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_heating_setpoint.json000066400000000000000000000002571514307616200340740ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "thermostatHeatingSetpoint", "command": "setHeatingSetpoint", "arguments": [76] } ] } device_command_post_set_heating_setpoint_legacy.json000066400000000000000000000002401514307616200353310ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/fixtures{ "commands": [ { "component": "main", "capability": "thermostat", "command": "setHeatingSetpoint", "arguments": [76] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_hue.json000066400000000000000000000002261514307616200313050ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorControl", "command": "setHue", "arguments": [75] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_input_source.json000066400000000000000000000002501514307616200332400ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaInputSource", "command": "setInputSource", "arguments": ["Source"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_level.json000066400000000000000000000002321514307616200316300ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "switchLevel", "command": "setLevel", "arguments": [75, 2] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_playback_shuffle.json000066400000000000000000000002611514307616200340250ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlaybackShuffle", "command": "setPlaybackShuffle", "arguments": ["enabled"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_repeat.json000066400000000000000000000002571514307616200320100ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlaybackRepeat", "command": "setPlaybackRepeatMode", "arguments": ["all"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_saturation.json000066400000000000000000000002351514307616200327150ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorControl", "command": "setSaturation", "arguments": [75] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_shade_level.json000066400000000000000000000002411514307616200327740ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "windowShadeLevel", "command": "setShadeLevel", "arguments": [75] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_thermostat_fan_mode.json000066400000000000000000000002551514307616200345500ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "thermostatFanMode", "command": "setThermostatFanMode", "arguments": ["auto"] } ] } device_command_post_set_thermostat_fan_mode_legacy.json000066400000000000000000000002461514307616200360150ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/fixtures{ "commands": [ { "component": "main", "capability": "thermostat", "command": "setThermostatFanMode", "arguments": ["auto"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_thermostat_mode.json000066400000000000000000000002471514307616200337250ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "thermostatMode", "command": "setThermostatMode", "arguments": ["auto"] } ] } device_command_post_set_thermostat_mode_legacy.json000066400000000000000000000002431514307616200351660ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/fixtures{ "commands": [ { "component": "main", "capability": "thermostat", "command": "setThermostatMode", "arguments": ["auto"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_tv_channel.json000066400000000000000000000002401514307616200326410ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "tvChannel", "command": "setTvChannel", "arguments": ["Channel"] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_set_volume.json000066400000000000000000000002301514307616200320260ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioVolume", "command": "setVolume", "arguments": [10] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_stop.json000066400000000000000000000001741514307616200306400ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "mediaPlayback", "command": "stop" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_switch_off.json000066400000000000000000000001641514307616200320050ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "switch", "command": "off" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_switch_on.json000066400000000000000000000001631514307616200316460ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "switch", "command": "on" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_unlock.json000066400000000000000000000001651514307616200311460ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "lock", "command": "unlock" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_unmute.json000066400000000000000000000001721514307616200311660ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioMute", "command": "unmute" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_volume_down.json000066400000000000000000000002001514307616200321770ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioVolume", "command": "volumeDown" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_post_volume_up.json000066400000000000000000000001761514307616200316700ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "audioVolume", "command": "volumeUp" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_command_result.json000066400000000000000000000001621514307616200301210ustar00rootroot00000000000000{ "results": [ { "id": "c4899d21-921b-497f-9ea4-da5f967d5b9c", "status": "ACCEPTED" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_commands/000077500000000000000000000000001514307616200260145ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_commands/set_color_temperature.json000066400000000000000000000002511514307616200333130ustar00rootroot00000000000000{ "commands": [ { "component": "main", "capability": "colorTemperature", "command": "setColorTemperature", "arguments": [3000] } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_health_event.json000066400000000000000000000006741514307616200275630ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_samsungac_status.json000066400000000000000000000047161514307616200305020ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/000077500000000000000000000000001514307616200255365ustar00rootroot00000000000000pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_status/27_smart_monitor_m5.json000066400000000000000000000157131514307616200322460ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/aeotec_home_energy_meter_gen5.json000066400000000000000000000011241514307616200343620ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/base_lock.json000066400000000000000000000030321514307616200303510ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/basic_electric_meter.json000066400000000000000000000006071514307616200325630ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_arlo_doorbell_battery.json000066400000000000000000000040421514307616200335310ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_arlo_go_switch.json000066400000000000000000000032611514307616200321650ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_arlo_pro_3_switch.json000066400000000000000000000032761514307616200326100ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_arlo_siren.json000066400000000000000000000013521514307616200313160ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_humidity.json000066400000000000000000000025031514307616200310140ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_motion_2.json000066400000000000000000000020001514307616200306760ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_shade.json000066400000000000000000000021201514307616200302370ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_switch.json000066400000000000000000000014371514307616200304660ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/c2c_thermostat_bridge_1.json000066400000000000000000000013041514307616200331040ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/car_garage_door.json000066400000000000000000000026401514307616200315310ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/centralite.json000066400000000000000000000021531514307616200305640ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/contact_sensor.json000066400000000000000000000027241514307616200314620ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ac_rac_000001.json000066400000000000000000000557311514307616200311200ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ac_rac_000003.json000066400000000000000000000343571514307616200311230ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ac_rac_01001.json000066400000000000000000000455451514307616200310430ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ac_therac_01011.json000066400000000000000000000156101514307616200315330ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ks_microwave_0101x.json000066400000000000000000000400061514307616200324170ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ks_range_0101x.json000066400000000000000000000466321514307616200315320ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ks_walloven_000003.json000066400000000000000000000507611514307616200322340ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ref_normal_000001.json000066400000000000000000000433061514307616200320270ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ref_normal_01001.json000066400000000000000000000574301514307616200317530ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ref_normal_01011.json000066400000000000000000000544031514307616200317510ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_ref_normal_01011_1.json000066400000000000000000000540241514307616200321700ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_rvc_normal_000001.json000066400000000000000000000163521514307616200320460ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_sac_indoor_00001_sub.json000066400000000000000000000270171514307616200326150ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_sac_wifikit_000001.json000066400000000000000000000101061514307616200321670ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_wm_dw_00001.json000066400000000000000000000512471514307616200307430ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_wm_sc_000001.json000066400000000000000000000632631514307616200310170ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_wm_wd_00001.json000066400000000000000000000472221514307616200307410ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_wm_wm_000001.json000066400000000000000000001045621514307616200310330ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_wm_wm_000001_2.json000066400000000000000000001250771514307616200312600ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_wm_wm_000001_3.json000066400000000000000000001355761514307616200312660ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/da_wm_wm_01011.json000066400000000000000000001711231514307616200307520ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/ecobee_sensor.json000066400000000000000000000021751514307616200312510ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/ecobee_thermostat.json000066400000000000000000000047131514307616200321320ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/fake.json000066400000000000000000000003071514307616200273370ustar00rootroot00000000000000{ "components": { "main": { "fakeCapability": { "fakeAttribute": { "value": "BOOOOOOOM", "timestamp": "2024-12-31T09:18:21.859Z" } } } } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_status/ge_dimmer_assoc.json000066400000000000000000000006401514307616200315510ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/ge_in_wall_smart_dimmer.json000066400000000000000000000006371514307616200333020ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/hub.json000066400000000000000000000000271514307616200272060ustar00rootroot00000000000000{ "components": {} } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_status/hue_color_temperature_bulb.json000066400000000000000000000032401514307616200340300ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/hue_rgbw_color_bulb.json000066400000000000000000000041421514307616200324360ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/ikea_e26.json000066400000000000000000000031571514307616200300240ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/ikea_floor_lamp.json000066400000000000000000000031571514307616200315620ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/ikea_remote_control.json000066400000000000000000000043761514307616200324670ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/im_smarttag2_ble_uwb.json000066400000000000000000000046661514307616200325350ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/im_smarttag_ble_uwb.json000066400000000000000000000046021514307616200324410ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/iphone.json000066400000000000000000000003001514307616200277040ustar00rootroot00000000000000{ "components": { "main": { "presenceSensor": { "presence": { "value": "present", "timestamp": "2023-09-22T18:12:25.012Z" } } } } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_status/ledvance_switch.json000066400000000000000000000017161514307616200316000ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/main_virtual_device.json000066400000000000000000000003651514307616200324460ustar00rootroot00000000000000{ "components": { "main": { "refresh": {}, "legendabsolute60149.createDevice2": { "createDevice": { "value": "Total Devices: 1", "timestamp": "2025-02-05T18:19:42.010Z" } } } } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_status/multipurpose_sensor.json000066400000000000000000000034331514307616200325750ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/sengled.json000066400000000000000000000024141514307616200300530ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/sensibo_airconditioner_1.json000066400000000000000000000024061514307616200334060ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/sonos_player.json000066400000000000000000000211601514307616200311460ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/soundbar_hw_q80_r.json000066400000000000000000000111741514307616200317610ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/switch_binary_indicator.json000066400000000000000000000003071514307616200333320ustar00rootroot00000000000000{ "components": { "main": { "refresh": {}, "switch": { "switch": { "value": "off", "timestamp": "2025-02-09T16:26:22.800Z" } } } } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_status/switch_level.json000066400000000000000000000060171514307616200311250ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_frame_2024.json000066400000000000000000000241671514307616200306750ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_network_audio_002s.json000066400000000000000000000101751514307616200325440ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_network_audio_003s.json000066400000000000000000000131551514307616200325460ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_sensor_light_2023.json000066400000000000000000000045101514307616200322700ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_sensor_sound_2023.json000066400000000000000000000054061514307616200323160ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_stv_2017_k.json000066400000000000000000000165421514307616200307310ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_stv_2018_k.json000066400000000000000000000160621514307616200307270ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_stv_2021.json000066400000000000000000000175221514307616200304110ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_stv_2022.json000066400000000000000000000223431514307616200304070ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_stv_2023.json000066400000000000000000000232141514307616200304060ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/vd_stv_2023_1.json000066400000000000000000000260721514307616200306330ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/virtual_calendar.json000066400000000000000000000101001514307616200317400ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/virtual_contact_sensor.json000066400000000000000000000003221514307616200332200ustar00rootroot00000000000000{ "components": { "main": { "contactSensor": { "contact": { "value": "closed", "timestamp": "2020-05-10T19:25:40.996Z" } }, "refresh": {} } } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_status/virtual_dimmer_lights.json000066400000000000000000000006371514307616200330340ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/virtual_thermostat.json000066400000000000000000000050751514307616200324000ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/virtual_valve.json000066400000000000000000000003101514307616200313060ustar00rootroot00000000000000{ "components": { "main": { "refresh": {}, "valve": { "valve": { "value": "closed", "timestamp": "2025-02-11T11:27:02.262Z" } } } } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/device_status/virtual_water_sensor.json000066400000000000000000000010741514307616200327140ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/yale_push_button_deadbolt_lock.json000066400000000000000000000052151514307616200346660ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/device_status/zooz_zen16_multirelay.json000066400000000000000000000027601514307616200327310ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices.json000066400000000000000000000156551514307616200252250ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_10.json000066400000000000000000001337171514307616200255250ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_11.json000066400000000000000000000651011514307616200255150ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_12.json000066400000000000000000000273471514307616200255300ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_13.json000066400000000000000000000361621514307616200255240ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_14.json000066400000000000000000001533601514307616200255250ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_15.json000066400000000000000000001150221514307616200255170ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_16.json000066400000000000000000000117541514307616200255270ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_17.json000066400000000000000000000036031514307616200255220ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_18.json000066400000000000000000001354321514307616200255310ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_2.json000066400000000000000000001111151514307616200254320ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_3.json000066400000000000000000000122311514307616200254320ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_4.json000066400000000000000000001253121514307616200254400ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_5.json000066400000000000000000001072271514307616200254460ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_6.json000066400000000000000000000607051514307616200254460ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_7.json000066400000000000000000000177421514307616200254520ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_8.json000066400000000000000000005716031514307616200254540ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_9.json000066400000000000000000001026731514307616200254520ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_continued.json000066400000000000000000000730441514307616200272710ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_fake.json000066400000000000000000000035411514307616200262020ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/devices_filtered.json000066400000000000000000000042341514307616200270720ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/event.json000066400000000000000000000011331514307616200247060ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/executed_command.json000066400000000000000000000001621514307616200270720ustar00rootroot00000000000000{ "results": [ { "id": "183359b2-ea00-4b51-87ab-c7f9e1426696", "status": "ACCEPTED" } ] } pySmartThings-pysmartthings-fc7601d/tests/fixtures/health.json000066400000000000000000000001771514307616200250410ustar00rootroot00000000000000{ "deviceId": "612ab3c2-3bb0-48f7-b2c0-15b169cb2fc3", "state": "ONLINE", "lastUpdatedDate": "2025-04-28T11:43:31.600Z" } pySmartThings-pysmartthings-fc7601d/tests/fixtures/installedapp_get_response.json000066400000000000000000000012721514307616200310260ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/installedapps_get_response.json000066400000000000000000000017761514307616200312220ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/installedapps_get_response_2.json000066400000000000000000000015601514307616200314320ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/location.json000066400000000000000000000004271514307616200254020ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/location_update.json000066400000000000000000000004141514307616200267400ustar00rootroot00000000000000{ "eventTime": 1740765012185, "eventType": "LOCATION_LIFECYCLE_EVENT", "locationLifecycleEvent": { "eventId": "75645c9b-f5fc-11ef-9e6f-29646dd608b9", "locationId": "88a3a314-f0c8-40b4-bb44-44ba06c9c42f", "lifecycle": "UPDATE", "update": {} } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/locations.json000066400000000000000000000003471514307616200255660ustar00rootroot00000000000000{ "items": [ { "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "name": "Home" }, { "locationId": "5c03e518-118a-44cb-85ad-7877d0b302e4", "name": "Test Home" } ], "_links": null } pySmartThings-pysmartthings-fc7601d/tests/fixtures/new_device_event.json000066400000000000000000000011741514307616200271030ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/removed_device_event.json000066400000000000000000000010521514307616200277460ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/room.json000066400000000000000000000002411514307616200245400ustar00rootroot00000000000000{ "roomId": "7715151d-0314-457a-a82c-5ce48900e065", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "name": "Theater", "backgroundImage": "Test" } pySmartThings-pysmartthings-fc7601d/tests/fixtures/room_move_event.json000066400000000000000000000011441514307616200267720ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/room_post.json000066400000000000000000000000651514307616200256110ustar00rootroot00000000000000{ "name": "Theater", "backgroundImage": "Test" } pySmartThings-pysmartthings-fc7601d/tests/fixtures/room_put.json000066400000000000000000000000651514307616200254340ustar00rootroot00000000000000{ "name": "Theater", "backgroundImage": "Test" } pySmartThings-pysmartthings-fc7601d/tests/fixtures/rooms.json000066400000000000000000000003361514307616200247300ustar00rootroot00000000000000{ "items": [ { "roomId": "7715151d-0314-457a-a82c-5ce48900e065", "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "name": "Theater", "backgroundImage": null } ], "_links": null } pySmartThings-pysmartthings-fc7601d/tests/fixtures/scene_execute.json000066400000000000000000000000321514307616200264010ustar00rootroot00000000000000{ "status": "success" } pySmartThings-pysmartthings-fc7601d/tests/fixtures/scenes.json000066400000000000000000000016561514307616200250570ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/scenes_location_filter.json000066400000000000000000000010311514307616200302770ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/sse_subscription.json000066400000000000000000000007741514307616200271750ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/subscription_capability_get_response.json000066400000000000000000000005771514307616200333020ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/subscription_device_get_response.json000066400000000000000000000005301514307616200324050ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/subscription_post_request.json000066400000000000000000000002151514307616200311260ustar00rootroot00000000000000{ "sourceType": "CAPABILITY", "capability": { "locationId": "397678e5-9995-4a39-9d9f-ae6ba310236b", "capability": "switch" } } pySmartThings-pysmartthings-fc7601d/tests/fixtures/subscription_post_response.json000066400000000000000000000005171514307616200313010ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/subscriptions_get_response.json000066400000000000000000000023611514307616200312550ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/token_invalid_response.json000066400000000000000000000001651514307616200303350ustar00rootroot00000000000000{ "error": "invalid_grant", "error_description": "Invalid refresh token: a86a5c8e-0014-44a6-8980-5846633972dd" } pySmartThings-pysmartthings-fc7601d/tests/fixtures/token_response.json000066400000000000000000000003011514307616200266170ustar00rootroot00000000000000{ "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-fc7601d/tests/fixtures/update_device_event.json000066400000000000000000000023571514307616200276000ustar00rootroot00000000000000{ "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-fc7601d/tests/ruff.toml000066400000000000000000000011301514307616200226550ustar00rootroot00000000000000# 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-fc7601d/tests/syrupy.py000066400000000000000000000034571514307616200227610ustar00rootroot00000000000000"""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-fc7601d/tests/test_device.py000066400000000000000000000300231514307616200236710ustar00rootroot00000000000000"""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-fc7601d/tests/test_location.py000066400000000000000000000026361514307616200242530ustar00rootroot00000000000000"""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-fc7601d/tests/test_room.py000066400000000000000000000033271514307616200234150ustar00rootroot00000000000000"""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-fc7601d/tests/test_scenes.py000066400000000000000000000037421514307616200237220ustar00rootroot00000000000000"""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-fc7601d/tests/test_smartapp.py000066400000000000000000000043301514307616200242630ustar00rootroot00000000000000"""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, )